
:root{--bg:#f5f7fb;--panel:#ffffff;--panel2:#f8fbff;--line:#dbe4f0;--text:#102544;--muted:#66758c;--brand:#d91433;--brand-dark:#aa0f28;--brand2:#0a2e7a;--brand2-dark:#071f52;--accent-soft:#eef3ff;--green:#1f9d63;--red:#d91433;--blue:#0a2e7a;--radius:18px;--shadow:0 18px 45px rgba(7,31,82,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hide{display:none!important}
.btn{appearance:none;border:1px solid var(--line);background:#fff;color:var(--brand2);padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px rgba(7,31,82,.04)}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;border-color:transparent}.btn.success{background:#e7f8ef;color:var(--green);border-color:#c6edd7}.btn.danger{background:#fff1f3;color:var(--brand);border-color:#ffd0d8}.btn.ghost{background:transparent;box-shadow:none}.btn.sm{padding:7px 10px;font-size:12px}.btn.block{width:100%}
.input,.select,.textarea{width:100%;background:#fff;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 12px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#89a3d6;box-shadow:0 0 0 4px rgba(10,46,122,.08)}.textarea{min-height:100px;resize:vertical}.label{display:block;font-size:12px;color:#5f6f88;font-weight:800;margin-bottom:6px}.field{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;align-items:center;gap:8px;color:#41526b;font-size:14px}.check input{accent-color:var(--brand)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eaf7ef;color:#26824d}.badge.warn{background:#fff1f3;color:var(--brand)}.badge.red{background:#fff1f3;color:var(--brand)}.badge.blue{background:#eef3ff;color:var(--brand2)}
.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--brand2),var(--brand2-dark));border-right:1px solid rgba(255,255,255,.12);height:100vh;position:sticky;top:0;overflow:auto;padding:18px 14px}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand-card{padding:12px;background:#fff;border-radius:18px;box-shadow:0 12px 26px rgba(0,0,0,.12)}.brand-image{width:78px;max-width:78px;height:auto;display:block;flex:0 0 auto}.brand-title{font-size:20px;line-height:1.05;color:var(--brand2-dark)}.brand-sub{color:#6f7d91}.public-brand .brand-title,.login-brand .brand-title,.topbar-brand .brand-title{color:var(--brand2-dark)}
.sidebar .brand{margin:2px 6px 18px}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.56);padding:17px 10px 7px}.side-link{display:flex;gap:10px;align-items:center;padding:11px 12px;margin:4px 0;border-radius:12px;color:rgba(255,255,255,.86);font-size:14px}.side-link:hover,.side-link.active{background:rgba(255,255,255,.14);color:#fff}.side-link span:first-child{width:20px;text-align:center}.main{min-width:0}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:10px 22px}.top-actions{display:flex;align-items:center;gap:9px}.topbar-brand{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:14px;box-shadow:0 4px 14px rgba(7,31,82,.04)}.topbar-logo{width:44px;height:auto;display:block}.topbar-brand-text{font-weight:800;color:var(--brand2-dark)}.content{padding:24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-head h1{margin:0;font-size:30px;color:var(--brand2-dark)}.page-head p{margin:5px 0 0;color:var(--muted)}.menu-btn{display:none}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:18px}.card .num{font-size:28px;font-weight:900;margin-top:6px;color:var(--brand2-dark)}.panel{padding:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-title h3{margin:0;color:var(--brand2-dark)}.split{display:grid;grid-template-columns:1.35fr .8fr;gap:16px;margin-top:16px}.split.equal{grid-template-columns:1fr 1fr}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.toolbar .input,.toolbar .select{width:auto;min-width:180px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}.table th{color:#5f6f88;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#f8fbff}.table tr:last-child td{border-bottom:0}.right{text-align:right!important}.actions{display:flex;gap:7px;flex-wrap:wrap}.empty{padding:28px;text-align:center;color:var(--muted)}
.flash{padding:12px 14px;border:1px solid #c9ebd7;background:#effaf3;border-radius:12px;margin-bottom:15px}.warning{padding:12px 14px;border:1px solid #ffd9df;background:#fff5f7;border-radius:12px;color:#9e1530}.danger-box{padding:12px 14px;border:1px solid #ffc2cc;background:#fff1f3;border-radius:12px;color:#8f1028}
/* public */
.public-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.public-nav .inner{max-width:1240px;margin:auto;padding:0 20px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px}.public-brand{gap:14px}.public-brand-image{width:128px;max-width:128px}.public-links{display:flex;gap:8px;align-items:center}.public-links a{padding:9px 11px;border-radius:10px;color:var(--brand2)}.public-links a:hover{background:#eef3ff;color:var(--brand2-dark)}.public-container{max-width:1240px;margin:auto;padding:0 20px}.hero{padding:78px 0 65px;background:radial-gradient(circle at 15% 0%,rgba(10,46,122,.09),transparent 32%),radial-gradient(circle at 85% 5%,rgba(217,20,51,.10),transparent 30%),linear-gradient(180deg,#ffffff,#f7f9fe)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}.eyebrow{display:inline-flex;padding:6px 10px;border:1px solid rgba(10,46,122,.12);background:#eef3ff;color:var(--brand2);border-radius:999px;font-size:12px;font-weight:850}.hero h1{font-size:clamp(43px,6vw,74px);line-height:.96;margin:17px 0;color:var(--brand2-dark)}.hero p{font-size:18px;line-height:1.6;color:var(--muted)}.hero-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:23px;padding:18px;box-shadow:var(--shadow)}.hero-logo-wrap{display:flex;justify-content:center;align-items:center;padding:8px 0 18px}.hero-logo{max-width:360px;width:100%;height:auto;display:block}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-stat{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.mini-stat strong{display:block;font-size:24px;margin-top:5px;color:var(--brand2-dark)}.section{padding:58px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.section-head h2{margin:0;font-size:32px;color:var(--brand2-dark)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s;box-shadow:0 10px 26px rgba(7,31,82,.05)}.product-card:hover{transform:translateY(-2px);border-color:#9ab0db}.product-img{aspect-ratio:1.16;background:linear-gradient(135deg,#f9fbff,#eef3ff);display:grid;place-items:center;overflow:hidden;color:#95a2b7;font-size:44px}.product-img img{width:100%;height:100%;object-fit:cover}.product-body{padding:14px}.product-name{font-weight:850;color:var(--brand2-dark)}.price{font-weight:900;color:var(--brand);font-size:18px;margin-top:8px}.old-price{text-decoration:line-through;color:#7d8ca1;font-size:13px;margin-left:6px}.stock-state{margin-top:9px;color:var(--brand2);font-size:12px;font-weight:700}.footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);margin-top:50px;background:#fff}.footer-brand-row{display:flex;align-items:center;gap:12px}.footer-logo{width:88px;height:auto;display:block}
.product-page{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:45px 0}.product-main-img{background:#fff;border:1px solid var(--line);border-radius:20px;min-height:430px;display:grid;place-items:center;overflow:hidden;font-size:80px;color:#8ca0b8}.product-main-img img{width:100%;height:100%;object-fit:cover}.variant-list{display:grid;gap:8px;margin:14px 0}.variant-option{border:1px solid var(--line);background:#fff;padding:11px;border-radius:11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.qr-box{display:flex;align-items:center;gap:14px;margin-top:20px;padding:14px;border:1px dashed #9ab0db;border-radius:13px;background:#f9fbff}.qr-box img{width:105px;height:105px;background:white;padding:5px;border-radius:8px}.details{display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:16px;background:#fff}.details div{padding:10px 12px;border-bottom:1px solid var(--line)}.details div:nth-last-child(-n+2){border-bottom:0}.details .k{color:var(--muted);background:#f8fbff}
/* POS */
.pos-layout{display:grid;grid-template-columns:1.5fr .75fr;gap:15px}.pos-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:calc(100vh - 205px);overflow:auto;padding-right:3px}.pos-item{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;cursor:pointer;box-shadow:0 6px 18px rgba(7,31,82,.04)}.pos-item:hover{border-color:#9ab0db}.pos-item.disabled{opacity:.42;pointer-events:none}.pos-item .price{font-size:15px}.cart{position:sticky;top:88px}.cart-row{display:grid;grid-template-columns:1fr 70px 90px 28px;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.cart-row input{min-width:0}.totals{margin-top:12px}.total-line{display:flex;justify-content:space-between;padding:7px 0}.total-line.grand{font-size:20px;font-weight:900;border-top:1px solid var(--line);margin-top:5px;padding-top:12px;color:var(--brand)}
/* login */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(10,46,122,.08),transparent 30%),radial-gradient(circle at 80% 0,rgba(217,20,51,.08),transparent 26%)}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.login-card .brand{margin-bottom:20px}.login-brand-image{width:110px;max-width:110px}
/* permissions */
.perm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.perm-item{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.perm-item.in-role{opacity:.55}.module-head{grid-column:1/-1;color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-top:8px}
/* invoice */
.invoice-wrap{max-width:850px;margin:30px auto;background:white;color:#111;border-radius:14px;padding:34px;border:1px solid #e4ebf4;box-shadow:0 12px 28px rgba(7,31,82,.06)}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--brand2);padding-bottom:20px}.invoice-logo{max-width:220px;max-height:90px;object-fit:contain}.invoice-title{color:var(--brand2-dark);margin:0 0 10px}.invoice-table{width:100%;border-collapse:collapse;margin:25px 0}.invoice-table th,.invoice-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.invoice-table th{color:var(--brand2-dark)}.invoice-totals{margin-left:auto;width:320px}.invoice-totals div{display:flex;justify-content:space-between;padding:6px 0}.invoice-totals .grand{font-size:20px;font-weight:800;border-top:2px solid var(--brand);margin-top:6px;padding-top:10px;color:var(--brand)}.invoice-actions{max-width:850px;margin:20px auto;display:flex;gap:10px}.return-box{max-width:850px;margin:15px auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
@media(max-width:1050px){.cards{grid-template-columns:1fr 1fr}.split,.pos-layout,.hero-grid,.product-page{grid-template-columns:1fr}.pos-products{max-height:none}.cart{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:280px;z-index:60;transition:.2s}.sidebar.open{left:0}.menu-btn{display:inline-flex}.content{padding:16px}.topbar{padding:9px 15px}.topbar-brand-text{display:none}.public-links a:not(.keep){display:none}.form-grid,.form-grid.three,.perm-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.toolbar .input,.toolbar .select{width:100%}}
@media(max-width:560px){.cards,.product-grid,.mini-grid{grid-template-columns:1fr}.hero{padding:55px 0}.hero h1{font-size:44px}.pos-products{grid-template-columns:1fr 1fr}.cart-row{grid-template-columns:1fr 58px 70px 25px}.details{grid-template-columns:110px 1fr}.invoice-wrap{margin:0;border-radius:0;padding:20px}.invoice-actions{padding:0 12px}.public-nav .inner{padding:0 14px}.public-container{padding:0 14px}.brand-image{width:66px}.public-brand-image{width:92px}.footer-brand-row{flex-direction:column;align-items:flex-start}}
@media print{body{background:white}.invoice-actions,.return-box{display:none}.invoice-wrap{margin:0;max-width:none;box-shadow:none;border:0}.invoice-wrap *{color:#111!important}.invoice-wrap{padding:0}}
.positive{color:var(--green)}.negative{color:var(--red)}

/* =========================================================
   MOCA FLOW 73 · PUBLIC EXPERIENCE V4
   ========================================================= */
.announce-bar{background:var(--brand2-dark);color:#fff;font-size:12px;letter-spacing:.01em}.announce-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.announce-inner a{color:#fff;font-weight:800;opacity:.9}.public-nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,31,82,.09)}.public-nav .inner{max-width:1280px;min-height:94px;padding:0 24px}.public-logo-link{display:flex;align-items:center}.public-brand-image{width:154px!important;max-width:154px!important;height:auto!important;display:block}.public-links{gap:4px}.public-links>a:not(.btn){font-size:14px;font-weight:750;padding:10px 11px}.public-links .staff-link{margin-left:4px;border-color:#cfd9e8}.cart-link{display:flex!important;align-items:center;gap:5px}.public-container{max-width:1280px;padding-left:24px;padding-right:24px}.section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:var(--brand2)}.section-kicker.red{color:var(--brand)}.section-kicker.light{color:rgba(255,255,255,.8)}.text-link{font-weight:850;color:var(--brand2)}

.shop-hero{position:relative;overflow:hidden;padding:72px 0 76px;background:radial-gradient(circle at 80% 12%,rgba(217,20,51,.10),transparent 28%),radial-gradient(circle at 10% 20%,rgba(10,46,122,.10),transparent 32%),#f8faff}.shop-hero:after{content:"";position:absolute;inset:auto -8% -120px 40%;height:240px;background:linear-gradient(90deg,rgba(10,46,122,.06),rgba(217,20,51,.05));transform:rotate(-7deg);border-radius:50%}.shop-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:66px;align-items:center}.hero-copy{max-width:620px}.hero-kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#50647f}.hero-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 5px rgba(217,20,51,.1)}.hero-copy h1{font-size:clamp(56px,6vw,90px);line-height:.91;letter-spacing:-.055em;margin:20px 0 24px;color:var(--brand2-dark)}.hero-copy h1 em{font-style:normal;color:var(--brand)}.hero-copy>p{font-size:19px;line-height:1.65;color:#64748b;max-width:590px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-btn{min-height:52px;padding:0 23px;font-size:15px;border-radius:14px}.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:12px;font-weight:800;color:#5e6f86}.trust-row span:before{color:var(--green)}
.hero-showcase{position:relative;min-height:500px;border-radius:34px;background:linear-gradient(145deg,#071f52,#0b347f 56%,#11295d);box-shadow:0 34px 80px rgba(7,31,82,.22);overflow:hidden;padding:30px}.hero-showcase:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-100px;top:-100px;background:rgba(217,20,51,.18);filter:blur(4px)}.showcase-brand{position:relative;z-index:2;background:#fff;border-radius:22px;padding:18px 22px;width:260px;box-shadow:0 16px 34px rgba(0,0,0,.12)}.showcase-brand img{width:100%;height:auto;display:block}.showcase-stack{position:absolute;inset:118px 26px 78px 26px}.showcase-product{position:absolute;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.65);box-shadow:0 18px 45px rgba(0,0,0,.18);border-radius:18px;padding:12px 15px;width:270px;transition:.2s}.showcase-product:hover{transform:translateY(-3px) rotate(0deg)!important}.showcase-product.p1{right:0;top:4px;transform:rotate(2deg)}.showcase-product.p2{left:10px;top:132px;transform:rotate(-2deg)}.showcase-product.p3{right:8px;top:260px;transform:rotate(1deg)}.showcase-thumb{width:64px;height:64px;border-radius:14px;background:#edf3ff;display:grid;place-items:center;overflow:hidden;color:var(--brand2);font-weight:900}.showcase-thumb img{width:100%;height:100%;object-fit:cover}.showcase-product div:last-child{min-width:0}.showcase-product small{display:block;color:#75849a;font-size:10px}.showcase-product strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0;color:var(--brand2-dark)}.showcase-product b{color:var(--brand);font-size:13px}.showcase-note{position:absolute;left:30px;bottom:25px;color:#fff;display:flex;gap:10px;align-items:baseline}.showcase-note strong{font-size:17px}.showcase-note span{font-size:12px;color:rgba(255,255,255,.72)}

.category-section{padding-top:56px;padding-bottom:36px;background:#fff}.section-head{align-items:flex-end}.section-head h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em;margin-top:5px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-card{min-height:112px;background:#f8faff;border:1px solid #e1e8f2;border-radius:18px;padding:16px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;transition:.2s}.category-card:hover{background:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(7,31,82,.08);border-color:#bccbe1}.category-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--brand2);color:#fff;font-size:19px;font-weight:900}.category-card strong{display:block;color:var(--brand2-dark)}.category-card small{display:block;color:#77869a;margin-top:3px}
.products-section{background:#fff}.home-products{grid-template-columns:repeat(4,minmax(0,1fr))}.home-products .product-card{border-radius:20px}.home-products .product-img{aspect-ratio:1/1;background:linear-gradient(145deg,#f8faff,#edf2fb);position:relative}.placeholder-mark{font-weight:950;letter-spacing:-.05em;color:#9aa9be;font-size:28px}.sale-chip{position:absolute;top:12px;left:12px;background:var(--brand);color:#fff;font-size:10px;font-weight:900;padding:7px 9px;border-radius:999px}.home-products .product-body{padding:17px}.home-products .product-name{font-size:16px;margin-top:4px}.home-products .price{font-size:19px}
.usa-banner{padding:72px 0;background:linear-gradient(120deg,var(--brand2-dark),#0b347f 62%,#163f8c);color:#fff;overflow:hidden;position:relative}.usa-banner:before{content:"";position:absolute;right:-80px;top:-160px;width:460px;height:460px;border:80px solid rgba(255,255,255,.04);border-radius:50%}.usa-banner-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative}.usa-banner h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.045em;margin:7px 0 14px}.usa-banner p{max-width:700px;color:rgba(255,255,255,.78);font-size:17px;line-height:1.65}.white-btn{background:#fff;color:var(--brand2-dark);border:0;margin-top:12px}.usa-card{justify-self:end;min-width:320px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:30px;backdrop-filter:blur(10px)}.usa-flag{display:inline-flex;background:#fff;color:var(--brand);font-weight:950;padding:7px 11px;border-radius:9px;margin-bottom:35px}.usa-card strong{font-size:28px;line-height:1.05;display:block}.usa-card small{display:block;margin-top:16px;color:rgba(255,255,255,.7)}
.raffle-promo{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,#fff1f4,#fff 55%,#edf3ff);border:1px solid #f0cbd3;border-radius:28px;padding:34px 38px;box-shadow:0 18px 45px rgba(7,31,82,.07)}.raffle-promo h2{font-size:38px;letter-spacing:-.04em;margin:6px 0}.raffle-promo p{color:#5f6f84}.raffle-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.raffle-meta span{background:#fff;border:1px solid #e8dce1;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.raffle-number{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:48px;font-weight:950;box-shadow:0 15px 30px rgba(217,20,51,.22)}.raffle-number small{font-size:10px;margin-top:-34px}
.lottery-home{background:#f6f8fc}.lottery-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.lottery-mini{background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:14px;min-width:0}.lottery-mini.featured{background:linear-gradient(150deg,var(--brand2-dark),#0b3b91);color:#fff;border-color:transparent;box-shadow:0 16px 30px rgba(7,31,82,.18)}.lottery-mini-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.lottery-mini-top strong{font-size:12px}.lottery-mini-top span{font-size:9px;opacity:.7}.lottery-mini small{display:block;font-size:9px;opacity:.65;margin-top:9px}.lottery-balls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lottery-balls b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef3ff;color:var(--brand2-dark);font-size:13px;border:1px solid #d8e3f4}.lottery-mini.featured .lottery-balls b{background:#fff;color:var(--brand2-dark);border-color:#fff}.why-section{background:#fff}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.why-grid>div{padding:38px 34px;border-right:1px solid var(--line)}.why-grid>div:last-child{border-right:0}.why-num{display:block;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:18px}.why-grid strong{font-size:19px;color:var(--brand2-dark)}.why-grid p{color:#6e7d91;line-height:1.55;font-size:14px}
.public-footer{background:#071a41;color:#fff;border:0;margin:0;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:45px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid strong{font-size:13px;margin-bottom:8px}.footer-grid a,.footer-grid span,.footer-grid p{font-size:12px;color:rgba(255,255,255,.65);margin:0}.footer-grid a:hover{color:#fff}.footer-logo{width:150px!important}.footer-bottom{margin-top:45px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:25px;font-size:10px;color:rgba(255,255,255,.48)}

/* Lottery public */
.lottery-hero{padding:68px 0;background:linear-gradient(120deg,#071f52,#0b347f 65%,#d91433);color:#fff}.lottery-hero h1{font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.05em;margin:10px 0 16px}.lottery-hero h1 em{font-style:normal;color:#ffd9df}.lottery-hero p{max-width:820px;color:rgba(255,255,255,.77);font-size:17px;line-height:1.6}.lottery-search-section{background:#f7f9fd}.lottery-search{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:12px;margin-top:-84px;position:relative;z-index:3;box-shadow:0 22px 45px rgba(7,31,82,.14)}.lottery-search .field{margin:0}.lottery-title-row{display:flex;justify-content:space-between;align-items:end;margin:48px 0 20px}.lottery-title-row h2{margin:4px 0 0;font-size:36px;letter-spacing:-.035em}.source-note{font-size:11px;color:#7a899d}.lottery-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lottery-result-card{background:#fff;border:1px solid #dfe6f0;border-radius:20px;padding:18px;box-shadow:0 9px 24px rgba(7,31,82,.04)}.lottery-result-card.primary{background:linear-gradient(145deg,#071f52,#0a347e);color:#fff;border:0;box-shadow:0 20px 38px rgba(7,31,82,.2)}.lottery-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.lottery-card-head>div{display:flex;gap:8px;align-items:center}.lottery-brand-dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}.primary-pill{font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:var(--brand);color:#fff;padding:5px 7px;border-radius:999px}.lottery-draw-name{font-size:11px;color:#78879a;margin:9px 0 14px}.primary .lottery-draw-name{color:rgba(255,255,255,.65)}.lottery-balls.large{gap:10px}.lottery-balls.large b{width:54px;height:54px;font-size:20px;background:#eef3ff}.primary .lottery-balls.large b{background:#fff}.lottery-card-foot{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-top:16px;font-size:10px;color:#77879c}.lottery-card-foot strong{color:inherit;font-size:12px}.primary .lottery-card-foot{color:rgba(255,255,255,.7)}.lottery-directory{margin-top:50px}.lottery-directory h3{font-size:25px}.lottery-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.directory-link{display:grid;grid-template-columns:1fr auto;gap:3px 15px;background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px}.directory-link strong{color:var(--brand2-dark)}.directory-link span{font-size:10px;color:#77879b;grid-column:1}.directory-link b{grid-row:1/3;grid-column:2;align-self:center}.directory-link.featured{border-color:#9cb0d5;background:#eef3ff}
.lottery-detail-hero{padding:54px 0;background:#f4f7fc;border-bottom:1px solid var(--line)}.lottery-detail-hero.primary{background:linear-gradient(125deg,#071f52,#0b347f 70%,#d91433);color:#fff}.back-link{display:inline-block;font-size:12px;font-weight:800;color:var(--brand2);margin-bottom:22px}.back-link.light,.primary .back-link{color:rgba(255,255,255,.78)}.lottery-detail-title{display:flex;justify-content:space-between;align-items:end;gap:30px}.lottery-detail-title h1{font-size:clamp(42px,5vw,70px);letter-spacing:-.05em;margin:4px 0}.lottery-detail-title p{opacity:.7}.official-focus{text-align:right;font-size:11px;opacity:.8}.official-focus strong{display:block;font-size:38px;color:#fff;opacity:1}.exact-result{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #dfE7f2;border-left:5px solid var(--brand);border-radius:22px;padding:24px;margin:32px 0}.exact-result h2{margin:5px 0;font-size:27px}.lottery-balls.xlarge b{width:70px;height:70px;font-size:27px;background:var(--brand2);color:#fff}.result-source{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;color:#77879a;font-size:11px}.history-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.history-table{width:100%;border-collapse:collapse;min-width:760px}.history-table th,.history-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.history-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#728096;background:#f8faff}.lottery-balls.compact b{width:34px;height:34px}.seo-copy{max-width:850px;margin:50px auto 0;padding-top:30px;border-top:1px solid var(--line)}.seo-copy h2{font-size:28px}.seo-copy p{color:#697a91;line-height:1.7}.empty-state{text-align:center;padding:60px 20px;border:1px dashed #cbd6e7;border-radius:20px;background:#fff}.empty-state h3{color:var(--brand2-dark)}

/* Raffles */
.raffles-hero{padding:64px 0;background:linear-gradient(125deg,#d91433,#a80e28 48%,#071f52);color:#fff}.raffles-hero h1{font-size:clamp(48px,6vw,78px);letter-spacing:-.05em;margin:8px 0}.raffles-hero p{font-size:17px;color:rgba(255,255,255,.8)}.raffle-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.raffle-public-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;overflow:hidden}.raffle-public-card.active{border-color:#efb8c2;box-shadow:0 18px 45px rgba(217,20,51,.09)}.raffle-public-card h2{font-size:27px;letter-spacing:-.03em;margin:14px 0 6px}.raffle-status{display:inline-block;background:#eef2f8;color:#5f6e84;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;text-transform:uppercase}.raffle-public-card.active .raffle-status{background:#fff0f3;color:var(--brand)}.raffle-prize{font-size:19px;font-weight:900;color:var(--brand)}.raffle-public-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.raffle-public-stats span{background:#f8faff;border-radius:13px;padding:12px}.raffle-public-stats b,.raffle-public-stats small{display:block}.raffle-public-stats small{font-size:9px;color:#7c8a9d;margin-top:3px}.raffle-date,.raffle-lottery{font-size:11px;color:#6d7c91;margin-top:5px}.winner-ribbon{margin:18px -22px -22px;padding:12px 22px;background:var(--brand2);color:#fff;font-weight:850}.raffle-detail-hero{padding:64px 0;background:linear-gradient(125deg,#071f52,#0c3c91 55%,#d91433);color:#fff}.raffle-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.raffle-detail-hero h1{font-size:clamp(44px,5vw,72px);letter-spacing:-.05em;margin:8px 0}.raffle-detail-hero p{color:rgba(255,255,255,.72);font-size:16px}.raffle-prize-big{margin-top:28px}.raffle-prize-big small,.raffle-prize-big strong{display:block}.raffle-prize-big small{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:rgba(255,255,255,.6)}.raffle-prize-big strong{font-size:30px;margin-top:5px}.raffle-rule-card{background:#fff;color:var(--text);border-radius:24px;padding:26px;box-shadow:0 25px 55px rgba(0,0,0,.18)}.rule-number{font-size:42px;font-weight:950;color:var(--brand)}.raffle-rule-card p{color:#6b7a8f!important;line-height:1.55}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.rule-grid span{padding:12px;background:#f5f8fc;border-radius:12px}.rule-grid b,.rule-grid small{display:block}.rule-grid small{font-size:9px;color:#7c8999;margin-top:3px}.number-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.number-cell{aspect-ratio:1;border:1px solid #dfe6ef;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#94a0b2}.number-cell b{font-size:13px}.number-cell small{font-size:7px}.number-cell.sold{background:#eef3ff;border-color:#b9cae6;color:var(--brand2);font-weight:900}.number-cell.winner{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 5px 14px rgba(217,20,51,.25)}.number-grid.admin{grid-template-columns:repeat(10,1fr)}.winner-panel{margin-top:35px;background:#fff2f4;border:1px solid #f1c5ce;border-radius:22px;padding:25px}.winner-panel h2{font-size:30px;color:var(--brand2-dark)}.rules-copy{margin-top:35px;border-top:1px solid var(--line);padding-top:25px;max-width:850px}.rules-copy p{color:#6c7c90;line-height:1.65}.winner-row{background:#fff0f3!important}.invoice-raffles{margin-top:30px;padding:18px;border:2px solid #0a2e7a;border-radius:14px;background:#f7f9ff}.invoice-raffle-title{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d6e0ef;padding-bottom:11px;margin-bottom:12px}.invoice-raffle-title span{font-size:11px;color:#617087}.invoice-ticket{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:12px 0;border-bottom:1px dashed #d4deeb}.invoice-ticket:last-child{border-bottom:0}.ticket-number{background:var(--brand);color:#fff;border-radius:12px;padding:10px;text-align:center}.ticket-number small,.ticket-number b,.ticket-number em{display:block}.ticket-number b{font-size:34px}.ticket-number em{font-size:8px}.invoice-ticket>div:last-child{font-size:11px;line-height:1.5}.ticket-rule{margin-top:5px;color:#6a788b;font-size:9px}

@media(max-width:1100px){.shop-hero-grid{gap:32px}.lottery-strip{grid-template-columns:repeat(4,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.lottery-results-grid,.raffle-public-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.announce-inner a{display:none}.public-nav .inner{min-height:76px}.public-brand-image{width:122px!important;max-width:122px!important}.public-links>a:not(.keep){display:none}.shop-hero{padding-top:50px}.shop-hero-grid,.usa-banner-grid,.raffle-detail-grid{grid-template-columns:1fr}.hero-showcase{min-height:460px}.usa-card{justify-self:stretch;min-width:0}.home-products{grid-template-columns:repeat(2,1fr)}.lottery-search{grid-template-columns:1fr 1fr;margin-top:-45px}.lottery-search button,.lottery-search .btn{width:100%}.lottery-directory-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:1fr}.why-grid>div{border-right:0;border-bottom:1px solid var(--line)}.why-grid>div:last-child{border-bottom:0}.raffle-promo{grid-template-columns:1fr}.raffle-number{width:90px;height:90px;font-size:34px}.number-grid{grid-template-columns:repeat(10,1fr)}}
@media(max-width:620px){.announce-inner{justify-content:center;text-align:center}.public-container{padding-left:16px;padding-right:16px}.public-nav .inner{padding:0 16px}.public-brand-image{width:108px!important;max-width:108px!important}.hero-copy h1{font-size:54px}.hero-copy>p{font-size:16px}.hero-actions .btn{width:100%}.trust-row{gap:10px}.hero-showcase{min-height:420px;padding:18px}.showcase-brand{width:205px}.showcase-stack{inset:100px 16px 65px}.showcase-product{width:235px;padding:9px}.showcase-product.p2{top:116px}.showcase-product.p3{top:230px}.showcase-thumb{width:52px;height:52px}.showcase-note{left:18px;bottom:15px}.category-grid,.home-products,.lottery-results-grid,.raffle-public-grid,.lottery-directory-grid{grid-template-columns:1fr}.lottery-strip{grid-template-columns:repeat(2,1fr)}.lottery-search{grid-template-columns:1fr;margin-top:-30px}.lottery-title-row{align-items:flex-start;flex-direction:column;gap:8px}.lottery-detail-title{align-items:flex-start;flex-direction:column}.exact-result{grid-template-columns:1fr}.lottery-balls.xlarge b{width:58px;height:58px}.raffle-promo{padding:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.number-grid,.number-grid.admin{grid-template-columns:repeat(5,1fr)}.invoice-ticket{grid-template-columns:70px 1fr}.ticket-number b{font-size:28px}}

/* =========================================================
   Moca Flow 73 V5 · Ecommerce polish, themes and CMS builder
   ========================================================= */
html[data-theme="dark"]{--bg:#07090d;--panel:#10141b;--panel2:#141923;--line:#252d3a;--text:#f5f7fb;--muted:#9aa7ba;--brand2:#dfe8ff;--brand2-dark:#ffffff;--accent-soft:#151d2b;--shadow:0 18px 45px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:#07090d;color:var(--text)}
.logo-for-dark{display:none!important}html[data-theme="dark"] .logo-for-light{display:none!important}html[data-theme="dark"] .logo-for-dark{display:block!important}
.theme-toggle{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);display:grid;place-items:center;cursor:pointer}.theme-toggle .theme-moon{display:none}html[data-theme="dark"] .theme-toggle .theme-sun{display:none}html[data-theme="dark"] .theme-toggle .theme-moon{display:inline}
html[data-theme="dark"] .public-nav{background:rgba(7,9,13,.92);border-color:#202733}html[data-theme="dark"] .public-links a{color:#e5ebf5}html[data-theme="dark"] .public-links a:hover{background:#171d27;color:#fff}html[data-theme="dark"] .btn:not(.primary):not(.white-btn){background:#111722;color:#f5f7fb;border-color:#2b3443}html[data-theme="dark"] .section,html[data-theme="dark"] .category-section,html[data-theme="dark"] .products-section{background:#07090d}html[data-theme="dark"] .product-card,html[data-theme="dark"] .category-card,html[data-theme="dark"] .lottery-mini,html[data-theme="dark"] .panel,html[data-theme="dark"] .history-table-wrap,html[data-theme="dark"] .exact-result,html[data-theme="dark"] .raffle-public-card,html[data-theme="dark"] .empty-state{background:#10141b;border-color:#252d3a;color:#f5f7fb}html[data-theme="dark"] .product-name,html[data-theme="dark"] .section-head h2,html[data-theme="dark"] .category-card strong,html[data-theme="dark"] .panel-title h3,html[data-theme="dark"] .lottery-directory h3{color:#f8fafc}html[data-theme="dark"] .product-img{background:linear-gradient(135deg,#151b25,#0e1218)}html[data-theme="dark"] .category-icon{background:#171f2d;color:#fff}html[data-theme="dark"] .lottery-mini:not(.featured) .lottery-balls b{background:#1d2533;color:#fff}html[data-theme="dark"] .why-grid{background:#10141b;border-color:#252d3a}html[data-theme="dark"] .why-grid>div{border-color:#252d3a}html[data-theme="dark"] .public-footer{background:#030509}html[data-theme="dark"] .input,html[data-theme="dark"] .select,html[data-theme="dark"] .textarea{background:#0b0f15;color:#fff;border-color:#2b3442}html[data-theme="dark"] .lottery-detail-hero:not(.primary){background:#0d1118;color:#fff;border-color:#252d3a}html[data-theme="dark"] .history-table th{background:#151a23;color:#aeb8c7}html[data-theme="dark"] .history-table td{border-color:#252d3a}html[data-theme="dark"] .seo-copy{border-color:#252d3a}html[data-theme="dark"] .seo-copy p{color:#a1adbd}

/* Tight, intentional brand sizing */
.public-logo-link{display:flex;align-items:center;flex:0 0 auto;height:72px}.public-brand-image{display:block;width:178px!important;max-width:178px!important;height:auto;object-fit:contain}.public-nav .inner{min-height:88px}.footer-logo{width:190px!important;max-width:190px!important;height:auto}.public-footer .footer-logo{filter:none}.topbar-logo{object-fit:contain}

/* Professional offer slider */
.shop-hero{position:relative;overflow:hidden;padding:74px 0 82px;background:radial-gradient(circle at 12% 20%,rgba(10,46,122,.12),transparent 35%),radial-gradient(circle at 86% 8%,rgba(217,20,51,.10),transparent 31%),linear-gradient(180deg,#fff,#f7f9fd)}
html[data-theme="dark"] .shop-hero{background:radial-gradient(circle at 12% 20%,rgba(33,71,150,.22),transparent 35%),radial-gradient(circle at 86% 8%,rgba(217,20,51,.14),transparent 31%),linear-gradient(180deg,#080b10,#0d1118)}
.shop-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);gap:64px;align-items:center}.hero-copy h1{font-size:clamp(54px,6vw,86px);line-height:.93;letter-spacing:-.055em;margin:13px 0 20px;color:var(--brand2-dark);max-width:720px}.hero-copy>p{max-width:650px;font-size:18px;line-height:1.65;color:var(--muted)}.hero-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:10px;color:var(--brand2)}.hero-kicker .dot{width:7px;height:7px;background:var(--brand);border-radius:50%}.hero-actions{display:flex;gap:10px;margin:28px 0 22px}.hero-btn{padding:13px 19px}.trust-row{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:800;color:var(--muted)}
.offer-slider{position:relative;min-height:520px;border-radius:30px;background:linear-gradient(135deg,#071f52,#0c3c91 62%,#d91433);padding:24px;box-shadow:0 30px 70px rgba(7,31,82,.22);overflow:hidden}.offer-slider:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08);right:-130px;top:-140px}.offer-slider:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(255,255,255,.11);left:-120px;bottom:-120px}.slider-stage{position:relative;min-height:472px}.offer-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:24px;opacity:0;transform:translateX(28px) scale(.985);pointer-events:none;transition:opacity .45s ease,transform .45s ease;z-index:1}.offer-slide.is-active{opacity:1;transform:none;pointer-events:auto;z-index:2}.offer-visual{height:410px;position:relative;display:grid;place-items:center;border-radius:23px;background:rgba(255,255,255,.96);overflow:hidden}.offer-visual img{width:100%;height:100%;object-fit:contain;padding:18px}.offer-placeholder{font-weight:950;font-size:54px;color:#d5dceb;letter-spacing:-.06em}.sale-pill{position:absolute;left:14px;top:14px;background:var(--brand);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:950;letter-spacing:.04em}.offer-info{position:relative;z-index:4;color:#fff}.offer-info small{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:rgba(255,255,255,.64);margin-bottom:8px}.offer-info h3{font-size:31px;line-height:1.02;letter-spacing:-.04em;margin:0 0 16px}.offer-prices{display:flex;align-items:baseline;gap:9px;margin-bottom:20px}.offer-prices strong{font-size:28px}.offer-prices span{text-decoration:line-through;color:rgba(255,255,255,.55);font-size:13px}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.22);color:#fff;font-size:28px;display:grid;place-items:center;z-index:8;cursor:pointer;backdrop-filter:blur(8px)}.slider-arrow.prev{left:12px}.slider-arrow.next{right:12px}.slider-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:8}.slider-dots button{width:7px;height:7px;border-radius:10px;border:0;background:rgba(255,255,255,.4);padding:0;cursor:pointer}.slider-dots button.active{width:24px;background:#fff}

/* Customer account */
.account-auth{min-height:68vh;display:flex;align-items:center}.auth-wrap{display:grid;grid-template-columns:1fr 480px;gap:70px;align-items:center}.auth-copy h1{font-size:clamp(48px,6vw,75px);letter-spacing:-.055em;line-height:.96;margin:12px 0}.auth-copy p{font-size:18px;color:var(--muted);max-width:600px}.auth-card{padding:30px}.auth-card h2{font-size:30px;margin:0 0 20px}.account-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:25px}.account-head h1{font-size:42px;margin:4px 0}.account-tabs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-list{display:grid}.account-list>a,.account-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.account-list>a:last-child,.account-list>div:last-child{border-bottom:0}.account-list strong,.account-list small{display:block}.account-list small{color:var(--muted);margin-top:3px}.ticket-account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.account-ticket{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.account-ticket span,.account-ticket small,.account-ticket code,.account-ticket em{display:block}.account-ticket strong{font-size:38px;color:var(--brand);line-height:1}.account-ticket small{font-weight:800;margin:5px 0}.account-ticket code{font-size:9px;color:var(--muted);word-break:break-all}.account-ticket em{font-style:normal;font-size:9px;margin-top:7px;color:var(--muted)}

/* Homepage builder */
.builder-global{margin-bottom:16px}.builder-help{padding:12px 15px;border-radius:14px;background:#eef3ff;border:1px solid #cedbf0;color:#274373;margin-bottom:16px}.builder-sections{display:grid;gap:16px}.builder-card{scroll-margin-top:88px}.builder-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.builder-card-head>div:first-child{display:flex;align-items:center;gap:12px}.builder-card-head h3{margin:0}.builder-order{width:34px;height:34px;border-radius:10px;background:var(--brand2);color:#fff;font-weight:900;display:grid;place-items:center}.builder-enabled{margin-bottom:16px;font-weight:900}

/* Cleaner invoice raffle ticket */
.invoice-ticket.single{grid-template-columns:110px 1fr;border-bottom:0}.invoice-ticket.single .ticket-number{min-height:104px;display:flex;flex-direction:column;justify-content:center}.invoice-ticket.single .ticket-number b{font-size:48px;line-height:1}

/* Internal sidebar scrollbar */
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.36) transparent}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5);background-clip:padding-box}

/* Dark-mode compatibility for public hard-coded surfaces */
html[data-theme="dark"] .shop-hero .hero-copy h1{color:#fff}html[data-theme="dark"] .offer-slider{box-shadow:0 30px 70px rgba(0,0,0,.35)}html[data-theme="dark"] .lottery-search-section{background:#07090d}html[data-theme="dark"] .directory-link{background:#10141b;border-color:#252d3a}html[data-theme="dark"] .directory-link strong{color:#fff}html[data-theme="dark"] .directory-link.featured{background:#0a2e7a;border-color:#1c4fa4;color:#fff}html[data-theme="dark"] .directory-link.featured strong{color:#fff}html[data-theme="dark"] .raffle-rule-card{background:#111722;color:#fff}html[data-theme="dark"] .rule-grid span{background:#171e29}html[data-theme="dark"] .number-cell{background:#10141b;border-color:#2b3442}html[data-theme="dark"] .winner-panel{background:#241116;border-color:#5f2430}html[data-theme="dark"] .winner-panel h2{color:#fff}

@media(max-width:1050px){.shop-hero-grid{grid-template-columns:1fr;gap:38px}.offer-slider{min-height:500px}.auth-wrap{grid-template-columns:1fr}.account-tabs-grid{grid-template-columns:1fr}}
@media(max-width:820px){.public-brand-image{width:145px!important;max-width:145px!important}.register-btn{display:none!important}.theme-toggle{flex:0 0 auto}.offer-slide{grid-template-columns:1fr .85fr}.offer-visual{height:360px}.ticket-account-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.public-logo-link{height:62px}.public-brand-image{width:130px!important;max-width:130px!important}.shop-hero{padding-top:52px}.offer-slider{min-height:560px;padding:18px}.slider-stage{min-height:524px}.offer-slide{grid-template-columns:1fr;align-content:start;gap:16px}.offer-visual{height:330px}.offer-info h3{font-size:25px}.offer-info .btn{width:100%}.slider-arrow{top:34%}.auth-card{padding:20px}.ticket-account-grid{grid-template-columns:1fr}.footer-logo{width:175px!important}.invoice-ticket.single{grid-template-columns:86px 1fr}.invoice-ticket.single .ticket-number b{font-size:38px}}


/* Public mobile navigation */
.public-nav .inner{position:relative}.public-menu-toggle{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--brand2);font-size:21px;font-weight:900;cursor:pointer;align-items:center;justify-content:center}
@media(max-width:820px){
  .public-menu-toggle{display:inline-flex;margin-left:auto}
  .public-links{display:none!important;position:absolute;top:calc(100% + 8px);left:14px;right:14px;z-index:80;flex-direction:column;align-items:stretch;gap:4px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 24px 55px rgba(7,31,82,.18)}
  .public-links.open{display:flex!important}
  .public-links a,.public-links a:not(.keep),.public-links .register-btn{display:flex!important;width:100%;justify-content:flex-start;padding:11px 12px}
  .public-links .theme-toggle{width:100%;justify-content:center;margin-top:4px}
  html[data-theme="dark"] .public-links{background:#0d1118;border-color:#252d3a;box-shadow:0 24px 55px rgba(0,0,0,.45)}
  html[data-theme="dark"] .public-menu-toggle{background:#111722;border-color:#2a3340;color:#fff}
}

/* =========================================================
   V6 · Dark theme designed as its own visual system
   ========================================================= */
html[data-theme="dark"]{--bg:#090d13;--panel:#111721;--panel2:#151d29;--line:#293444;--text:#f7f9fc;--muted:#9eabbb;--accent-soft:#172131;--shadow:0 22px 52px rgba(0,0,0,.34)}
html[data-theme="dark"] body{background:linear-gradient(180deg,#090d13 0%,#0b1017 45%,#090d13 100%)}
html[data-theme="dark"] .announce-bar{background:#05080d;border-bottom:1px solid rgba(255,255,255,.06)}
html[data-theme="dark"] .public-nav{background:rgba(9,13,19,.88);border-color:rgba(255,255,255,.08);box-shadow:0 10px 30px rgba(0,0,0,.16)}
html[data-theme="dark"] .shop-hero{background:radial-gradient(circle at 10% 18%,rgba(29,75,166,.24),transparent 34%),radial-gradient(circle at 86% 12%,rgba(217,20,51,.12),transparent 29%),linear-gradient(180deg,#0a0f16,#0d141e 72%,#0b1017)}
html[data-theme="dark"] .offer-slider{background:linear-gradient(145deg,#0b2d69 0%,#123e86 54%,#8f1730 100%);border:1px solid rgba(255,255,255,.09);box-shadow:0 34px 74px rgba(0,0,0,.42)}
html[data-theme="dark"] .offer-visual{background:linear-gradient(145deg,#e9eef7,#f8faff);box-shadow:inset 0 0 0 1px rgba(7,31,82,.05)}
html[data-theme="dark"] .category-section{background:#0b1017}
html[data-theme="dark"] .products-section{background:#090d13}
html[data-theme="dark"] .category-card{background:linear-gradient(180deg,#121a25,#101720);border-color:#263244;box-shadow:0 10px 24px rgba(0,0,0,.12)}
html[data-theme="dark"] .category-card:hover{background:#162131;border-color:#3a4a61;box-shadow:0 18px 38px rgba(0,0,0,.28)}
html[data-theme="dark"] .category-icon{background:linear-gradient(145deg,#173e82,#0c2c66);box-shadow:0 8px 18px rgba(0,0,0,.22)}
html[data-theme="dark"] .product-card{background:#101720;border-color:#273243;box-shadow:0 14px 30px rgba(0,0,0,.16)}
html[data-theme="dark"] .product-card:hover{border-color:#3a4a60;box-shadow:0 22px 45px rgba(0,0,0,.30)}
html[data-theme="dark"] .home-products .product-img{background:linear-gradient(145deg,#dfe6f1,#f5f7fb)}
html[data-theme="dark"] .product-img img{filter:saturate(.98) contrast(1.02)}
html[data-theme="dark"] .usa-banner{background:radial-gradient(circle at 82% 15%,rgba(255,255,255,.05),transparent 26%),linear-gradient(118deg,#102b5c,#163e7d 58%,#233b6e)}
html[data-theme="dark"] .usa-card{background:rgba(8,16,30,.34);border-color:rgba(255,255,255,.16);box-shadow:0 20px 45px rgba(0,0,0,.20)}
html[data-theme="dark"] .raffle-promo{background:linear-gradient(135deg,#17131a,#121822 55%,#111d30);border-color:#3a2831;box-shadow:0 20px 45px rgba(0,0,0,.22)}
html[data-theme="dark"] .raffle-promo p{color:#a8b4c3}
html[data-theme="dark"] .raffle-meta span{background:#171f2a;border-color:#2d3948;color:#dce3ed}
html[data-theme="dark"] .lottery-home{background:#0d131c;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
html[data-theme="dark"] .lottery-mini{background:#121923;border-color:#2a3545;box-shadow:0 10px 24px rgba(0,0,0,.14)}
html[data-theme="dark"] .lottery-mini:not(.featured) .lottery-balls b{background:#1b2635;border:1px solid #314157;color:#fff}
html[data-theme="dark"] .lottery-mini.featured{background:linear-gradient(150deg,#0b2f70,#12458f);border-color:#2456a2;box-shadow:0 18px 38px rgba(0,0,0,.28)}
html[data-theme="dark"] .why-grid{background:#101720;border-color:#273243;box-shadow:0 16px 34px rgba(0,0,0,.14)}
html[data-theme="dark"] .public-footer{background:#05080d;border-top:1px solid rgba(255,255,255,.07)}
html[data-theme="dark"] .section-head p,html[data-theme="dark"] .product-meta,html[data-theme="dark"] .category-card small{color:#98a6b8}
html[data-theme="dark"] .panel{box-shadow:0 16px 36px rgba(0,0,0,.18)}

/* =========================================================
   V7 · Admin dashboard / raffle resolution / source diagnostics
   ========================================================= */
.eyebrow-admin,.dash-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--brand);text-transform:uppercase}.dashboard-head{align-items:center}.quick-actions{max-width:760px;justify-content:flex-end}.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.kpi-card{background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 12px 30px rgba(7,31,82,.06)}.kpi-icon{width:34px;height:34px;border-radius:10px;background:#eef3ff;color:var(--brand2);display:grid;place-items:center;font-weight:950;flex:0 0 auto}.kpi-card span,.kpi-card small{display:block;color:var(--muted);font-size:11px}.kpi-card strong{display:block;color:var(--brand2-dark);font-size:21px;margin:4px 0;white-space:nowrap}.attention-panel{margin-top:16px;padding:18px;background:linear-gradient(135deg,#0a2e7a,#0c397f);border-radius:20px;color:#fff;box-shadow:0 18px 42px rgba(7,31,82,.18)}.attention-panel .panel-title h3{color:#fff}.attention-panel .muted{color:rgba(255,255,255,.72)}.attention-count{width:30px;height:30px;border-radius:999px;background:#fff;color:var(--brand2);display:grid;place-items:center;font-weight:900}.attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attention-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:14px}.attention-item:hover{background:rgba(255,255,255,.16)}.attention-item strong,.attention-item small{display:block}.attention-item small{color:rgba(255,255,255,.72);font-size:10px;margin-top:3px}.attention-badge{min-width:30px;height:30px;padding:0 7px;border-radius:9px;background:#fff;color:var(--brand2);display:grid;place-items:center;font-weight:950}.all-good{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:#effaf3;border:1px solid #c9ebd7;color:#1f7549}.all-good>span{width:34px;height:34px;border-radius:999px;background:#d6f4e3;display:grid;place-items:center;font-weight:950}.all-good strong,.all-good small{display:block}.all-good small{font-size:11px}.all-good.compact{padding:10px}.dashboard-raffle-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px}.raffle-result-card{border-radius:20px;padding:20px;background:linear-gradient(135deg,#0b2e70,#123f87);color:#fff;box-shadow:0 20px 48px rgba(7,31,82,.18);display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.raffle-result-card.no-winner{background:linear-gradient(135deg,#4e1b25,#7a2434)}.raffle-result-card.waiting{display:block;background:linear-gradient(135deg,#102544,#163968)}.raffle-result-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start}.raffle-result-top h3,.raffle-result-card h3{color:#fff;margin:4px 0 0}.raffle-result-card .dash-kicker{color:#ffccd4}.winning-number{display:flex;flex-direction:column;justify-content:center}.winning-number span{font-size:11px;color:rgba(255,255,255,.7)}.winning-number b{font-size:72px;line-height:.95}.winning-number small{font-size:10px;color:rgba(255,255,255,.65)}.raffle-draw-line{padding:12px;border-radius:13px;background:rgba(255,255,255,.10);margin-bottom:10px}.raffle-draw-line span,.raffle-draw-line small{display:block;font-size:10px;color:rgba(255,255,255,.72)}.raffle-draw-line strong{display:block;font-size:24px;margin:4px 0}.winner-identity{padding:12px;border-radius:13px;background:#fff;color:var(--brand2-dark)}.winner-identity span,.winner-identity small{display:block;font-size:10px}.winner-identity strong{display:block;margin:4px 0}.winner-identity.empty-winner{background:rgba(255,255,255,.12);color:#fff}.raffle-result-card .actions{margin-top:10px}.raffle-live-main{display:flex;justify-content:space-between;gap:10px;align-items:center}.progress{height:9px;border-radius:999px;background:#e9eef7;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand2),#315da8);border-radius:inherit}.meta-pairs{display:grid;gap:8px}.meta-pairs span{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.meta-pairs b{color:var(--text)}.dashboard-main-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:16px;margin-top:16px}.bar-chart{height:270px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;padding-top:30px}.bar-col{height:100%;display:grid;grid-template-rows:24px 1fr 20px;gap:6px;align-items:end;text-align:center}.bar-value{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:100%;background:#f2f5fa;border-radius:10px;position:relative;overflow:hidden}.bar-track i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#315da8,#0a2e7a);border-radius:10px 10px 4px 4px;min-height:4px}.bar-col small{font-size:10px;color:var(--muted)}.summary-row,.channel-row,.rank-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row:last-child,.channel-row:last-child,.rank-row:last-child{border-bottom:0}.summary-row span,.channel-row small,.rank-row small{font-size:11px;color:var(--muted)}.channel-row strong,.channel-row small,.rank-row strong,.rank-row small{display:block}.dashboard-triple-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:16px}.rank-row{justify-content:flex-start}.rank-row>b{margin-left:auto}.rank{width:28px;height:28px;border-radius:9px;background:#eef3ff;color:var(--brand2);display:grid;place-items:center;font-weight:900}.activity-list{display:grid}.activity-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-row strong,.activity-row small{display:block}.activity-row small,.activity-row time{font-size:10px;color:var(--muted)}.activity-dot{width:9px;height:9px;border-radius:999px;background:var(--brand2)}.dashboard-config summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.dashboard-pref-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.raffle-resolution{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;margin-bottom:16px;border-radius:22px;padding:22px;background:linear-gradient(135deg,#0b2e70,#124188);color:#fff;box-shadow:0 22px 50px rgba(7,31,82,.18)}.raffle-resolution.winner-empty{background:linear-gradient(135deg,#4f1e28,#7d2939)}.raffle-resolution h2{color:#fff;margin:4px 0 18px}.resolution-number span,.resolution-number small{display:block;color:rgba(255,255,255,.72);font-size:11px}.resolution-number b{display:block;font-size:86px;line-height:.9}.resolution-details{display:grid;gap:10px}.result-strip,.winner-ticket-box{padding:14px;border-radius:15px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12)}.result-strip span,.result-strip small,.result-strip em{display:block;font-size:10px}.result-strip strong{display:block;font-size:25px;margin:4px 0}.result-strip em{font-style:normal;color:#baf0d1}.winner-ticket-box{background:#fff;color:var(--brand2-dark)}.winner-ticket-box>span{font-size:10px;color:var(--green);font-weight:900}.winner-ticket-box>strong{display:block;margin:4px 0 10px}.winner-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.winner-meta span{font-size:10px;color:var(--muted)}.winner-meta b{display:block;color:var(--text);margin-top:2px}.winner-ticket-box.empty-ticket{background:rgba(255,255,255,.1);color:#fff}.winner-ticket-box.empty-ticket>span{color:#ffd5dc}.waiting-result-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;background:#fff7e8;border:1px solid #f2d79e;color:#76520c;margin-bottom:16px}.waiting-result-banner strong,.waiting-result-banner span{display:block}.waiting-result-banner span{font-size:12px;margin-top:3px}.source-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.source-status{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.source-status strong,.source-status small{display:block}.source-status small{font-size:10px;color:var(--muted);margin-top:3px}.source-dot{width:9px;height:9px;border-radius:999px;margin-top:4px;background:#d2a016}.source-status.ok .source-dot{background:#1f9d63}.source-status.bad .source-dot{background:#d91433}

/* Dark mode: refine the public site so it feels designed, not merely inverted. */
html[data-theme="dark"] .shop-hero{background:radial-gradient(circle at 12% 8%,rgba(30,79,171,.28),transparent 34%),radial-gradient(circle at 85% 12%,rgba(193,29,57,.13),transparent 30%),linear-gradient(180deg,#080c12 0%,#0c131d 70%,#0a0f16 100%)}
html[data-theme="dark"] .category-section{background:linear-gradient(180deg,#0c121a,#0a0f16)}
html[data-theme="dark"] .products-section{background:linear-gradient(180deg,#090d13,#0b1017)}
html[data-theme="dark"] .home-products .product-img{background:linear-gradient(145deg,#cfd7e3,#edf1f6);border-bottom:1px solid rgba(255,255,255,.04)}
html[data-theme="dark"] .usa-banner{background:radial-gradient(circle at 90% 8%,rgba(71,116,206,.22),transparent 28%),linear-gradient(118deg,#0c1c36,#123267 54%,#1b315e)}
html[data-theme="dark"] .lottery-home{background:linear-gradient(180deg,#0e151f,#0a1018)}
html[data-theme="dark"] .why-grid{background:linear-gradient(180deg,#111923,#0f161f)}
html[data-theme="dark"] .public-footer{background:#04070b}

@media(max-width:1280px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.attention-grid{grid-template-columns:repeat(2,1fr)}.dashboard-triple-grid{grid-template-columns:1fr 1fr}.source-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.dashboard-raffle-grid,.dashboard-main-grid,.raffle-resolution{grid-template-columns:1fr}.dashboard-triple-grid{grid-template-columns:1fr}.dashboard-pref-grid{grid-template-columns:1fr 1fr}.raffle-result-card{grid-template-columns:1fr}.raffle-result-top{grid-column:1}.attention-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-kpis{grid-template-columns:1fr 1fr}.kpi-card{padding:12px}.kpi-card strong{font-size:17px}.dashboard-pref-grid{grid-template-columns:1fr}.winner-meta{grid-template-columns:1fr}.source-status-grid{grid-template-columns:1fr}.bar-chart{gap:5px}.bar-value{display:none}.bar-col{grid-template-rows:1fr 20px}.quick-actions{justify-content:flex-start}.winning-number b,.resolution-number b{font-size:58px}}

/* V9 identidad unificada + catálogo de sorteos */
.source-status.empty .source-dot{background:#d2a016}.source-status.empty{border-color:rgba(210,160,22,.28)}
.account-identity-panel{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.account-username-form{display:flex;gap:8px;align-items:center;min-width:min(420px,100%)}.account-username-form .input{min-width:220px}
.draw-catalog-panel{margin-bottom:18px}.draw-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.draw-catalog-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--panel2);border-radius:14px;text-decoration:none;color:var(--text)}.draw-catalog-card:hover{transform:translateY(-1px);border-color:rgba(24,72,150,.32)}.draw-catalog-card strong,.draw-catalog-card small,.draw-latest span,.draw-latest b{display:block}.draw-catalog-card small,.draw-latest span{font-size:10px;color:var(--muted);margin-top:3px}.draw-latest{text-align:right}.draw-latest b{font-size:12px;margin-top:4px}
@media(max-width:900px){.draw-catalog-grid{grid-template-columns:1fr 1fr}.account-identity-panel{align-items:stretch;flex-direction:column}.account-username-form{min-width:0}}
@media(max-width:620px){.draw-catalog-grid{grid-template-columns:1fr}.account-username-form{flex-direction:column;align-items:stretch}.account-username-form .input{min-width:0}}

/* === Moca Flow 73 V10: rifas, estados, checkout y mobile commerce === */
.raffle-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.raffle-mode-badge{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--brand2);background:#edf3ff;border:1px solid #dbe7fb;border-radius:999px;padding:5px 8px}.raffle-availability{font-size:11px;color:#52647c;margin:-8px 0 14px}.raffle-availability b{color:var(--brand2)}.winner-ribbon{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(120deg,#f5b900,#ffda4a);color:#352800}.winner-ribbon strong{font-size:20px}.winner-ribbon small{font-size:9px;font-weight:800}.raffle-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.mode-option{cursor:pointer}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option span{display:block;height:100%;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8faff;transition:.18s}.mode-option b,.mode-option small{display:block}.mode-option b{font-size:16px;color:var(--brand2-dark);margin-bottom:5px}.mode-option small{color:#6e7d91;line-height:1.45}.mode-option input:checked+span{border-color:#789bd2;background:#edf4ff;box-shadow:0 0 0 2px rgba(10,46,122,.07)}
.raffle-number-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px;font-size:11px;font-weight:800;color:#64748b}.raffle-number-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:11px;height:11px;border-radius:4px;border:1px solid #cbd5e1;background:#fff}.legend-dot.available{background:#fff}.legend-dot.reserved{background:#fef3c7;border-color:#f59e0b}.legend-dot.sold{background:#dbeafe;border-color:#3b82f6}.legend-dot.winner{background:#facc15;border-color:#a16207;box-shadow:0 0 0 2px rgba(250,204,21,.2)}
.raffle-state-grid .number-cell{position:relative;min-width:0;overflow:hidden;transition:.15s;cursor:default}.raffle-state-grid .number-cell em{font-style:normal;font-size:6px;line-height:1;margin-top:5px;font-weight:950;letter-spacing:.04em;opacity:.8}.raffle-state-grid .number-cell.available{background:#fff;color:#66758a;border-color:#dbe3ee}.raffle-state-grid .number-cell.reserved{background:#fff7d6;color:#8a5a00;border-color:#f2bd32}.raffle-state-grid .number-cell.sold{background:#dbeafe;color:#0b3b8f;border-color:#4c88e8;box-shadow:inset 0 0 0 1px rgba(59,130,246,.08)}.raffle-state-grid .number-cell.winner{background:linear-gradient(145deg,#ffd84d,#f5b800)!important;color:#2f2500!important;border:2px solid #8e6800!important;box-shadow:0 0 0 3px rgba(250,204,21,.22),0 10px 24px rgba(180,130,0,.25)!important;transform:scale(1.04);z-index:2}.raffle-state-grid .number-cell.winner b{font-size:17px}.raffle-state-grid .number-cell.winner em{font-size:7px;opacity:1}.raffle-state-grid button.number-cell.available:not(:disabled){cursor:pointer}.raffle-state-grid button.number-cell.available:not(:disabled):hover{border-color:#1d4ed8;background:#eff6ff;color:#1e40af;transform:translateY(-2px)}.raffle-state-grid button.number-cell.selected{background:#0a2e7a!important;color:#fff!important;border-color:#0a2e7a!important;box-shadow:0 0 0 3px rgba(10,46,122,.16)}.raffle-state-grid button.number-cell:disabled{opacity:1}.raffle-buy-bar{position:sticky;bottom:16px;z-index:12;margin:18px auto 0;max-width:900px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 20px 50px rgba(7,31,82,.18)}.raffle-buy-bar span,.raffle-buy-bar strong,.raffle-buy-bar small{display:block}.raffle-buy-bar span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#75849a;font-weight:900}.raffle-buy-bar strong{font-size:16px;color:var(--brand2-dark);margin:3px 0}.raffle-buy-bar small{color:#66758a}.selected-count{font-size:11px;font-weight:900;background:#eef4ff;color:var(--brand2);padding:8px 11px;border-radius:999px}.strong-winner{border-width:2px;background:linear-gradient(135deg,#fffaf0,#fff4cc)}.winner-panel-grid{display:grid;grid-template-columns:210px 1fr;gap:25px;align-items:center}.winning-orb{border-radius:24px;padding:20px;text-align:center;background:linear-gradient(145deg,#ffd84d,#f2b700);border:2px solid #9a7000;color:#2d2200;box-shadow:0 14px 35px rgba(160,115,0,.2)}.winning-orb small,.winning-orb strong,.winning-orb em{display:block}.winning-orb small{font-size:9px;font-weight:950;letter-spacing:.1em}.winning-orb strong{font-size:70px;line-height:1;margin:6px 0;font-weight:1000}.winning-orb em{font-size:9px;font-style:normal;font-weight:900}.winner-badge{background:#facc15!important;color:#3c2c00!important;border-color:#ca9800!important;margin-top:4px}
.raffle-checkout-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;align-items:start}.selected-number-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.selected-number-list>span{min-width:58px;height:58px;display:grid;place-items:center;background:#0a2e7a;color:#fff;border-radius:14px;font-size:18px;font-weight:950;position:relative}.selected-number-list small{position:absolute;bottom:4px;font-size:7px}.checkout-total-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line);color:#64748b}.checkout-total-row strong{color:var(--brand2-dark)}.checkout-total-row.grand{font-size:18px;color:var(--text)}.checkout-total-row.grand strong{font-size:23px;color:var(--brand)}.bank-choice-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 18px}.bank-choice{border:1px solid var(--line);background:#f8faff;border-radius:13px;padding:12px}.bank-choice strong,.bank-choice span,.bank-choice b,.bank-choice small,.bank-choice em{display:block}.bank-choice strong{color:var(--brand2-dark)}.bank-choice span,.bank-choice small{font-size:10px;color:#718095}.bank-choice b{margin:5px 0;font-size:14px}.bank-choice em{font-style:normal;font-size:9px;color:#65758b;margin-top:5px}.raffle-terms{margin:12px 0 16px}.btn.full{width:100%;justify-content:center}
html[data-theme="dark"] .raffle-public-card{background:#111722;border-color:#293344}html[data-theme="dark"] .raffle-public-card h2{color:#fff}html[data-theme="dark"] .raffle-public-stats span{background:#171f2b;border:1px solid #273345}html[data-theme="dark"] .raffle-public-stats b{color:#f8fafc}html[data-theme="dark"] .raffle-public-stats small,html[data-theme="dark"] .raffle-date,html[data-theme="dark"] .raffle-lottery,html[data-theme="dark"] .raffle-availability{color:#aab6c8}html[data-theme="dark"] .raffle-mode-badge{background:#172238;border-color:#2b4168;color:#b9d1ff}html[data-theme="dark"] .mode-option span{background:#111722;border-color:#2b3442}html[data-theme="dark"] .mode-option b{color:#fff}html[data-theme="dark"] .mode-option small{color:#aab6c8}html[data-theme="dark"] .mode-option input:checked+span{background:#142441;border-color:#3764a6}html[data-theme="dark"] .raffle-number-legend{color:#b1bdcc}html[data-theme="dark"] .legend-dot.available{background:#111722;border-color:#3a4657}html[data-theme="dark"] .raffle-state-grid .number-cell.available{background:#111722;color:#c2ccda;border-color:#344153}html[data-theme="dark"] .raffle-state-grid .number-cell.reserved{background:#3a2f12;color:#ffd66a;border-color:#b78210}html[data-theme="dark"] .raffle-state-grid .number-cell.sold{background:#102c5b;color:#bcd8ff;border-color:#3573c7}html[data-theme="dark"] .raffle-state-grid button.number-cell.available:not(:disabled):hover{background:#16243b;color:#dceaff;border-color:#4a78ba}html[data-theme="dark"] .raffle-buy-bar{background:rgba(17,23,34,.96);border-color:#2b3442}html[data-theme="dark"] .raffle-buy-bar strong{color:#fff}html[data-theme="dark"] .raffle-buy-bar small{color:#aab6c8}html[data-theme="dark"] .selected-count{background:#172642;color:#bcd5ff}html[data-theme="dark"] .strong-winner{background:linear-gradient(135deg,#221c0b,#17130a);border-color:#80620c}html[data-theme="dark"] .winner-panel-grid h2{color:#fff}html[data-theme="dark"] .checkout-total-row{border-color:#293344;color:#a9b5c5}html[data-theme="dark"] .checkout-total-row strong{color:#fff}html[data-theme="dark"] .bank-choice{background:#151c27;border-color:#2b3442}html[data-theme="dark"] .bank-choice strong,html[data-theme="dark"] .bank-choice b{color:#fff}html[data-theme="dark"] .bank-choice span,html[data-theme="dark"] .bank-choice small,html[data-theme="dark"] .bank-choice em{color:#a8b5c5}html[data-theme="dark"] .winner-ribbon{color:#2d2200}

@media(max-width:880px){.raffle-checkout-grid,.winner-panel-grid{grid-template-columns:1fr}.raffle-mode-picker{grid-template-columns:1fr}}
@media(max-width:620px){
  /* Mobile commerce: exactly two product cards per row. */
  .product-grid,.home-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .product-card{border-radius:14px}.product-body,.home-products .product-body{padding:10px!important}.product-name,.home-products .product-name{font-size:13px!important;line-height:1.25}.price,.home-products .price{font-size:15px!important}.old-price{display:block;margin:3px 0 0;font-size:10px}.stock-state{font-size:9px;margin-top:6px}.product-img,.home-products .product-img{aspect-ratio:1/1}.sale-chip{top:7px;left:7px;padding:5px 7px;font-size:8px}
  .raffle-number-head{align-items:flex-start;gap:10px}.raffle-number-legend{gap:9px;font-size:9px}.raffle-number-legend span{gap:4px}.legend-dot{width:9px;height:9px}.number-grid,.number-grid.admin{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px}.raffle-state-grid .number-cell b{font-size:12px}.raffle-state-grid .number-cell em{font-size:5.5px}.raffle-buy-bar{bottom:8px;border-radius:15px;gap:8px;padding:10px}.raffle-buy-bar strong{font-size:12px}.raffle-buy-bar small{font-size:9px}.raffle-buy-bar .btn{padding:10px;font-size:10px}.winning-orb strong{font-size:58px}.bank-choice-list{grid-template-columns:1fr}.selected-number-list>span{min-width:50px;height:50px}.raffle-public-stats span{padding:10px}.raffle-public-card{padding:18px}
}
@media(max-width:340px){.product-grid,.home-products{gap:7px!important}.product-body,.home-products .product-body{padding:8px!important}.product-name,.home-products .product-name{font-size:12px!important}.price,.home-products .price{font-size:14px!important}}
.lottery-result-card.ended-card{background:#f7f7f8;border-style:dashed}.lottery-ended-mark{display:inline-flex;margin:18px 0 8px;padding:8px 11px;border-radius:999px;background:#eef1f5;color:#59677a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}html[data-theme="dark"] .lottery-result-card.ended-card{background:#0d1118;border-color:#313b49}html[data-theme="dark"] .lottery-ended-mark{background:#1d2531;color:#b5c0ce}
html[data-theme="dark"] .raffle-rule-card p{color:#b7c2d1!important}html[data-theme="dark"] .rule-grid b{color:#f8fafc}html[data-theme="dark"] .rule-grid small{color:#9fadc0}html[data-theme="dark"] .raffle-prize{color:#ff4965}html[data-theme="dark"] .winner-ticket-box,html[data-theme="dark"] .result-strip{border-color:#303b4c}html[data-theme="dark"] .winner-ticket-box{background:#121925;color:#f8fafc}

/* =========================================================
   V10.1 · Theme contrast hardening (light/dark)
   Keep the approved layout; only fix contrast and inherited colors.
   ========================================================= */

/* Labels and form copy must remain readable on dark surfaces. */
html[data-theme="dark"] .label{color:#c2ccda}
html[data-theme="dark"] .check{color:#d7deea}
html[data-theme="dark"] .hero-kicker,html[data-theme="dark"] .trust-row{color:#aeb9c9}
html[data-theme="dark"] .source-note{color:#9eabbb}

/* Status surfaces: dark equivalents instead of pale cards with inherited white text. */
html[data-theme="dark"] .flash{background:#10261b;border-color:#285b41;color:#bde8cf}
html[data-theme="dark"] .warning{background:#2a2110;border-color:#655022;color:#f3d997}
html[data-theme="dark"] .danger-box{background:#2a1218;border-color:#63303a;color:#ffc2cc}
html[data-theme="dark"] .badge{background:#173524;color:#9fe0ba}
html[data-theme="dark"] .badge.warn,html[data-theme="dark"] .badge.red{background:#34151d;color:#ff9bad}
html[data-theme="dark"] .badge.blue{background:#15294a;color:#b9d1ff}

/* Intentional light cards inside the dark homepage hero need fixed dark ink. */
html[data-theme="dark"] .showcase-product{color:#102544}
html[data-theme="dark"] .showcase-product strong{color:#071f52}
html[data-theme="dark"] .showcase-thumb{color:#0a2e7a}

/* White CTA must stay white with navy text even though dark theme remaps brand variables. */
html[data-theme="dark"] .white-btn,
html[data-theme="dark"] a.white-btn,
html[data-theme="dark"] button.white-btn{
  background:#fff!important;
  color:#071f52!important;
  border-color:#fff!important;
}
html[data-theme="dark"] .white-btn:hover{color:#071f52!important}

/* Homepage featured lottery: white balls always use navy numbers. */
html[data-theme="dark"] .lottery-mini.featured .lottery-balls b{
  background:#fff!important;
  color:#071f52!important;
  border-color:#fff!important;
}
html[data-theme="dark"] .lottery-mini.featured .lottery-mini-top strong,
html[data-theme="dark"] .lottery-mini.featured .lottery-mini-top span,
html[data-theme="dark"] .lottery-mini.featured small{color:#fff}

/* Results page deliberately keeps the non-featured cards light in both themes.
   Pin their typography to dark ink so global dark-theme text cannot wash out. */
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card){
  background:#fff;
  border-color:#dfe6f0;
  color:#102544;
}
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card) .lottery-card-head strong{color:#102544}
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card) .lottery-draw-name{color:#66758c}
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card) .lottery-balls.large b{
  background:#eef3ff;
  color:#071f52;
  border-color:#d8e3f4;
}
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card) .lottery-card-foot{color:#66758c}
html[data-theme="dark"] .lottery-result-card:not(.primary):not(.ended-card) .lottery-card-foot strong{color:#66758c}

/* The featured La Suerte card remains blue, with white copy and navy-on-white balls. */
html[data-theme="dark"] .lottery-result-card.primary{color:#fff}
html[data-theme="dark"] .lottery-result-card.primary .lottery-card-head strong{color:#fff}
html[data-theme="dark"] .lottery-result-card.primary .lottery-balls.large b{
  background:#fff;
  color:#071f52;
  border-color:#fff;
}
html[data-theme="dark"] .lottery-result-card.primary .lottery-card-foot,
html[data-theme="dark"] .lottery-result-card.primary .lottery-card-foot strong{color:rgba(255,255,255,.78)}

/* Ended lottery cards intentionally stay dark in dark mode. */
html[data-theme="dark"] .lottery-result-card.ended-card .lottery-card-head strong{color:#f5f7fb}
html[data-theme="dark"] .lottery-result-card.ended-card .lottery-draw-name,
html[data-theme="dark"] .lottery-result-card.ended-card .lottery-card-foot{color:#aeb9c8}

/* Product detail fixed-light surfaces: use dark surfaces in dark theme to avoid mixed contrast. */
html[data-theme="dark"] .product-main-img{background:#101720;border-color:#293444;color:#8fa1b8}
html[data-theme="dark"] .variant-option{background:#111721;border-color:#293444;color:#f5f7fb}
html[data-theme="dark"] .qr-box{background:#111721;border-color:#36527a;color:#f5f7fb}
html[data-theme="dark"] .details{background:#111721;border-color:#293444;color:#f5f7fb}
html[data-theme="dark"] .details div{border-color:#293444}
html[data-theme="dark"] .details .k{background:#151d29;color:#aeb9c8}

/* Native form controls and placeholders. */
html[data-theme="dark"] .input::placeholder,
html[data-theme="dark"] .textarea::placeholder{color:#78879a;opacity:1}
html[data-theme="dark"] input[type="date"],html[data-theme="dark"] input[type="time"]{color-scheme:dark}

/* Guard against accidental low-contrast text in the public lottery surfaces. */
html[data-theme="dark"] .lottery-search .label{color:#b8c3d1}
html[data-theme="dark"] .lottery-title-row h2{color:#f8fafc}

/* Accessibility focus stays visible in both themes. */
html[data-theme="dark"] :focus-visible{outline:2px solid #78a7ff;outline-offset:2px}

/* ===== V11 · Mobile-first operations ===== */
.mf-toast{position:fixed;right:18px;bottom:18px;z-index:9999;padding:13px 16px;border-radius:12px;color:#fff;max-width:360px;box-shadow:0 15px 40px #0008}.mf-toast.ok{background:#17321f;border:1px solid #405040}.mf-toast.error{background:#3b1719;border:1px solid #71363a}
.sidebar-backdrop{display:none}.admin-mobile-nav{display:none}.pos-mobile-bar,.pos-cart-close{display:none}.barcode-modal[hidden]{display:none!important}.barcode-modal{position:fixed;inset:0;z-index:150;background:rgba(3,8,18,.82);display:grid;place-items:center;padding:20px}.barcode-card{width:min(520px,100%);background:#fff;border-radius:20px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.barcode-card video{width:100%;aspect-ratio:4/3;background:#000;border-radius:14px;object-fit:cover}.qty-stepper{display:grid;grid-template-columns:34px 48px 34px;align-items:center;gap:4px}.qty-stepper button{width:34px;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:18px}.qty-stepper input{width:48px;text-align:center;padding:7px 4px}
.import-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.export-actions{display:grid;gap:10px}.import-notes{display:grid;gap:4px;background:#f6f8fc;border:1px solid var(--line);padding:12px;border-radius:12px;margin:14px 0;color:var(--muted);font-size:13px}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.steps-grid>div{display:grid;gap:6px;border:1px solid var(--line);border-radius:14px;padding:14px}.steps-grid b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand2);color:#fff}.steps-grid span{color:var(--muted);font-size:12px}.alert.success{background:#edf9f0;border:1px solid #bde5c6;color:#1e6a31;padding:12px 14px;border-radius:12px;margin-bottom:16px}
@media(max-width:820px){:root{--mobile-bottom-nav:68px}body{padding-bottom:var(--mobile-bottom-nav)}body.nav-open,body.pos-cart-open,body.public-menu-open{overflow:hidden}.app-shell{display:block;min-height:100vh}.sidebar{width:min(88vw,320px);left:calc(-1 * min(88vw,320px));z-index:120;padding-bottom:calc(24px + env(safe-area-inset-bottom));box-shadow:20px 0 45px rgba(0,0,0,.28)}.sidebar.open{left:0}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(2,8,20,.48);backdrop-filter:blur(2px);z-index:110;opacity:0;pointer-events:none;transition:.2s}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.topbar{min-height:60px;padding:8px 12px;top:0}.top-actions{gap:6px}.top-actions:last-child .muted{display:none}.topbar-brand{padding:6px 9px}.topbar-logo{width:38px}.topbar .btn{min-height:42px}.topbar .btn[href="/logout"]{padding:8px 10px}.topbar .btn[href="/tienda"]{font-size:0}.topbar .btn[href="/tienda"]::after{content:'Tienda ↗';font-size:12px}.content{padding:14px 12px 26px}.page-head{gap:10px;margin-bottom:14px}.page-head h1{font-size:26px}.page-head p{font-size:13px}.page-head>.actions,.page-head>.btn{width:100%}.page-head>.actions .btn{flex:1}.admin-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:105;height:calc(var(--mobile-bottom-nav) + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(5,23,57,.1);backdrop-filter:blur(15px)}.admin-mobile-nav a,.admin-mobile-nav button{border:0;background:transparent;color:#617087;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;font:inherit}.admin-mobile-nav span{font-size:20px;line-height:1}.admin-mobile-nav small{font-size:10px;font-weight:800}.admin-mobile-nav .admin-mobile-pos{background:var(--brand);color:#fff;border-radius:14px;margin:-5px 4px 2px;box-shadow:0 8px 18px rgba(217,20,51,.24)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card,.panel{border-radius:15px}.card{padding:13px}.card .num{font-size:21px}.panel{padding:13px}.split,.split.equal{grid-template-columns:1fr;gap:12px}.form-grid,.form-grid.three{grid-template-columns:1fr!important;gap:10px}.field{min-width:0}.input,.select,.textarea{font-size:16px;min-height:46px}.btn{min-height:44px;padding:10px 13px}.btn.sm{min-height:40px}.toolbar{display:grid;grid-template-columns:1fr;gap:8px}.toolbar .input,.toolbar .select,.toolbar .btn{width:100%;min-width:0}.table-wrap{overflow:visible;border:0;background:transparent}.table{display:block;min-width:0}.table thead{display:none}.table tbody{display:grid;gap:10px}.table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 5px 16px rgba(7,31,82,.04)}.table td{display:block;border:0!important;padding:8px!important;min-width:0;overflow-wrap:anywhere}.table td::before{content:attr(data-label);display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8290a5;margin-bottom:3px;font-weight:800}.table td:first-child{grid-column:1/-1}.table td:last-child{grid-column:1/-1}.table td:last-child .btn,.table td:last-child>a.btn{width:100%}.table td[colspan]{grid-column:1/-1}.table .empty::before{display:none}.pos-layout{display:block}.pos-toolbar{position:sticky;top:68px;z-index:18;background:var(--bg);padding:6px 0 8px;display:grid;grid-template-columns:1fr auto}.pos-toolbar .input{width:100%}.pos-scan-btn{white-space:nowrap}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none;padding-bottom:88px}.pos-item{min-height:126px;padding:11px;text-align:left;touch-action:manipulation}.pos-item strong{font-size:13px;line-height:1.2;display:block;margin:4px 0}.pos-item .muted.small{font-size:10px}.pos-item .price{font-size:16px}.cart{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:145;max-height:88vh;overflow:auto;border-radius:22px 22px 0 0!important;transform:translateY(105%);transition:transform .22s ease;box-shadow:0 -25px 55px rgba(0,0,0,.3);padding-bottom:calc(22px + env(safe-area-inset-bottom))}.cart.mobile-open{transform:translateY(0)}.pos-cart-close{display:inline-flex}.cart-row{grid-template-columns:1fr auto auto;gap:8px;padding:12px 0}.cart-product{grid-column:1/-1}.qty-stepper{grid-column:1}.cart-price{grid-column:2}.cart-remove{grid-column:3}.qty-stepper{grid-template-columns:42px 52px 42px}.qty-stepper button{width:42px;height:42px}.qty-stepper input{width:52px;height:42px}.pos-mobile-bar{display:block;position:fixed;left:10px;right:10px;bottom:calc(var(--mobile-bottom-nav) + 8px + env(safe-area-inset-bottom));z-index:100}.pos-mobile-bar button{width:100%;border:0;background:var(--brand);color:#fff;border-radius:16px;min-height:58px;padding:9px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;box-shadow:0 12px 30px rgba(217,20,51,.28)}.pos-mobile-bar span{font-size:11px;opacity:.9}.pos-mobile-bar strong{font-size:19px}.pos-mobile-bar em{grid-column:1/-1;font-style:normal;font-size:10px;opacity:.8}.barcode-card{padding:12px}.import-export-grid,.steps-grid{grid-template-columns:1fr}.import-help{margin-bottom:20px}form[data-mobile-sticky-form]{padding-bottom:74px}form[data-mobile-sticky-form] .mobile-primary-submit{position:sticky;bottom:calc(var(--mobile-bottom-nav) + 8px);z-index:35;box-shadow:0 10px 28px rgba(0,0,0,.22)}}
@media(max-width:620px){.product-grid,.home-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.product-card{border-radius:13px}.product-body{padding:10px}.product-name{font-size:13px;line-height:1.25}.product-body .muted.small{font-size:9px}.product-card .price{font-size:15px}.product-card .old-price{display:block;margin-left:0;margin-top:2px}.product-card .stock-state{font-size:10px}.product-img{aspect-ratio:1/1}.section{padding:36px 0}.section-head{align-items:flex-start;flex-direction:column;gap:9px}.section-head h2{font-size:26px}.shop-hero{padding-top:34px}.hero-copy h1{font-size:43px}.offer-slider{min-height:480px;padding:13px}.slider-stage{min-height:450px}.offer-visual{height:260px}.offer-info h3{font-size:21px}.lottery-strip{gap:8px}.cards{grid-template-columns:1fr 1fr}.page-head .actions{display:grid;grid-template-columns:1fr 1fr}.page-head .actions .btn{width:100%}}
@media(max-width:360px){.admin-mobile-nav small{font-size:9px}.pos-products{gap:6px}.pos-item{padding:9px}.cards{grid-template-columns:1fr}}
.raffle-detail-hero .back-link{display:block;width:max-content;max-width:100%;margin-bottom:16px}

/* Inventory: the adjustable stock action must not stretch/crop the table on phones. */
.inventory-adjust-form{display:grid;grid-template-columns:minmax(68px,85px) minmax(120px,170px) auto;gap:8px;align-items:center;min-width:0}
.inventory-adjust-form .input{width:100%;min-width:0}
.inventory-adjust-form .btn{white-space:nowrap}
@media(max-width:820px){.inventory-adjust-form{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;width:100%}}
@media(max-width:440px){.inventory-adjust-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.inventory-adjust-form .btn{grid-column:1/-1;width:100%}}

/* Draw history has no hero: don't reuse the search overlay from the lottery index. */
.lottery-page{padding-top:52px;padding-bottom:72px}
.lottery-page .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;font-size:12px;color:#7b889c;line-height:1.5}
.lottery-page .breadcrumbs a{color:var(--brand2);font-weight:750;text-decoration:none}
.lottery-page .breadcrumbs strong{color:var(--text);font-weight:850}
.lottery-page .lottery-title h1{font-size:clamp(34px,4.8vw,58px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 9px}
.lottery-page .lottery-title p{margin:0;color:var(--muted);line-height:1.5}
.lottery-page .lottery-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:26px 0 24px;padding:18px;box-shadow:0 10px 28px rgba(7,31,82,.07)}
.lottery-page .lottery-search .field{min-width:0;margin:0}
.lottery-page .lottery-search .input{width:100%;min-width:0}
.lottery-page .lottery-search .btn{min-width:170px;min-height:48px}
.lottery-page .lottery-results-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lottery-page .lottery-result-card{display:flex;flex-direction:column;gap:13px;min-width:0;padding:21px}
.lottery-page .lottery-result-card>div:first-child{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.lottery-page .lottery-result-card>div:first-child strong{font-size:14px;line-height:1.4}
.lottery-page .lottery-result-card>div:first-child small{font-size:12px;color:#75849a;white-space:nowrap}
.lottery-page .lottery-result-card .text-link{display:inline-flex;align-items:center;margin-top:auto;font-size:12px;font-weight:850}
.lottery-page .lottery-results-list .empty{grid-column:1/-1}
@media(max-width:760px){.lottery-page .lottery-results-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.lottery-page{padding-top:30px;padding-bottom:48px}.lottery-page .breadcrumbs{gap:5px 7px;margin-bottom:18px;font-size:11px}.lottery-page .lottery-search{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;margin:20px 0}.lottery-page .lottery-search .btn{width:100%;min-width:0}.lottery-page .lottery-result-card{padding:17px}}

/* El detalle tiene hero propio; el selector de .lottery-page no aplica aquí. */
.lottery-detail-hero .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;row-gap:5px;line-height:1.5}
@media(max-width:520px){.lottery-detail-hero .breadcrumbs{column-gap:7px;row-gap:4px}}
