@import url('/fonts.css');
@import url('/shop-sliders.css');
:root{--corner-radius:8px;--spinner-radius:50%;color-scheme:dark;--bg:#10141c;--panel:#191f29;--line:#2b3340;--muted:#a4afbf;--text:#f3f4f7;--orange:#ff794c;--mint:#93e1bb;--radius:var(--corner-radius);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Myanmar Text",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button,.button{border:1px solid var(--line);background:#202733;border-radius:var(--corner-radius);padding:11px 18px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:650;transition:background .15s,transform .15s}button:hover:not(:disabled),.button:hover{background:#303847;transform:translateY(-1px)}.primary{background:var(--orange);border-color:var(--orange);color:#151821}.primary:hover:not(:disabled){background:var(--accent-hover,#ff946f)}.ghost{background:transparent}.small{padding:7px 12px;font-size:12px}.danger{color:#ffabab;border-color:#733c46}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;color:var(--orange)}.tag{display:inline-block;font-size:11px;letter-spacing:.6px;border:1px solid var(--line);padding:4px 10px;border-radius:var(--corner-radius);color:var(--muted)}.tag.live{color:var(--mint);background:#19352d;border-color:#2b5241}.tag.warning{color:#ffcb8a;background:#382c1d;border-color:#604525}.tag.bad{color:#ffb6bd;background:#40252b;border-color:#6e333c}.icon{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-header{border-bottom:1px solid var(--line);background:#11151deb;position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}.header-inner{max-width:1264px;padding:20px 32px;margin:auto;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand img{width:40px;height:40px}.brand span{font-size:18px;font-weight:850;letter-spacing:-.6px}.brand small{display:block;font-size:8px;font-weight:600;color:var(--muted);letter-spacing:3.6px;margin-top:-5px}.top-nav{display:flex;gap:26px;font-size:13px;color:var(--muted);align-items:center}.top-nav a.active,.top-nav a:hover{color:var(--text)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:var(--corner-radius);display:grid;place-items:center;background:#27302b;color:var(--mint);font-weight:800}.container{max-width:1264px;padding:36px 32px 64px;margin:auto}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;background:radial-gradient(ellipse at 85% 50%,#472620 0,transparent 58%),#1a1e26;border:1px solid #3e3332;border-radius:var(--corner-radius);min-height:375px;overflow:hidden}.hero-copy{padding:47px 0 40px 42px;z-index:1}.hero h1{font-size:clamp(38px,4.7vw,64px);line-height:1.07;letter-spacing:-2.5px;margin:20px 0}.hero h1 span{color:var(--orange)}.hero p{color:#c2c7cf;font-size:14px;line-height:1.9;max-width:410px}.hero-art{width:100%;height:100%;object-fit:contain;max-height:380px;align-self:center}.hero-buttons{display:flex;gap:12px;margin-top:25px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;border-radius:var(--corner-radius);background:var(--orange);display:inline-block}.benefits{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 42px;gap:14px}.benefit{display:flex;align-items:center;gap:14px;padding:11px 22px;border-right:1px solid var(--line)}.benefit:last-child{border-right:0}.benefit .icon{color:var(--orange);width:26px;height:26px}.benefit strong{display:block;font-size:13px}.benefit p{margin:0;font-size:11px;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{margin:5px 0 0;font-size:27px;letter-spacing:-.8px}.section-heading p{margin:3px 0;color:var(--muted);font-size:13px}.catalog-tools{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:24px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{font-size:12px;background:transparent;color:var(--muted);padding:10px 17px}.tabs button.active{background:#34251f;color:var(--orange);border-color:#68412f}.search{position:relative;min-width:240px}.search .icon{position:absolute;left:13px;top:14px;color:var(--muted)}.search input{padding-left:40px;width:100%;margin:0}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.game-card{padding:0;display:block;overflow:hidden;text-align:left;background:var(--panel);border-radius:var(--corner-radius);transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:#657083}.game-art{height:172px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 60% 20%,#4f4c8b,transparent 90%),#242140}.game-art[data-tone="1"]{background:radial-gradient(ellipse at 60% 20%,#9a6f36,transparent 90%),#342b1e}.game-art[data-tone="2"]{background:radial-gradient(ellipse at 60% 20%,#3e7175,transparent 90%),#1b3739}.game-art[data-tone="3"]{background:radial-gradient(ellipse at 60% 20%,#844366,transparent 90%),#38243c}.game-art img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.game-art .icon{width:74px;height:74px;color:#ffffffab;stroke-width:1.1;transform:rotate(-12deg)}.game-art:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff20;border-radius:var(--corner-radius);right:-55px;top:-55px}.game-card-body{padding:17px 18px}.game-card-body strong{display:block;line-height:1.4;font-size:15px;margin-bottom:7px}.game-card-body span{font-size:11px;color:var(--muted)}.game-card-body .arrow{float:right;color:var(--orange);font-size:18px}.notice{border:1px solid #58432c;background:#2b241d;color:#ddc39f;border-radius:var(--corner-radius);padding:14px 18px;margin:18px 0;font-size:13px;line-height:1.8}.notice.neutral{background:#1d2732;color:#bbcddd;border-color:#30475b}.empty{padding:48px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--corner-radius);color:var(--muted)}.empty .icon{width:36px;height:36px;margin-bottom:10px}.empty h3{color:var(--text);margin:5px}.empty p{font-size:13px}.how{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:22px}.how article{border-top:1px solid var(--line);padding:25px 6px 15px;display:flex;gap:18px}.step{font-size:26px;line-height:1;color:#526070;font-weight:800}.how h3{margin:-3px 0 5px;font-size:14px}.how p{font-size:12px;color:var(--muted);margin:0}.app-banner{display:flex;align-items:center;gap:24px;background:#1c2525;border:1px solid #34423b;border-radius:var(--corner-radius);padding:28px 32px;margin-top:44px}.app-banner .icon{width:40px;height:40px;color:var(--mint)}.app-banner h3{margin:0;font-size:20px}.app-banner p{margin:3px 0;font-size:13px;color:var(--muted)}.app-banner .button{margin-left:auto;white-space:nowrap}.footer{border-top:1px solid var(--line);padding:25px 32px;max-width:1264px;margin:auto;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;gap:20px}.footer-links{display:flex;gap:20px}.section-space{margin-top:50px}.page-title{font-size:32px;letter-spacing:-1px;margin:8px 0}.crumb{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center;margin-bottom:24px}.crumb a{color:var(--orange)}.split{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--corner-radius);padding:26px}.panel h2{font-size:18px;margin:0 0 20px}.panel h3{font-size:15px;margin:0 0 12px}.stack{display:grid;gap:22px}.product-head{display:flex;align-items:center;gap:20px;margin-bottom:24px}.product-head .game-art{width:100px;height:100px;border-radius:var(--corner-radius);flex:none}.product-head .icon{width:48px;height:48px}.product-head h1{font-size:28px;line-height:1.3;margin:0 0 8px}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.offer{padding:17px 12px;display:block;text-align:left;border-radius:var(--corner-radius);background:#131923}.offer.selected{border-color:var(--orange);background:#35261f;box-shadow:inset 0 0 0 1px var(--orange)}.offer strong{display:block;font-size:14px}.offer span{color:var(--orange);font-size:13px}.offer small{display:block;color:var(--muted);font-size:10px}label{display:block;font-size:12px;color:#c7cfdb;margin-bottom:7px}input,select,textarea{border:1px solid #3a4352;border-radius:var(--corner-radius);padding:12px 13px;background:#111822;color:var(--text);min-width:0}textarea{resize:vertical;min-height:80px}input::placeholder,textarea::placeholder{color:#778395}.field{margin-bottom:18px}.field input:not([type="checkbox"]),.field select,.field textarea{width:100%}.field small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.row{display:flex;gap:14px;align-items:center}.row .field{flex:1}.check{display:flex;gap:10px;align-items:start;font-size:12px;line-height:1.8}.check input{margin-top:7px;accent-color:var(--orange)}.full{width:100%}.summary-line{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px;padding:10px 0}.summary-total{border-top:1px solid var(--line);margin:14px 0 20px;padding-top:19px;display:flex;align-items:center;justify-content:space-between}.summary-total strong{font-size:27px;color:var(--orange)}.summary-card{position:sticky;top:110px}.summary-card p{font-size:11px;color:var(--muted)}.auth-wrap{max-width:460px;margin:30px auto 80px}.auth-wrap .panel{padding:36px}.auth-wrap h1{font-size:29px;margin:10px 0}.auth-wrap p{font-size:13px;color:var(--muted)}.auth-wrap .brand{justify-content:center;margin-bottom:30px}.auth-bottom{text-align:center;margin-top:22px;font-size:12px}.auth-bottom a{color:var(--orange)}.form-error{color:#ffb0b5;font-size:13px;margin:12px 0;line-height:1.7}.form-success{color:var(--mint);font-size:13px}.account-pill{font-size:12px;display:flex;gap:8px;align-items:center}.dashboard-tabs{border-bottom:1px solid var(--line);padding-bottom:16px;display:flex;gap:10px;margin:24px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--corner-radius);padding:20px}.stat p{font-size:12px;color:var(--muted);margin:0}.stat strong{font-size:29px;display:block;margin-top:7px}.order-list{display:grid;gap:12px}.order-row{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:var(--corner-radius);padding:20px;background:var(--panel)}.order-row .order-info{flex:1;min-width:0}.order-row h3{font-size:14px;margin:0}.order-row p{font-size:11px;color:var(--muted);margin:4px 0}.order-price{font-size:15px;font-weight:700;white-space:nowrap}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details-grid dt{font-size:11px;color:var(--muted)}.details-grid dd{margin:3px 0 0;overflow-wrap:anywhere}.timeline{display:flex;gap:8px;margin:24px 0}.timeline span{height:4px;flex:1;background:var(--line);border-radius:var(--corner-radius)}.timeline span.done{background:var(--orange)}.delivery{white-space:pre-wrap;word-break:break-word;font:13px/1.7 ui-monospace,monospace;padding:18px;background:#111822;border:1px solid #3b5446;border-radius:var(--corner-radius)}.receipt-link{color:var(--orange);text-decoration:underline}.helper{font-size:12px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:650}details p{font-size:13px;color:var(--muted)}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--corner-radius);width:min(500px,calc(100vw - 32px));padding:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{margin-top:0;font-size:21px}dialog .actions{display:flex;justify-content:end;gap:10px;margin-top:24px}#toast{position:fixed;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);z-index:40;background:#263c30;color:#d9f7e4;border:1px solid #51765f;border-radius:var(--corner-radius);padding:12px 20px;box-shadow:0 8px 30px #0007;display:none;width:max-content;max-width:calc(100vw - 24px);text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:13px}#toast.show{display:block}#toast.single-line{white-space:nowrap;overflow-wrap:normal}.loading-page{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.loading-page p{color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--orange);border-radius:var(--spinner-radius);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{min-height:260px;background:linear-gradient(120deg,#191f29,#242a35,#191f29);border-radius:var(--corner-radius)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid>.span-2{grid-column:span 2}.payment-editor{padding:18px;border:1px solid var(--line);border-radius:var(--corner-radius);margin:16px 0}.payment-editor h3{margin:0 0 15px}.audit-table{width:max-content;border-collapse:collapse;font-size:12px}.audit-table td,.audit-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.audit-table th{color:var(--muted)}.table-scroll{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.pagination{display:flex;gap:10px;justify-content:center;margin-top:24px}.mobile-label{display:none}.hidden{display:none!important}.text-link{color:var(--orange)}.fine-print{font-size:11px;color:var(--muted);line-height:1.8}.error-page{max-width:600px;margin:70px auto;text-align:center}
@media(max-width:1000px){.header-inner{gap:24px}.top-nav{gap:18px}.catalog-grid{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:minmax(0,1fr) 300px}.hero h1{font-size:48px}.hero-copy{padding:35px 0 35px 32px}.benefit{padding:8px 10px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-inner{padding:14px 18px;gap:10px}.brand span{font-size:16px}.brand img{width:34px;height:34px}.brand small{font-size:7px;letter-spacing:3.2px}.top-nav{display:none}.header-actions .button{padding:9px 13px;font-size:12px}.header-actions .account-pill span{display:none}.container{padding:23px 18px 44px}.hero{min-height:340px;grid-template-columns:1fr}.hero-copy{padding:30px 25px;max-width:83%}.hero h1{font-size:45px;letter-spacing:-2px}.hero p{font-size:12px;max-width:260px}.hero-art{position:absolute;right:-90px;top:65px;width:290px;opacity:.32}.hero-buttons{gap:8px}.hero-buttons .button{padding:10px 14px;font-size:12px}.benefits{gap:4px;margin:22px 0 32px}.benefit{padding:0 6px;flex-direction:column;gap:7px;text-align:center}.benefit strong{font-size:10px}.benefit p{display:none}.benefit .icon{width:21px;height:21px}.section-heading h2{font-size:23px}.section-heading p{font-size:11px}.catalog-tools{align-items:stretch;flex-direction:column;gap:14px}.tabs{gap:6px}.tabs button{padding:9px 12px;font-size:11px;flex:1}.search{min-width:0}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:12px}.game-art{height:140px}.game-card-body{padding:14px}.game-card-body strong{font-size:13px}.game-card-body span{font-size:10px}.how{grid-template-columns:1fr;gap:0}.how article{padding:22px 0}.app-banner{padding:22px;flex-wrap:wrap;gap:15px;margin-top:28px}.app-banner h3{font-size:17px}.app-banner p{font-size:11px}.app-banner .button{width:100%;margin:0}.footer{padding:22px 18px;flex-direction:column;gap:12px;align-items:start}.split,.settings-grid{grid-template-columns:1fr}.settings-grid>.span-2{grid-column:auto}.summary-card{position:static}.panel{padding:21px}.product-head{gap:14px}.product-head .game-art{width:72px;height:72px}.product-head h1{font-size:23px}.offer-grid{grid-template-columns:repeat(2,1fr)}.page-title{font-size:27px}.order-row{flex-wrap:wrap;gap:12px;padding:17px}.order-row .order-info{min-width:65%}.order-row .button{margin-left:auto}.auth-wrap{margin-top:15px}.auth-wrap .panel{padding:27px 23px}.details-grid{gap:15px}.details-grid dd{font-size:13px}.dashboard-tabs{overflow-x:auto;white-space:nowrap}.dashboard-tabs .button{font-size:12px;padding:9px 12px}.row{flex-wrap:wrap}.row .field{min-width:140px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:25px}.notice{font-size:12px}.header-actions .ghost{padding:7px 10px}.section-space{margin-top:35px}.section-heading{gap:10px}.section-heading .tag{font-size:9px}}
@media(max-width:420px){.header-actions a.primary{display:none}.header-actions .button{white-space:nowrap}.hero-copy{max-width:100%;padding:30px 24px}.hero h1{font-size:40px;letter-spacing:-1.8px}.hero-art{right:-115px;top:45px;opacity:.23}.hero-buttons .button{white-space:nowrap;font-size:11px;padding:10px 11px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero p{max-width:235px}.section-heading .tag{display:none}.section-heading h2{line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

#catalog{scroll-margin-top:116px}
@media(max-width:700px){#catalog{scroll-margin-top:88px}}

.amount-picker{margin:20px 0;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.amount-picker .field{min-width:220px;flex:1}.amount-picker .form-error{width:100%}.catalog-tools .tabs{flex:1}

.role-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}.role-links a{font-size:13px;color:var(--muted);padding:5px 10px;border:1px solid var(--line);border-radius:var(--corner-radius)}.role-links a.active{color:var(--orange);border-color:var(--orange)}

.wallet-stats{grid-template-columns:repeat(3,1fr)}.wallet-link{white-space:nowrap}@media(max-width:760px){.wallet-stats{grid-template-columns:1fr}.wallet-link{font-size:11px}.header-actions{gap:5px}.wallet-stats .stat strong{font-size:28px}}

:root[data-role="member"]{--orange:#ff8b4d;--accent-hover:#ffa76f;--accent-tint:#42291d;--bg:#15130f;--panel:#221e18;--line:#42382a;--header:#1c1812f2}
:root[data-role="cashier"]{--orange:#42d6a4;--accent-hover:#80e6c0;--accent-tint:#143b30;--bg:#0c1915;--panel:#142a23;--line:#2b4a3e;--header:#10251ef2}
:root[data-role="seller"]{--orange:#bd9aff;--accent-hover:#d6bfff;--accent-tint:#35244d;--bg:#171120;--panel:#251b32;--line:#493759;--header:#21172ef2}
.site-header{background:var(--header,#11151deb);border-bottom:3px solid var(--orange)}.header-inner{gap:20px}.role-badge{background:var(--orange);color:#11151d;font-size:10px;font-weight:900;letter-spacing:1px;padding:4px 8px;border-radius:var(--corner-radius)}.avatar{color:var(--orange);background:var(--accent-tint)}.hero{background:radial-gradient(ellipse at 85% 50%,var(--accent-tint) 0,transparent 58%),var(--panel);border-color:var(--line)}.tabs button.active{background:var(--accent-tint);color:var(--orange);border-color:var(--orange)}:root[data-role="cashier"] .brand img{content:url("/assets/logo-cashier.webp");filter:none}:root[data-role="cashier"] .hero-art{filter:hue-rotate(125deg)}:root[data-role="seller"] .brand img{content:url("/assets/logo-seller.webp");filter:none}:root[data-role="seller"] .hero-art{filter:hue-rotate(235deg)}
@media(max-width:1100px){.top-nav{gap:13px}.header-inner{gap:13px}.account-pill span{max-width:160px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){.header-inner{flex-wrap:wrap;gap:8px}.header-actions{margin-left:auto}.role-badge{font-size:9px;padding:3px 6px}.brand span{font-size:14px}.brand img{width:30px;height:30px}.header-actions .wallet-link{font-size:10px;padding:6px 8px}.header-actions .avatar{display:none}}

.mobile-nav{display:none}@media(max-width:760px){.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--header);border-top:1px solid var(--orange);display:grid;grid-template-columns:repeat(4,1fr);z-index:20;padding:8px 4px max(8px,env(safe-area-inset-bottom));backdrop-filter:blur(15px)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--orange);font-size:10px;font-weight:700}.footer{padding-bottom:90px}}

.loading-page{background:var(--bg);color:var(--orange)}.loading-page p{color:var(--orange)}.loading-page .spinner{width:38px;height:38px;margin:24px auto 4px;border-width:4px}.skeleton{background:linear-gradient(120deg,var(--panel),var(--accent-tint),var(--panel))}:root[data-role="cashier"] .loading-page img{content:url("/assets/logo-cashier.webp");filter:none}:root[data-role="seller"] .loading-page img{content:url("/assets/logo-seller.webp");filter:none}

.deposit-payment-card{margin:0 0 20px;padding:20px;background:var(--accent-tint);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:var(--corner-radius)}.deposit-payment-card h3{color:var(--orange);margin:0 0 16px}.deposit-payment-card dl{display:grid;gap:14px;margin:0}.deposit-payment-card dt{color:var(--muted);font-size:12px}.deposit-payment-card dd{margin:4px 0 0;overflow-wrap:anywhere}.deposit-payment-card .deposit-account-number{font-size:clamp(18px,4.8vw,24px);font-weight:750;font-variant-numeric:tabular-nums;line-height:1.5;user-select:all}.deposit-payment-card .helper{margin-bottom:0}

.split>*,.panel{min-width:0}.payment-picker{border:0;margin:0 0 20px;padding:0;min-width:0}.payment-picker legend{font-size:13px;font-weight:700;color:var(--text);padding:0}.payment-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 10px}.payment-picker-toolbar .helper{margin:0;font-size:11px}.payment-scroll-controls{display:flex;gap:5px;flex:none}.payment-scroll-controls button{padding:0;width:34px;height:34px;min-width:34px;font-size:20px;line-height:1;background:var(--panel);border-color:var(--line);color:var(--orange)}.payment-options{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(90,90,90,.28) transparent;padding:4px 3px 13px;min-width:0;max-width:100%;-webkit-overflow-scrolling:touch}.payment-options::-webkit-scrollbar{height:3px;background:transparent}.payment-options::-webkit-scrollbar-track{background:transparent}.payment-options::-webkit-scrollbar-thumb{background:rgba(90,90,90,.28);border-radius:var(--corner-radius)}.payment-option{position:relative;flex:0 0 112px;margin:0;cursor:pointer;scroll-snap-align:start}.payment-option input{position:absolute;left:8px;top:8px;width:1px;height:1px;opacity:0;padding:0;min-width:0}.payment-option-body{display:block;position:relative;border:2px solid var(--line);border-radius:var(--corner-radius);background:var(--bg);padding:0;height:112px;overflow:hidden;transition:border-color .15s,background .15s}.payment-logo{width:100%;height:100%;border-radius:var(--corner-radius);display:grid;place-items:center;background:#fff;overflow:hidden;opacity:.42;filter:grayscale(1);transition:filter .15s,opacity .15s}.payment-logo img{display:block;width:100%;height:100%;object-fit:cover}.payment-logo>.icon{width:35px;height:35px;color:#555}.payment-selection-check{position:absolute;right:5px;top:5px;z-index:1;width:23px;height:23px;border-radius:var(--corner-radius);display:grid;place-items:center;color:#15130f;background:var(--orange);box-shadow:0 0 0 3px var(--accent-tint);visibility:hidden}.payment-selection-check .icon{width:15px;height:15px;stroke-width:3}.payment-option input:checked+.payment-option-body{border-color:var(--orange);background:var(--accent-tint)}.payment-option input:checked+.payment-option-body .payment-logo{filter:none;opacity:1}.payment-option input:checked+.payment-option-body .payment-selection-check{visibility:visible}.payment-option input:focus-visible+.payment-option-body{outline:3px solid var(--orange);outline-offset:3px}@media(prefers-reduced-motion:reduce){.payment-option-body,.payment-logo{transition:none}}

/* Project-wide table and numerical display rules: all roles and future screens. */
table{width:max-content;min-width:100%;table-layout:auto}table th,table td,.audit-table th,.audit-table td{text-align:center;vertical-align:middle;white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:none}table th *,table td *{white-space:nowrap;overflow-wrap:normal;word-break:normal}
table [data-column="amount"],.audit-table [data-column="amount"]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
input[data-number],.order-price,.summary-total strong,.stat strong{font-variant-numeric:tabular-nums}input[data-number]{text-align:right}

/* Top-up entry, PIN confirmation and pending details share the member theme. */
[hidden]{display:none!important}.account-copy{display:flex;align-items:center;gap:10px;min-width:0}.account-copy bdi{overflow-wrap:anywhere}.copy-account{flex:none;padding:8px;min-width:36px;min-height:36px;color:var(--orange);user-select:none}.topup-details{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:20px 0}.topup-details>div{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;min-width:0}.topup-details dt{margin:0;text-align:left;font-size:13px;color:var(--muted)}.topup-details dd{min-width:0;margin:0;text-align:right;font-size:14px;overflow-wrap:anywhere}.topup-details .account-copy{justify-content:flex-end;gap:6px}.topup-details .account-copy bdi{min-width:0}.topup-details .topup-amount{color:var(--orange);font-weight:700;font-variant-numeric:tabular-nums}.topup-receipt{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:18px auto;border:1px solid var(--line);border-radius:var(--corner-radius)}.topup-actions{display:flex;flex-wrap:wrap;gap:12px}.topup-actions button{flex:1}#topup-review,#topup-entry{scroll-margin-top:100px}#topup-pin{letter-spacing:.4em;font-size:20px}#pin-status{min-height:2em}.pending-topup .section-heading{flex-wrap:wrap}.pending-topup .notice{margin-top:0}

/* Cashier has two work areas and no shopping navigation. */
.bank-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.bank-account-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.bank-account-heading img{width:48px;height:48px;object-fit:cover;border-radius:var(--corner-radius)}.bank-account-heading h2{margin:0}.bank-save-status:empty{display:none}.bank-account-form input{font-variant-numeric:normal}@media(max-width:760px){.mobile-nav.cashier-nav{grid-template-columns:repeat(4,1fr)}.bank-account-grid{grid-template-columns:1fr}}

/* Complete image frames: no cropping, stretching or decorative blur. */
.game-art img,.payment-logo img,.bank-account-heading img,.offer-image,.topup-receipt{object-fit:contain;object-position:center}.offer-image{display:block;max-width:100%;height:100px;margin:0 auto 12px}.game-art{background:var(--panel)}.topup-receipt{width:auto;height:auto;max-width:100%;max-height:480px}

/* Seller-only reference pricing; never used as a wallet or checkout amount. */
.seller-profile{max-width:960px;margin:16px auto 50px}.profile-identity{overflow-wrap:anywhere}.profile-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}.p2p-rate-card .section-heading{margin:0 0 12px;gap:10px;flex-wrap:wrap}.p2p-rate-card h2{margin:0}.p2p-status{font-size:12px;color:var(--muted)}.p2p-stale{color:#ffd28d}.p2p-conversion{display:flex;flex-direction:column;gap:8px;margin:25px 0 12px;font-variant-numeric:tabular-nums}.p2p-conversion>span{font-size:18px;color:var(--muted)}.p2p-conversion strong{font-size:clamp(26px,4vw,38px);color:var(--orange);line-height:1.25;overflow-wrap:anywhere}.p2p-conversion small{font-size:16px}.p2p-actual{font-size:14px;font-variant-numeric:tabular-nums}.p2p-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:22px}.p2p-actions a{font-size:12px}.p2p-rate-card[aria-busy="true"] .p2p-actions button{opacity:.6}@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.seller-profile{margin-top:0}}

.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile .profile-security{grid-column:1/-1;width:100%;max-width:460px;box-sizing:border-box}@media(max-width:760px){.profile-grid{grid-template-columns:1fr}}

#catalog-sync-status{margin-bottom:24px}
.saved-price-rate{padding:20px;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--bg)}.saved-price-rate>span{color:var(--muted);font-size:12px}.saved-price-rate strong{display:block;font-size:25px;color:var(--orange);margin:8px 0;font-variant-numeric:tabular-nums}.saved-price-rate p{margin:5px 0}.saved-price-rate small{color:var(--muted);font-size:11px}.saved-price-times{display:flex;flex-wrap:wrap;gap:16px 45px;margin:20px 0}.saved-price-times dt{font-size:11px;color:var(--muted)}.saved-price-times dd{margin:4px 0;font-size:12px}.saved-price-search{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:24px 0}.saved-price-search .field{flex:1;min-width:190px;margin:0}.saved-price-search button,.saved-price-search a{min-height:44px}.saved-price-count{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:20px 0 12px;color:var(--muted);font-size:12px}.saved-price-table{min-width:100%}.saved-price-table td:first-child{width:55px}.saved-price-table td:nth-child(2),.saved-price-table td:nth-child(3){min-width:180px}.saved-price-table td>small{display:inline;color:var(--muted);font-size:10px;margin-inline-start:8px}#saved-prices .pagination{align-items:center;flex-wrap:wrap}#saved-prices .pagination>span{font-size:12px;color:var(--muted)}@media(max-width:600px){.saved-price-rate strong{font-size:21px}.saved-price-search .field{flex-basis:100%}.saved-price-search a{font-size:11px}.saved-price-search button{flex:1}}
.sync-history td>small{display:inline;color:var(--muted);margin-inline-start:8px}
.sync-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.sync-title h2{margin:0}.sync-title .tag{max-width:100%;white-space:normal}.sync-schedule{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 24px}.sync-schedule span{font-size:11px;border:1px solid var(--line);border-radius:var(--corner-radius);padding:4px 8px;font-variant-numeric:tabular-nums}.sync-headline{display:flex;align-items:flex-start;gap:15px;padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:var(--corner-radius)}.sync-headline h3{margin:0 0 5px;font-size:19px}.sync-headline p{margin:0;color:var(--muted);font-size:13px}.sync-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--corner-radius);flex:none;color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent)}.sync-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sync-icon-running svg{animation:sync-rotate 1.5s linear infinite}.sync-icon-waiting{color:var(--muted);background:var(--panel)}.sync-icon-failed{color:#ffd28d;background:#ffd28d16}.sync-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;padding:0}.sync-stages li{display:flex;align-items:center;gap:9px;min-width:0}.sync-stages strong,.sync-stages span:not(.sync-icon){display:block}.sync-stages strong{font-size:13px}.sync-stages div>span{font-size:11px;color:var(--muted)}.sync-progress-label{display:flex;justify-content:space-between;gap:15px;font-size:12px}.sync-progress{display:block;width:100%;height:8px;margin:10px 0 25px;border:0;border-radius:var(--corner-radius);overflow:hidden;accent-color:var(--orange);background:var(--bg)}.sync-progress::-webkit-progress-bar{background:var(--bg)}.sync-progress::-webkit-progress-value{background:var(--orange);border-radius:var(--corner-radius)}.sync-progress::-moz-progress-bar{background:var(--orange)}.sync-data-title{font-size:15px;margin:24px 0 12px}.sync-counts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sync-counts>div{background:var(--bg);padding:16px;border-radius:var(--corner-radius);border:1px solid var(--line)}.sync-counts span{font-size:12px;color:var(--muted)}.sync-counts strong{display:block;font-size:30px;line-height:1.5;color:var(--orange);font-variant-numeric:tabular-nums}.sync-breakdown{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;margin:16px 0}.sync-breakdown>div{display:flex;gap:8px}.sync-breakdown dt{color:var(--muted)}.sync-breakdown dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.sync-last{padding:12px 0;font-size:12px;overflow-wrap:anywhere}.sync-last span{color:var(--muted)}.sync-times{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:20px 0}.sync-times dt{font-size:11px;color:var(--muted)}.sync-times dd{margin:4px 0;font-size:13px;font-variant-numeric:tabular-nums}.sync-next,.sync-previous{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.sync-next span:not(.sync-icon){color:var(--muted);font-size:12px}.sync-next strong{display:block;font-size:16px;font-variant-numeric:tabular-nums}.sync-previous{align-items:flex-start;font-size:12px}.sync-previous p{margin:5px 0;color:var(--muted)}.sync-history{margin-top:20px}.sync-history summary{cursor:pointer;font-size:13px}.sync-history table{font-size:11px}.sync-history th,.sync-history td{white-space:nowrap}.sync-history-state{display:inline-flex;align-items:center;gap:6px}.sync-history .sync-icon{width:23px;height:23px}.sync-history .sync-icon svg{width:15px;height:15px}.sync-read-error{color:#ffd28d;font-size:12px}@keyframes sync-rotate{to{transform:rotate(360deg)}}@media(max-width:760px){.sync-title{align-items:flex-start}.sync-title h2{font-size:19px}.sync-stages{grid-template-columns:1fr;gap:14px}.sync-stages li>div{display:flex;flex:1;align-items:center;justify-content:space-between;gap:10px}.sync-counts{gap:9px}.sync-counts>div{padding:12px}.sync-counts strong{font-size:24px}.sync-times{grid-template-columns:1fr}.sync-headline{padding:14px;gap:10px}.sync-headline h3{font-size:17px}}@media(prefers-reduced-motion:reduce){.sync-icon-running svg{animation:none}}

.saved-exchange-fields{margin:0}.saved-exchange-fields>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.saved-exchange-fields>div:last-child{border-bottom:0}.saved-exchange-fields dt{color:var(--muted);font-size:13px}.saved-exchange-fields dd{margin:0;text-align:right;font-weight:700;color:var(--orange);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:480px){.saved-exchange-fields>div{grid-template-columns:1fr;gap:3px}.saved-exchange-fields dd{text-align:left}}

.saved-games-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.saved-games-intro strong{font-size:24px;color:var(--orange);font-variant-numeric:tabular-nums}.saved-games-intro p{margin:6px 0}.saved-games-intro small{color:var(--muted)}.saved-game-types{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.saved-games-table{min-width:100%}.saved-games-table td:nth-child(2){min-width:180px}.saved-game-link{color:var(--orange);text-decoration:underline;text-underline-offset:3px}.saved-games-table .tag{white-space:nowrap}@media(max-width:760px){.saved-games-intro{align-items:flex-start;flex-direction:column}}

/* Buy Price columns expand to their full single-line contents; scroll the table only. */
#buy-prices{min-width:0;max-width:100%}.buy-price-summary p{margin:12px 0}.buy-price-summary strong{color:var(--orange);font-variant-numeric:tabular-nums}.buy-price-pending{text-align:center;max-width:720px;margin:24px auto;padding:18px 0}.buy-price-pending p{color:var(--muted);line-height:1.9}.buy-price-status-icon{font-size:38px;color:var(--orange)}.buy-price-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.buy-price-table{width:max-content;min-width:100%;table-layout:auto;border-collapse:collapse;font-size:13px}.buy-price-table th,.buy-price-table td{border:1px solid #71598d;padding:15px 18px;white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:none;text-align:center;vertical-align:middle}.buy-price-table th{background:#241b32;color:#e1d2f7}.buy-price-table td[data-column="amount"],.buy-price-table th[data-column="amount"]{text-align:right;font-variant-numeric:tabular-nums}.buy-price-table tbody tr:nth-child(even){background:#bd9aff06}#buy-prices .pagination{flex-wrap:wrap;align-items:center}#buy-prices .pagination>span{font-size:12px;color:var(--muted)}

.sync-stages{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.sync-stages{grid-template-columns:1fr}}

.sell-item-photo{position:relative;display:inline-grid;place-items:center;width:72px;height:72px;border:1px solid var(--line);border-radius:var(--corner-radius);overflow:hidden;background:var(--panel,#20172e)}.sell-item-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--panel,#20172e)}.sell-photo-missing{display:inline-grid;place-items:center;width:72px;height:72px;color:var(--muted)}#sell-prices .pagination{flex-wrap:wrap;align-items:center}#sell-prices .pagination>span{font-size:12px;color:var(--muted)}

/* Member item selection opens a dedicated checkout route. */
.game-item-list{min-width:0}
.offer-link{border:1px solid var(--line);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}.offer-link:hover,.offer-link:focus-visible{border-color:var(--orange);background:var(--panel);outline-offset:3px}.checkout-item-panel{display:flex;flex-direction:column;gap:18px}.checkout-selected-item{display:grid;gap:18px;min-width:0}.checkout-selected-item>div{min-width:0;overflow-wrap:anywhere}.checkout-selected-item .product-head{margin-bottom:0}.checkout-product-head h1{font-size:28px;line-height:1.3;margin:0 0 8px}.checkout-item-details h3{font-size:20px;line-height:1.4;margin:0 0 8px}.checkout-selected-item strong{color:var(--orange)}.checkout-item-details strong{display:block;font-size:20px;margin-top:8px}.checkout-selected-item .helper{margin:0}

/* Equal Games category controls in both Member and Seller. */
.category-picker{min-width:0;max-width:100%;margin:16px 0}.catalog-tools>.category-picker{flex:1;margin:0}.category-scroll-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.category-scroll-toolbar .helper{margin:0}.category-scroll-buttons{display:flex;gap:6px;flex-shrink:0}.category-scroll-buttons button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;font-size:18px;line-height:1}.category-strip.tabs,.category-strip.saved-game-types{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;max-width:100%;margin:0;padding:4px 0 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--orange) var(--panel)}.category-strip.tabs>button,.category-strip.saved-game-types>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 160px;width:160px;min-width:160px;max-width:160px;height:48px;min-height:48px;margin:0;padding:8px 12px;font-size:12px;line-height:1.4;white-space:nowrap;scroll-snap-align:center}.category-strip>:first-child{scroll-snap-align:start}.category-strip>:last-child{scroll-snap-align:end}.category-strip .icon{flex-shrink:0}.category-strip>:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}

/* Authenticated Seller's live supplier account; never the Member wallet. */
.supplier-balance{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:26px;border-color:var(--orange)}.supplier-balance-info{min-width:0;flex:1}.supplier-balance-amount{display:block;font-size:clamp(23px,3vw,32px);line-height:1.4;color:var(--orange);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:8px 0}.supplier-balance-amount small{font-size:14px;white-space:nowrap}.supplier-balance .helper{margin:4px 0}.supplier-balance-actions{flex-shrink:0}.balance-spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--orange);border-radius:var(--spinner-radius);vertical-align:middle;margin-right:5px;animation:balance-spin .8s linear infinite}@keyframes balance-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.supplier-balance{align-items:flex-start}.supplier-balance-actions{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.balance-spinner{animation:none}}

/* Role-scoped reports retain full single-line, scrollable tables. */
.report-tabs{display:flex;gap:8px;overflow-x:auto;max-width:100%;margin:20px 0;padding-bottom:8px}.report-tabs>a{flex:none;white-space:nowrap}.report-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.report-filters .field{flex:1 1 150px;min-width:0;margin:0}.report-filters .report-search{flex-basis:220px}.report-filters input,.report-filters select{min-width:0;width:100%;margin:0}.report-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.report-filters .form-error{flex-basis:100%}.report-section{margin:22px 0;min-width:0}.report-section .section-heading{align-items:center;flex-wrap:wrap}.report-section .pagination{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.report-table{width:max-content;min-width:100%;table-layout:auto}.report-table th,.report-table td{white-space:nowrap;border:1px solid var(--line)}.mobile-nav:not(.cashier-nav){grid-template-columns:repeat(5,minmax(0,1fr))}
:root[data-role="member"] .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav.cashier-nav{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Uniform square Member card artwork fills its box edge to edge. */
.game-art.has-image{background:var(--panel)}
.game-art.has-image::after{content:none}
.game-art.has-image>.icon{display:none}
.game-card .game-art{height:auto;aspect-ratio:1 / 1}
.game-card .game-art.has-image{padding:0}
.game-card .game-art.has-image img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.product-head .game-art.has-image{padding:0}
.product-head .game-art.has-image img{display:block;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}


/* Member catalogue: three equal cards per row on phones and touch-only WebViews. */
@media(max-width:760px),(hover:none) and (pointer:coarse){
 .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .catalog-grid>.game-card{min-width:0}
 .catalog-grid .game-card-body{overflow-wrap:anywhere}
}

/* Compact name-only footer below Member Games artwork. */
.catalog-grid .game-card-body{padding-block:3px}
.catalog-grid .game-card-body strong{margin-bottom:0}

/* Member names stay on one line; scroll within the bordered game card. */
.catalog-grid>.game-card{min-width:0;border:1px solid var(--orange)}
.catalog-grid .game-name-scroll{display:block;max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:normal;overflow-x:auto;overflow-y:hidden;text-overflow:clip;scrollbar-width:thin;scrollbar-color:var(--orange) var(--panel);padding-bottom:5px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:ew-resize;user-select:none}
.game-name-scroll::-webkit-scrollbar{height:4px}
.game-name-scroll::-webkit-scrollbar-thumb{background:var(--orange);border-radius:var(--corner-radius)}
.game-card.game-card-opening{position:relative;z-index:2;transform-origin:center;will-change:transform;cursor:progress}
@media(prefers-reduced-motion:reduce){.game-card,.game-card:hover{transition:none;transform:none}}

/* Every Member action uses one shared three-cycle feedback before continuing. */
.member-activating{position:relative;z-index:3;transform-origin:center;will-change:transform;cursor:progress}
.member-inline-activating{display:inline-block}
@media(prefers-reduced-motion:reduce){.member-activating{will-change:opacity}}

/* Footer selection follows the current page and each role's accent colour. */
.mobile-nav a{min-width:0;min-height:44px;padding:5px 2px;border:1px solid transparent;border-radius:var(--corner-radius);color:var(--muted);justify-content:center}
.mobile-nav a[aria-current="page"]{color:var(--orange);background:var(--accent-tint);border-color:var(--orange)}
.footer-links a[aria-current="page"]{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* One symmetric page gutter for every role, page and Android WebView. */
:root{--page-max-width:1264px;--page-gutter:32px;--page-safe-gutter:max(var(--page-gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
@media(max-width:760px){:root{--page-gutter:12px}}
.header-inner,.container,.footer{width:100%;max-width:var(--page-max-width);min-width:0;margin-inline:auto;padding-inline:var(--page-safe-gutter)}
.mobile-nav{padding-inline:var(--page-safe-gutter)}

/* Keep wide navigation inside the same page edges at intermediate widths. */
.header-inner{flex-wrap:wrap}
.top-nav{min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap}
.top-nav a{flex-shrink:0}
.header-actions{min-width:0;max-width:100%;flex-wrap:wrap}
@media(min-width:761px) and (max-width:1100px){.top-nav{order:1;flex-basis:100%}}
.dashboard-tabs{min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap}
.dashboard-tabs>.button{flex-shrink:0}

/* Full-frame item photos above centred names and amounts. */
.offer-grid>.offer{min-width:0;padding:0;text-align:center}
.offer-grid .offer-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;object-position:center;margin:0;padding:6px}
.offer-grid .offer-body{display:block;padding:14px 10px;color:var(--text);font-size:inherit;overflow-wrap:anywhere}
.offer-grid .offer-amount{display:block}
.sell-price-table .sell-source{background:#110d192e}.sell-disabled-label{color:var(--muted);font-size:12px}.sell-price-table .sell-item-photo{vertical-align:middle}
.sell-editor-page{margin-top:20px}.sell-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sell-editor-field{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--corner-radius)}.sell-editor-field h3{margin:0 0 10px}.sell-editor-field>label:not(.sell-field-toggle){display:block;margin:14px 0 8px}.sell-editor-field input:not([type="checkbox"]){width:100%;min-width:0;box-sizing:border-box}.sell-editor-field input[data-numeric]{text-align:right;font-variant-numeric:tabular-nums}.sell-field-toggle{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.sell-field-toggle input{width:34px;min-width:34px;height:20px;margin:0;accent-color:var(--orange)}.sell-editor-photo{margin-top:16px}.sell-editor-saved{margin:20px 0;padding:14px 18px;border:1px solid var(--line);border-radius:var(--corner-radius)}.sell-editor-saved p{margin:5px 0}.sell-editor-saved strong{font-variant-numeric:tabular-nums}@media(max-width:760px){.sell-editor-grid{grid-template-columns:minmax(0,1fr)}.sell-editor-field{padding:14px}.sell-editor-saved{padding:12px}}

.sell-percent-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.sell-percent-form{max-width:780px;margin:20px auto}.sell-percent-form select,.sell-editor-field select{width:100%;min-width:0}.sell-percent-status{padding:24px;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel)}.sell-percent-status .spinner{margin:20px 0}.sell-percent-status p{overflow-wrap:anywhere}

/* Member pages omit the legal footer; leave room for fixed phone navigation. */
@media(max-width:760px){.container.member-page{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}

/* Persisted Member item visibility; the price/editor fields remain separate. */
.sell-visibility-toggle{min-width:76px;white-space:nowrap}
.visibility-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0}.visibility-toolbar .helper{display:block;margin:4px 0}.visibility-actions{display:flex;gap:8px;flex-wrap:wrap}

.sell-price-table .sell-item-group-heading th{background:var(--accent-tint);color:var(--orange);font-size:15px;border-top:2px solid var(--orange);text-align:left}.sell-item-group-heading .sell-group-label{position:sticky;left:18px}

.group-name-table input{min-width:240px;width:100%;text-align:center}.group-name-table th[scope="row"]{font-weight:600}
.group-name-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.sell-group-label{display:inline-flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap}.sell-group-value-line{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.sell-item-group-heading .sell-group-label{align-items:flex-start}.sell-group-name-edit{width:32px;height:32px;min-width:32px;padding:6px;color:var(--orange);border-color:var(--line);flex:none}.sell-group-name-edit .icon{width:16px;height:16px}.group-name-fixed{color:var(--orange);font-weight:700}@media(max-width:760px){.sell-group-name-edit{width:44px;height:44px;min-width:44px}}

.sell-group-fixed-label{color:var(--muted);font-size:12px;font-weight:500}.sell-group-name-value{color:var(--text);font-weight:700}

/* Member group names are boxed headings, separate from the item cards. */
#member-offers{row-gap:35px}
.member-item-group{min-width:0}
.member-item-group>h3{margin:0 0 14px;padding:6px 16px;border:1px solid var(--orange);border-radius:var(--corner-radius);background:var(--accent-tint,#ff8b4d12);color:var(--orange);font-size:16px;line-height:1.5;overflow-wrap:anywhere}

@media(max-width:760px){.checkout-product-head h1{font-size:23px}}

/* Member Checkout outer sections share the page background and shell gutters. */
.panel.checkout-section{background:transparent;border:0;border-radius:var(--corner-radius);box-shadow:none;padding:0}

/* The selected Games and item details share one Member Checkout box. */
#checkout-form .checkout-selected-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--corner-radius);padding:18px;gap:12px}
@media(max-width:760px){#checkout-form .checkout-selected-item{padding:16px}}

#checkout-form .checkout-buyer-fields{margin-top:12px}

/* Compact spacing is scoped to Checkout; prices remain unchanged. */
#checkout-form .split{gap:16px}
#checkout-form .stack,#checkout-form .checkout-item-panel{gap:12px}
#checkout-form .checkout-product-head{gap:12px}
#checkout-form .checkout-item-details h3{margin-bottom:4px}
#checkout-form .checkout-item-details strong{margin-top:4px}
#checkout-form .summary-card>h2{margin-bottom:8px}
#checkout-form .summary-line{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;line-height:20px;padding:6px 0;gap:12px;margin:0;border:0}
#checkout-form .summary-line>span{font-size:inherit;line-height:inherit;font-weight:400}
#checkout-form .summary-line>b,#checkout-form .summary-line>strong{font-size:inherit;line-height:inherit;font-weight:700;text-align:right}
#checkout-form .notice{padding:10px 12px;margin:0 0 12px}
#checkout-form .field{margin-bottom:12px}
#checkout-form .field>label{margin-bottom:5px}

/* Two matching rules separate Checkout item details and the balance summary. */
#checkout-form .checkout-item-panel::after{content:"";display:block;align-self:stretch;border-bottom:4px double var(--line)}
#checkout-form #wallet-check:not(:empty){border-bottom:4px double var(--line)}

#checkout-form .checkout-player-details{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);font-size:13px;line-height:1.65}
#checkout-form .checkout-player-details>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline}
#checkout-form .checkout-player-details span{color:var(--muted);flex-shrink:0}
#checkout-form .checkout-player-details b{text-align:right;overflow-wrap:anywhere;min-width:0}

/* Keep the larger Checkout confirmation square centred with its label. */
#checkout-form .checkout-confirmation{align-items:center;min-height:44px;gap:10px}
#checkout-form #checkout-confirmation{width:22px;height:22px;flex:0 0 22px;margin:0;padding:0;cursor:pointer}
#checkout-form #checkout-confirmation:disabled{opacity:.45;cursor:not-allowed}
#checkout-form .checkout-confirmation>span{min-width:0}

/* Order status stays visible on phones as soon as a supplier result arrives. */
.section-heading.order-heading{flex-wrap:wrap;align-items:center}
.order-heading>div{min-width:0}
.section-heading .tag.order-status{display:inline-block;flex:none;font-size:12px}

/* Seller-defined item numbering is separate from the price and item identity. */

/* Seller item editor follows the owner’s seven-field order on every screen. */
.sell-editor-page .sell-editor-grid{grid-template-columns:minmax(0,1fr);gap:14px}.sell-editor-page .sell-editor-field>label:first-child{margin-top:0;font-weight:700;color:var(--text)}.sell-editor-game-photo{display:grid;place-items:center;width:160px;height:160px;max-width:100%;border:1px solid var(--line);border-radius:var(--corner-radius);overflow:hidden;background:var(--panel)}.sell-editor-game-photo>*{grid-area:1/1}.sell-editor-game-photo img{display:block;width:100%;height:100%;object-fit:contain;background:var(--panel)}.sell-editor-game-photo img.hidden{display:none}.sell-editor-page input[readonly]{background:var(--bg);color:var(--muted)}.sell-editor-pricing{margin-top:8px}.sell-editor-pricing button{margin-top:12px}

.sell-editor-page>.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Seller item page: saved Game logo/name with one all-items toggle. */
.sell-game-heading{display:flex;align-items:center;gap:12px;min-width:0;margin:18px 0}
.sell-game-logo{position:relative;display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel)}
.sell-game-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.sell-game-heading-name{flex:1;min-width:0}
.sell-game-heading-name h2{margin:0;font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.sell-game-heading>.sell-game-toggle{flex:0 0 auto;min-width:72px;min-height:44px;padding:10px 12px;margin-left:auto}
@media(max-width:760px){.sell-game-heading{gap:10px}.sell-game-heading-name h2{font-size:16px}}

/* Profit opens inline text choices, never a native select/popup or boxed button. */
.sell-game-percent{display:block;margin-top:4px;font-size:13px;line-height:1.5}
.sell-game-percent button,.sell-game-percent-options button{appearance:none;min-width:0;margin:0;padding:3px 0;border:0;border-radius:var(--corner-radius);background:transparent;box-shadow:none;color:var(--orange);font:inherit;cursor:pointer;transition:none}
.sell-game-percent button:hover:not(:disabled),.sell-game-percent-options button:hover:not(:disabled){background:transparent;transform:none;text-decoration:underline;text-underline-offset:4px}
.sell-game-percent button:focus-visible,.sell-game-percent-options button:focus-visible{outline:none;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.sell-game-percent button:disabled{cursor:wait;opacity:.6}
.sell-game-percent-options{display:flex;flex-wrap:wrap;gap:4px 12px;margin:-4px 0 18px;padding:0;border:0;background:transparent;box-shadow:none;font-size:13px}
.sell-game-percent-options[hidden]{display:none}
.sell-game-percent-options button{min-height:32px;color:var(--muted)}
.sell-game-percent-options button[aria-pressed="true"]{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.sell-game-percent-status{display:block;font-size:11px;color:var(--orange)}
.sell-game-percent-status:empty{display:none}
@media(max-width:760px){.sell-game-percent-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}}

/* View-only quantity with unboxed minus/plus text controls. */
#checkout-form .checkout-quantity-row{align-items:center}
#checkout-form .checkout-quantity{display:flex;align-items:center;gap:4px;flex-shrink:0}
#checkout-form .checkout-quantity button{width:34px;height:34px;min-width:34px;padding:0;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--orange);border:0;border-radius:var(--corner-radius);background:transparent;box-shadow:none}
#checkout-form .checkout-quantity button:disabled{opacity:.35;cursor:default}
#checkout-form .checkout-quantity output{display:block;width:76px;min-width:0;padding:0;text-align:center;font-size:13px;line-height:20px;font-weight:700;font-variant-numeric:tabular-nums;border:0;border-radius:var(--corner-radius);background:transparent;box-shadow:none}
#checkout-form .checkout-quantity button:hover:not(:disabled){background:transparent;box-shadow:none}
#checkout-form .checkout-quantity button:focus-visible{outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* Manual Sell Price makes these two markup values informational only. */
.sell-price-table .sell-markup-muted{opacity:.45}

/* Seller item lists sit directly on the page; the table owns its cell borders. */
#sell-prices.sell-item-list{min-width:0;max-width:100%}

/* All Seller, Cashier and Member pages use unboxed content surfaces.
   Future page sections must use this shared layout. Interactive product/bank cards,
   table lines, controls, image frames, feedback and dialogs keep their own styles. */
:root #main :is(.panel,.stat,.order-row,.empty,.payment-editor,.deposit-payment-card,.saved-price-rate,.sell-editor-field,.sell-editor-saved,.sell-percent-status,.sync-headline,.checkout-selected-item,.hero,.app-banner),
:root #main .sync-counts>div{
 background:transparent;border:0;border-radius:var(--corner-radius);box-shadow:none;padding:0;min-width:0;
}

/* Owner-requested boxed Member Wallet balance summary. */
:root[data-role="member"] #main .member-wallet-summary{border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);padding:18px 20px;margin:0 0 20px;min-width:0;max-width:100%}
.member-wallet-summary dl{margin:0}
.member-wallet-summary .wallet-balance-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;font-size:14px;line-height:1.6}
.member-wallet-summary dt{margin:0;text-align:left;color:var(--text);white-space:nowrap}
.member-wallet-summary dd{margin:0;min-width:0;text-align:right;white-space:nowrap;overflow-x:auto;font-weight:700;font-variant-numeric:tabular-nums;color:var(--orange);scrollbar-width:thin}
.member-wallet-summary .wallet-balance-available{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}
.member-profile-summary .wallet-balance-available{border-top:0;margin-top:0;padding-top:8px}
.member-wallet-summary .wallet-profile-created{margin-top:12px;border-top:4px double var(--line);padding-top:14px}
.member-wallet-summary .wallet-profile-row dd{font-weight:400;color:var(--text)}
@media(max-width:760px){:root[data-role="member"] #main .member-wallet-summary{padding:14px 16px}}

/* Member Wallet section buttons keep the balance summary visible above each view. */
.member-wallet-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px;min-width:0}
.member-wallet-tabs button{width:100%;min-width:0;min-height:44px;padding:10px 8px}
#member-wallet-content,#member-wallet-topup,#member-wallet-history{min-width:0;max-width:100%}
#member-wallet-topup .payment-picker-toolbar{justify-content:flex-end}
#member-wallet-topup #pin-status:empty{display:none}

#member-wallet-overview,#member-wallet-activity{min-width:0;max-width:100%}
.wallet-activity-actions{justify-content:flex-end;margin-bottom:12px}
.wallet-activity-section .pagination{align-items:center;flex-wrap:wrap}

/* Owner-requested selected bank account box in Member Topup. */
:root[data-role="member"] #main #deposit-payment-details .deposit-payment-card{border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);padding:18px 20px;max-width:100%}
.deposit-bank-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px;min-width:0}
#member-wallet-topup #deposit-payment-details .deposit-bank-heading{border-bottom:4px double var(--line);padding-bottom:12px;margin-bottom:12px}
.deposit-bank-logo{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:var(--corner-radius);background:#fff;overflow:hidden}
.deposit-bank-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.deposit-bank-logo>.icon{width:32px;height:32px;color:#555}
.deposit-bank-title{min-width:0}
.deposit-payment-card .deposit-bank-title h3{margin:0;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.deposit-bank-currency{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.4}
@media(max-width:760px){:root[data-role="member"] #main #deposit-payment-details .deposit-payment-card{padding:14px 16px}}

/* Member Store automatic pagination: compact, role-coloured feedback only. */
.catalog-load{min-height:48px;margin-top:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.catalog-load[hidden]{display:none}.catalog-load .spinner{margin:10px auto}.catalog-load .helper{margin:0}

/* Owner-requested Seller landing controls box; all other page panels stay unboxed. */
:root[data-role="seller"] #main .sell-catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);min-width:0;max-width:100%;box-sizing:border-box}
.sell-catalog-actions .sell-percent-toolbar{min-width:0;flex:1;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:8px;margin:0;text-align:left}
.sell-catalog-actions .sell-catalog-label{white-space:nowrap;flex-shrink:0}
.sell-catalog-actions .sell-percent-toolbar>.button{white-space:nowrap}
.sell-catalog-actions .sell-percent-toolbar>.text-link{font-size:12px;overflow-wrap:anywhere}
.sell-catalog-visibility{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;text-align:right;font-size:12px}
.sell-catalog-visibility .helper{margin:0;font-size:11px}
@media(max-width:760px){:root[data-role="seller"] #main .sell-catalog-actions{padding:12px;gap:10px}.sell-catalog-visibility{max-width:145px;font-size:11px}.sell-catalog-actions .sell-percent-toolbar>.button{padding:10px 12px;font-size:12px}}

/* Seller global Profit remains an accessible text link, never a boxed button. */
:root[data-role="seller"] #main .sell-catalog-profit{display:inline;color:var(--orange);font-size:15px;font-weight:700;line-height:1.6;white-space:nowrap;padding:0;border:0;border-radius:var(--corner-radius);background:transparent;box-shadow:none;text-decoration:none;min-width:0;min-height:0}
:root[data-role="seller"] #main .sell-catalog-profit:is(:hover,:focus-visible){color:var(--orange);background:transparent;outline:none;box-shadow:none;text-decoration:underline;text-underline-offset:4px}

/* Global Profit shares the per-game text picker beneath its existing controls box. */
.sell-catalog-actions .sell-game-percent{margin:0}
.sell-catalog-actions+.sell-game-percent-options{margin:0 0 18px}

/* Seller live search feedback retains the input and keyboard while results refresh. */
.sell-search-status:empty{display:none}.sell-search-status{display:block;margin-top:6px;font-size:12px;color:var(--orange)}.sell-search-status .spinner{display:inline-block;width:16px;height:16px;margin:0 6px 0 0;vertical-align:middle}

/* Seller management lives in the Footer on phones, Android and desktop. */
.mobile-nav.seller-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));z-index:20;background:var(--header);border-top:1px solid var(--orange);backdrop-filter:blur(15px);padding:8px max(var(--page-safe-gutter),calc((100vw - var(--page-max-width))/2 + var(--page-safe-gutter))) max(8px,env(safe-area-inset-bottom))}
.seller-nav>a,.seller-footer-account>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:44px;padding:5px 2px;border:1px solid transparent;border-radius:var(--corner-radius);font-size:10px;font-weight:700;color:var(--muted);list-style:none}
.seller-footer-account{padding:0;border:0;min-width:0}
.seller-footer-account>summary::-webkit-details-marker{display:none}
.seller-footer-account>summary[aria-current="page"],.seller-footer-account[open]>summary{color:var(--orange);background:var(--accent-tint);border-color:var(--orange)}
.seller-footer-account>summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.seller-footer-menu{position:absolute;bottom:calc(100% + 8px);right:max(var(--page-safe-gutter),calc((100vw - var(--page-max-width))/2 + var(--page-safe-gutter)));width:min(248px,calc(100vw - 2 * var(--page-safe-gutter)));max-height:calc(100dvh - 100px);overflow-y:auto;display:grid;gap:4px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--corner-radius);box-shadow:0 8px 30px #0007}
.seller-footer-menu a{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:44px;padding:10px 12px;font-size:13px;text-align:left}
html[data-role="seller"]:has(.seller-nav) .footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}

/* Seller balances refresh in the background; page titles follow the amount. */
html[data-role="seller"] #main .eyebrow:has(+ .page-title){display:none}
.supplier-balance-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.supplier-balance-amount .balance-spinner{margin:0 0 0 8px}
.supplier-balance-unavailable{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:8px;border:1px solid currentColor;border-radius:var(--corner-radius);font-size:13px;vertical-align:middle}

/* One submitted Pending Topup presentation for Member, Seller and Cashier. */
.topup-view .section-heading{flex-wrap:wrap}.topup-view .section-heading .tag{display:inline-block;flex:none;white-space:nowrap}
.pending-topup-actions{margin:16px 0 12px}

.topup-reject-options{display:grid;gap:12px;border:0;padding:0;margin:18px 0 22px;min-width:0}.topup-reject-options legend{margin-bottom:12px;color:var(--muted);font-size:13px}.topup-reject-options label{display:flex;align-items:center;gap:10px;cursor:pointer}.topup-reject-options input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--orange)}.topup-review-form [name="senderAccount"]{font-variant-numeric:tabular-nums}

.topup-review-form{margin:20px 0 12px;min-width:0}.topup-review-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.topup-review-modes button[aria-pressed="true"]{color:#151821;background:var(--orange);border-color:var(--orange)}.topup-review-fields{border:0;padding:0;margin:0;min-width:0}.topup-review-fields>.field{display:block}.topup-review-fields>.field>span{display:block;margin-bottom:7px}.topup-review-fields.topup-reject-options{margin:0 0 20px}.topup-review-form .form-error:empty{display:none}
.cashier-topup-success-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.cashier-topup-success-dialog h2{margin:0 0 8px}.cashier-topup-success-dialog .cashier-success-summary{margin:8px 0 14px}.cashier-review-confirm-divider{height:0;border:0;border-top:3px double var(--line);margin:12px 0}.cashier-topup-success-dialog .cashier-success-sender{margin:10px 0 18px}.cashier-topup-success-dialog #cashier-review-pin{font-variant-numeric:tabular-nums}.cashier-topup-success-dialog .helper:empty{display:none}.cashier-topup-success-dialog .actions{justify-content:space-between;gap:12px}.cashier-topup-success-dialog .actions button{flex:1;min-width:0}
.cashier-topup-success-dialog{max-height:min(calc(var(--cashier-visible-height,100dvh) - 24px),calc(100dvh - 24px));overscroll-behavior:contain;scrollbar-gutter:stable}.cashier-topup-success-dialog form{padding-bottom:env(safe-area-inset-bottom,0px)}html.cashier-dialog-scroll-locked{overflow:hidden;overscroll-behavior:none}html.cashier-dialog-scroll-locked body{overflow:hidden;overscroll-behavior:none}.topup-review-form [data-topup-next]{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:2;box-shadow:0 8px 20px #0008;scroll-margin-bottom:16px}
@media(max-width:760px){.topup-review-form [data-topup-next]{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

.order-detail-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0}.order-detail-rows>div{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;min-width:0}.order-detail-rows dt{margin:0;text-align:left;font-size:13px;color:var(--muted)}.order-detail-rows dd{margin:0;min-width:0;text-align:right;font-size:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.order-detail-rows .order-status{display:inline-block!important;max-width:100%;white-space:normal}.order-buyer-divider{border:0;border-top:1px solid var(--line);margin:16px 0}.order-buyer-details{margin-bottom:20px}.order-buyer-details dt{max-width:min(42vw,260px);overflow-wrap:anywhere}.order-history-dialog table{border-collapse:collapse;min-width:100%;width:max-content}.order-history-dialog th,.order-history-dialog td{border:1px solid var(--line);padding:10px 12px;white-space:nowrap}

/* Order Details status opens the shared saved history dialog. */
.order-history-trigger{display:inline-flex;padding:0;border:0;border-radius:var(--corner-radius);background:transparent;vertical-align:middle}.order-history-trigger:hover:not(:disabled){background:transparent;transform:none}.order-history-trigger .order-status{font-weight:650}.order-history-dialog{width:min(620px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;overflow:auto}.order-history-dialog h2{font-size:20px;margin:0}.order-history-dialog .table-scroll{max-width:100%;overflow-x:auto}.order-history-dialog th,.order-history-dialog td{text-align:center}

.order-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.order-history-close{flex:none;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:var(--corner-radius);background:transparent;font-size:19px;line-height:1}.order-history-close:hover:not(:disabled){background:transparent;transform:none}

/* Member Status History: purchased game summary, exact API ID, then saved history. */
.order-history-summary{display:grid;gap:12px;min-width:0;margin:0 0 12px}
.order-history-game{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.order-history-product{display:grid;gap:4px;flex:1;min-width:0;text-align:left}.order-history-product p{margin:0;overflow-wrap:anywhere;line-height:1.5}
.order-history-game-name{font-size:16px;font-weight:650}.order-history-item-name{font-size:13px;color:var(--muted)}.order-history-item-price{font-size:16px;font-weight:750;color:var(--orange);font-variant-numeric:tabular-nums}
.order-history-game>.order-card-logo{width:var(--logo-size);height:var(--logo-size);border:1px solid var(--line)}
.order-history-dialog .order-history-divider{width:100%;margin:0;border:0;border-top:var(--member-divider)}
.order-history-id{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;margin:0;min-width:0}.order-history-id dt{margin:0;text-align:left;font-size:13px;color:var(--muted)}.order-history-id dd{margin:0;min-width:0;text-align:right;font-size:14px;overflow-wrap:anywhere}

/* Seller overview and My orders share compact product / status cards. */
.order-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.order-card{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:18px;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);color:var(--text);text-decoration:none;transition:border-color .15s ease}
.order-card:hover{border-color:var(--orange)}
.order-card:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.order-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0;flex:1}
.order-card-product{min-width:0;flex:1}
.order-card-product h2{font-size:16px;line-height:1.5;margin:0 0 4px;overflow-wrap:anywhere}
.order-card-product p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}
.order-card-price{display:block;font-size:16px;font-weight:750;color:var(--orange);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.order-card-logo{position:relative;display:grid;place-items:center;flex:none;width:80px;height:80px;overflow:hidden;border-radius:var(--corner-radius);background:var(--bg);color:var(--muted)}
.order-card-logo>.icon{width:30px;height:30px}
.order-card-logo>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:var(--panel)}
.order-card-divider{width:100%;margin:0;border:0;border-top:1px solid var(--line)}
/* Member History and Orders use the same double content separators as Topup. */
:root[data-role="member"] #main :is(.order-card-divider,.order-buyer-divider,.summary-total){border-top:4px double var(--line)}
.order-card-status{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0;font-size:12px;white-space:nowrap}
.order-card-status-time{min-width:0;overflow-x:auto;scrollbar-width:thin;color:var(--muted);text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;overscroll-behavior-x:contain}
.order-card-grid>.empty{grid-column:1/-1}
@media(max-width:760px){.order-card-grid{grid-template-columns:minmax(0,1fr);gap:12px}.order-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.order-card{transition:none}}

/* Returned fulfillment values are explicit owner-requested boxes, not page wrappers. */
.order-delivery{min-width:0;margin-top:20px}.order-delivery-list{display:grid;gap:10px;min-width:0}.order-delivery-box{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--panel);padding:10px 12px}.order-delivery-content{min-width:0;flex:1}.order-delivery-label{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.order-delivery-value{margin:4px 0 0;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;text-align:left;user-select:text;-webkit-user-select:text}.copy-delivery{flex:none;min-width:44px;min-height:44px;padding:10px;color:var(--orange);user-select:none}

.catalog-update-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-update-row h2{margin:0}.catalog-update-row [role="switch"]{min-width:64px;min-height:44px}.catalog-update-row [aria-checked="true"]{color:var(--orange);border-color:currentColor}

/* The two Member categories fill one row when All Games Update is Off. */
.member-page .member-category-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible;scroll-snap-type:none}
.member-page .member-category-pair>button{width:100%;min-width:0;max-width:none;scroll-snap-align:none}

/* Workflow guides and breadcrumb trails stay out of every role's page UI. */
#main .crumb,#main .workflow,#main .workflow-steps,#main [data-workflow]{display:none!important}


.topup-history-card .order-card-status{font-size:11px;gap:8px}


/* Shared Game/Bank logo frame for every role and every viewport. */
:root{--logo-size:80px;--logo-radius:var(--corner-radius)}
/* Size the status value itself, including its border; leave timestamps, controls and live notices alone. */
:is(#app,#dialog) .status-value{box-sizing:border-box;display:inline-block;width:var(--logo-size);min-width:var(--logo-size);max-width:var(--logo-size);flex:none;text-align:center;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
:is(#app,#dialog) .tag.status-value{padding-inline:2px;letter-spacing:normal}
#app .sync-history-state.status-value{display:inline-flex;justify-content:center}
#app .logo-frame{position:relative;display:inline-grid;place-items:center;box-sizing:border-box;flex:0 0 var(--logo-size);width:var(--logo-size);min-width:var(--logo-size);max-width:var(--logo-size);height:var(--logo-size);min-height:var(--logo-size);max-height:var(--logo-size);aspect-ratio:1;padding:0;overflow:hidden;border:1px solid var(--logo-border,var(--line));border-radius:var(--corner-radius);background:var(--panel);color:var(--muted);vertical-align:middle}
#app .logo-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;object-fit:contain;object-position:center;border:0;border-radius:var(--corner-radius);transform:none;background:var(--panel)}
#app .logo-frame>.icon{width:32px;height:32px;stroke-width:1.7;transform:none;color:var(--muted)}
#app .logo-frame.game-art::after{content:none}
/* Member Store artwork fills each square card; other logos keep the shared size. */
#app .catalog-grid>.game-card>.logo-frame.game-art{display:grid;flex:none;width:100%;min-width:0;max-width:none;height:auto;min-height:0;max-height:none;aspect-ratio:1 / 1;margin:0;border:0;border-radius:var(--corner-radius)}
#app .catalog-grid>.game-card>.logo-frame.game-art img{object-fit:cover}
#app .payment-option{flex:0 0 var(--logo-size);width:var(--logo-size)}
/* Centre selected banks within the natural scroll limits, with no added edge space. */
#member-wallet-topup .payment-options{padding-inline:0}
#member-wallet-topup .payment-option{scroll-snap-align:center}
#member-wallet-topup .payment-option:first-child{scroll-snap-align:start}
#member-wallet-topup .payment-option:last-child{scroll-snap-align:end}
#app .payment-option input:checked+.logo-frame{--logo-border:var(--orange)}
#app .logo-frame .payment-logo{position:absolute;inset:0;width:100%;height:100%;background:var(--panel)}
#app .bank-account-heading h2{min-width:0;overflow-wrap:anywhere}
#app .product-head>div:not(.logo-frame){min-width:0}


/* Topup cards: logo at the left edge, text at the right edge; full-width footer. */
.topup-history-layout{display:grid;grid-template-columns:var(--logo-size) minmax(0,1fr);align-items:start;gap:16px;min-width:0}
.topup-history-content{min-width:0;text-align:right}
.topup-history-card .order-card-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;text-align:left}
.topup-history-card .order-card-status-time{flex:1 1 auto;min-width:0;text-align:left}
.topup-history-card .order-card-status>.tag{margin-left:auto}
@media(max-width:760px){.topup-history-layout{gap:12px}}
/* The saved Cashier rejection reason is centered in Member history and details. */
.member-topup-rejection{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}
.topup-history-card>.member-topup-rejection{margin:0}


/* Member Change PIN: navigation left, submit right on the same row. */
.member-pin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-pin-actions>.button,.member-pin-actions>button{flex:none;white-space:nowrap}

/* Member header balance is amount-only text, with the existing Wallet destination. */
.header-actions .member-header-balance{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;border-radius:var(--corner-radius);background:none;box-shadow:none;color:var(--text);font-size:13px;font-weight:650;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}

/* Shared larger header identity for Seller, Cashier and Member. */
.brand .brand-name{font-weight:900;-webkit-text-stroke:.3px currentColor}
.brand-tagline i{font:inherit;white-space:pre;flex:none}



/* Member category buttons, Games search and item-group headings share one height. */
#app #main.member-page{--member-control-height:35px}
#app #main.member-page :is(.category-strip>button,.catalog-tools .search input,.member-item-group>h3){height:var(--member-control-height);min-height:var(--member-control-height);box-sizing:border-box}
#app #main.member-page .catalog-tools .search input{padding-block:0}
#app #main.member-page .catalog-tools .search>.icon{top:50%;transform:translateY(-50%)}
#app #main.member-page .member-item-group>h3{padding-block:0;line-height:calc(var(--member-control-height) - 2px);white-space:nowrap;overflow-wrap:normal;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
#app #main.member-page .member-item-group>h3::-webkit-scrollbar{display:none}


/* Always-present Shop price notice, seamless right-to-left text loop. */
#app #main.member-page .shop-price-notice{min-width:0;max-width:100%;height:35px;overflow:hidden;color:var(--orange);font-size:13px;line-height:35px}
.shop-price-notice-track{display:flex;width:max-content;min-width:200%;animation:k9-shop-price-scroll 24s linear infinite}
.shop-price-notice-track>span{flex:1 0 auto;white-space:nowrap;padding-inline-end:48px}
@keyframes k9-shop-price-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Myanmar Member group headings use regular weight, including mixed-language names. */
#app #main.member-page .member-item-group>h3.member-group-name-myanmar{font-weight:400}

/* Seller game-photo replacement keeps the existing header size. */
.sell-game-photo-control{flex:none;position:relative;width:80px}
.sell-game-photo-button{position:relative;padding:0;cursor:pointer}
.sell-game-photo-button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.sell-game-photo-edit{position:absolute;z-index:1;right:0;bottom:0;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--corner-radius);background:var(--orange);color:#160c27;font-size:18px;line-height:1}
.sell-game-photo-status{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.sell-game-photo-status:empty{display:none}

/* Shared corners for existing and future rectangular controls/surfaces. */
:where(button,.button,input,select,textarea,dialog,fieldset,img,.card,.box,.surface,.tag,.badge,.status,.status-badge,.order-status,[role="button"],[role="status"]){border-radius:var(--corner-radius)}
input::file-selector-button{border-radius:var(--corner-radius)}
img[data-rounded-image]{-webkit-clip-path:inset(var(--image-inset-top,0px) var(--image-inset-right,0px) var(--image-inset-bottom,0px) var(--image-inset-left,0px) round var(--corner-radius));clip-path:inset(var(--image-inset-top,0px) var(--image-inset-right,0px) var(--image-inset-bottom,0px) var(--image-inset-left,0px) round var(--corner-radius))}

/* Shared lightweight 3D Footer illustrations; no images or animation requests. */
.mobile-nav .footer-icon,.member-wallet-tabs .footer-icon,#member-game-types .footer-icon{--footer-front:#b2bfd2;--footer-light:#eaf0fb;--footer-side:#70839f;--footer-deep:#37485e;--footer-detail:#27354a;display:block;width:30px;height:30px;flex:none;overflow:visible;pointer-events:none}
.mobile-nav :is(a,summary)[aria-current="page"]>.footer-icon,.seller-footer-account[open]>summary>.footer-icon,.member-wallet-tabs button[aria-pressed="true"]>.footer-icon,#member-game-types button[aria-pressed="true"]>.footer-icon{--footer-front:var(--orange);--footer-light:var(--accent-hover);--footer-side:#b2542b;--footer-deep:#6b351e;--footer-detail:#743d20}
:root[data-role="seller"] .mobile-nav :is(a,summary)[aria-current="page"]>.footer-icon,:root[data-role="seller"] .seller-footer-account[open]>summary>.footer-icon{--footer-side:#8053bb;--footer-deep:#4c2f72;--footer-detail:#55327d}
:root[data-role="cashier"] .mobile-nav [aria-current="page"]>.footer-icon{--footer-side:#259776;--footer-deep:#145e4b;--footer-detail:#165b49}

/* Wallet sections share Footer artwork, with labels below at every width. */
.member-wallet-tabs button{flex-direction:column;justify-content:center;gap:3px}
.member-wallet-tabs button>span{white-space:nowrap}


/* All Member horizontal separators share the same double rule.
   Card/control/image outlines and table column borders remain component frames. */
:root[data-role="member"]{--member-divider:4px double var(--line);--member-accent-divider:4px double var(--orange)}
:root[data-role="member"] .site-header{border-bottom:var(--member-accent-divider)}
:root[data-role="member"] .mobile-nav{border-top:var(--member-accent-divider)}
:root[data-role="member"] .footer{border-top:var(--member-divider)}
:root[data-role="member"] #main :is(hr,.member-divider,[role="separator"]:not([aria-orientation="vertical"])){border:0;border-top:var(--member-divider)}
:root[data-role="member"] #main :is(.summary-total,.how article,.wallet-profile-created){border-top:var(--member-divider)}
:root[data-role="member"] #main .member-wallet-summary:not(.member-profile-summary) .wallet-balance-available{border-top:var(--member-divider)}
:root[data-role="member"] #main :is(details,.dashboard-tabs){border-bottom:var(--member-divider)}
:root[data-role="member"] #main #checkout-form .checkout-item-panel::after,
:root[data-role="member"] #main #checkout-form #wallet-check:not(:empty),
:root[data-role="member"] #main #deposit-payment-details .deposit-bank-heading{border-bottom:var(--member-divider)}
:root[data-role="member"] :is(#main,#dialog) :is(th,td){border-top:var(--member-divider);border-bottom:var(--member-divider)}

/* Shop categories use the same dimensional artwork within the existing 35px controls. */
#member-game-types>button .footer-icon{width:24px;height:24px}

/* Shared brand text follows each role; logo backgrounds remain neutral white. */
.brand .brand-name,.brand .brand-tagline{color:var(--orange)}
.brand>img[src="/assets/logo.webp"],.loading-page>img[src="/assets/logo.webp"]{background:#fff}

/* Refresh loader: stationary circular K9, with only the role-coloured ring rotating. */
#boot-loading{position:fixed;inset:0;z-index:100;min-height:0;padding:24px;background:var(--bg)}
:is(#boot-loading,.member-action-loading) .brand-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:104px;height:104px;border-radius:var(--spinner-radius)}
:is(#boot-loading,.member-action-loading) .brand-loader::before{content:"";position:absolute;inset:0;border:4px solid var(--line);border-top-color:var(--orange);border-right-color:var(--orange);border-radius:var(--spinner-radius);animation:spin .9s linear infinite}
:is(#boot-loading,.member-action-loading) .brand-loader-mark{display:grid;place-items:center;width:88px;height:88px;overflow:hidden;border-radius:var(--spinner-radius);background:#fff}
:is(#boot-loading,.member-action-loading) .brand-loader-mark img{display:block;width:80px;height:80px;object-fit:contain}
:is(#boot-loading,.member-action-loading)>p{position:absolute;top:calc(50% + 64px);left:24px;right:24px;margin:0;text-align:center}

/* Seller-managed external Telegram contacts, shown in Member Profile only. */
.member-telegram-contacts,.telegram-contact-list{display:grid;gap:12px;min-width:0}
.member-telegram-contacts>h2{font-size:18px;margin:0}
.telegram-contact-link{width:100%;justify-content:center;text-align:center;gap:12px}
.telegram-contact-link>.telegram-contact-art:last-child{transform:scaleX(-1)}
.telegram-contact-art{display:block;width:42px;height:42px;flex:none;pointer-events:none}
.telegram-contacts-form{width:100%;max-width:760px}
.telegram-contact-input{display:flex;align-items:center;gap:12px;min-width:0}
.telegram-contact-input input{flex:1;min-width:0}.telegram-contact-input button{flex:none}
.telegram-contact-actions{display:flex;justify-content:space-between;gap:12px}
.profile-telegram-link{margin:0 0 12px}

/* Receipt saving locks Member interaction until the current upload finishes. */
.member-action-loading{position:fixed;inset:0;margin:auto;width:100%;max-width:none;height:100%;max-height:none;padding:0;border:0;background:transparent;color:var(--orange);overflow:hidden;touch-action:none;overscroll-behavior:contain}
.member-action-loading::backdrop{background:rgb(0 0 0 / 35%);backdrop-filter:none;-webkit-backdrop-filter:none}
.member-action-loading>p{color:var(--orange)}

/* Member Topup entry values are centered without changing their parsing. */
#deposit-form :is(#deposit-amount,#topup-reference){text-align:center}

/* PIN review starts with a shared double separator below the Wallet tabs. */
#topup-review>.member-divider{width:100%;margin:0}
#topup-confirm-form #topup-pin{text-align:center}

/* Match centered input values on Member Login and Create New Account forms. */
#auth-form[data-role="member"]:is([data-mode="login"],[data-mode="register"]) :is(#username,#password){text-align:center}

/* Faint, non-interactive game artwork stays behind all three Login forms. */
#main:has(>.login-watermarks){position:relative;isolation:isolate;background:var(--bg)}
.login-watermarks{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;background:#000;mix-blend-mode:screen;opacity:.085;color:var(--orange)}
.login-watermarks+.auth-wrap,#main:has(>.login-watermarks)>.notice{position:relative;z-index:1}
.login-watermark{position:absolute;display:block;height:auto;object-fit:contain;pointer-events:none}
.login-watermark-logo{filter:grayscale(1) invert(1)}
.login-watermarks .logo-first{width:clamp(92px,16vw,180px);left:3%;top:3%;transform:rotate(-14deg)}
.login-watermarks .diamond-first{width:clamp(90px,17vw,180px);right:3%;top:5%;transform:rotate(13deg)}
.login-watermarks .uc-coin{width:clamp(80px,12vw,126px);left:8%;top:43%;transform:rotate(-18deg)}
.login-watermarks .game-controller{width:clamp(88px,13vw,138px);right:7%;top:42%;transform:rotate(16deg)}
.login-watermarks .game-items{width:clamp(70px,10vw,112px);left:24%;bottom:3%;transform:rotate(12deg)}
.login-watermarks .logo-last{width:clamp(88px,13vw,150px);right:3%;bottom:2%;transform:rotate(-10deg)}
@media(max-width:600px){.login-watermarks .uc-coin{left:3%}.login-watermarks .game-controller{right:3%}.login-watermarks .game-items{left:12%}}
@media(forced-colors:active){.login-watermarks{display:none}}

/* Registration keeps the Login styling while showing one matching pair at a time. */
#member-registration-form .registration-step{border:0;padding:0;margin:0;min-width:0}
#member-registration-form input{text-align:center}

/* Keep step actions at opposite edges, with exactly 50px before Account Login. */
#member-registration-form .registration-actions{display:flex;align-items:stretch;gap:12px;width:100%}
#member-registration-form .registration-actions>button{flex:1 1 0;min-width:0;margin:0}
#app #main.member-page .registration-content{display:grid;gap:var(--auth-entry-space);min-width:0}
#app #main.member-page .registration-content>.auth-bottom{display:grid;margin:0}

/* Match registration's 50px separation on Member Account Login. */
#app #main.member-page .member-login-content{display:grid;gap:var(--auth-entry-space);min-width:0}
#app #main.member-page .member-login-content>.auth-bottom{display:grid;margin:0}

/* Member Change PIN shares the Login field and registration action geometry. */
#member-pin-form input{text-align:center}
#member-pin-form .member-pin-actions{display:flex;align-items:stretch;gap:12px;width:100%}
#member-pin-form .member-pin-actions>:is(a,button){flex:1 1 0;min-width:0;margin:0}

/* Email verification reuses the Member authentication layout. */
#email-otp-form input,#forgot-pin-form input{text-align:center}#email-otp-form .otp-reference{display:block;width:100%;text-align:center;font-weight:700;overflow-wrap:anywhere}
#email-otp-form .otp-contact-divider{width:100%;margin:0;border:0;border-top:4px double var(--line)}
.auth-forgot-link{display:block;width:fit-content;max-width:100%;margin-inline-start:auto;padding-block:5px;color:var(--text);text-decoration:underline;text-underline-offset:.2em}
#member-pin-form+.auth-forgot-link{margin-top:12px}

/* Identity values belong to the signed-in Member and are never editable here. */
.recovery-summary{margin:0;display:grid;gap:12px}
.recovery-summary>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline}
.recovery-summary dt{text-align:left}.recovery-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}
#forgot-pin-form:has(.recovery-summary) .registration-actions,.profile-recovery #email-otp-form .member-pin-actions{display:flex;gap:12px}
#forgot-pin-form:has(.recovery-summary) .registration-actions>button,.profile-recovery #email-otp-form .member-pin-actions>button{flex:1 1 0;min-width:0}

/* Profile recovery keeps its semantic field groups without a surrounding frame. */
.profile-recovery #forgot-pin-form fieldset{border:0;padding:0;margin:0;min-inline-size:0}

/* Member alerts use the same regular Myanmar text in browsers and WebView. */
html[data-role="member"] :is(.form-error, [role="alert"], .member-error, .member-error h3, .member-error b,
  .otp-delivery, #pin-status, #checkout-funding-status, #checkout-wallet-warning,
  #member-price-status, .member-topup-rejection, #toast) {
  font-weight: 400 !important;
}

/* Member copy shares one scale across routes, including forms, overlays and bottom navigation. */
html[data-role="member"] :is(#main, #boot-loading, #dialog, #toast, .member-action-loading, .mobile-nav),
html[data-role="member"] :is(#main, #boot-loading, #dialog, #toast, .member-action-loading, .mobile-nav) :where(:not(svg, svg *)) {
  font-size: var(--member-text-size, 14px) !important;
}

#main.member-page :is(h1:not(.product-head h1), .topup-view > .section-heading > h2, #topup-review > h2) {
  --member-text-size: 22px;
}

#main.member-page :is(.product-head h1, .region-game-title) {
  --member-text-size: 18px;
  line-height: 1.3;
}

#main.member-page #checkout-form .summary-card > h2 {
  --member-text-size: 16px;
}

/* Confirmed empty lists: same role-specific mark and type scale as the header. */
.records-empty {display:grid;justify-items:center;align-content:center;gap:var(--page-space,12px);grid-column:1 / -1;width:100%;min-width:0;padding-block:var(--page-space,12px);text-align:center}
.records-empty .brand-wordmark {--member-text-size:var(--brand-name-size)}
.records-empty .brand-tagline {--member-text-size:var(--brand-tagline-size)}
.records-empty > hr {width:100%;height:0;margin:0;border:0;border-top:var(--member-divider,4px double var(--line))}
.records-empty > p {margin:0;font-size:14px;font-weight:400;color:var(--text)}

/* Cashier Home API dashboard: one compact box with left labels and right values. */
.cashier-home-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.cashier-home-card{min-width:0;border:2px solid var(--mint);background:var(--panel);min-height:148px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s,background .15s}.cashier-home-card:hover,.cashier-home-card:focus-visible{border-color:var(--orange);background:var(--accent-tint);transform:translateY(-1px)}.cashier-home-card-icon{display:inline-flex;align-items:center;justify-content:center;min-height:42px;color:var(--orange)}.cashier-home-card-icon .footer-icon{width:38px;height:38px}.cashier-home-card-title{font-size:16px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.cashier-home-card-value{font-size:23px;color:var(--orange);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cashier-home-card-summary{align-items:stretch}.cashier-home-summary{width:100%;display:grid;gap:8px}.cashier-home-summary .summary-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:10px;padding:7px 0;color:var(--text);border-bottom:1px solid var(--line)}.cashier-home-summary .summary-line:last-child{border-bottom:0}.cashier-home-summary .summary-line>strong{font-size:14px;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cashier-summary-detail{max-width:560px}.cashier-summary-detail .cashier-home-summary{padding:10px 0}.cashier-summary-detail .summary-line{font-size:16px}.cashier-summary-detail .summary-line>strong{font-size:18px}@media(max-width:420px){.cashier-home-grid{gap:10px}.cashier-home-card{min-height:132px;padding:13px}.cashier-home-card-title{font-size:14px}.cashier-home-card-value{font-size:20px}.cashier-home-summary .summary-line{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6px}.cashier-home-summary .summary-line>strong{font-size:12px}}


/* Cashier cards keep their outline after the shared unboxed page reset. */
:root[data-role="cashier"] #main .cashier-home-card{border:2px solid var(--mint);border-radius:var(--corner-radius);background:var(--panel);padding:18px}
:root[data-role="cashier"] #main .cashier-home-card:hover,:root[data-role="cashier"] #main .cashier-home-card:focus-visible{border-color:var(--orange);background:var(--accent-tint)}
@media(max-width:420px){:root[data-role="cashier"] #main .cashier-home-card{padding:13px}}

:root[data-role="cashier"] #main .cashier-home-card:not(.cashier-home-card-summary){flex-direction:row;align-items:center;justify-content:flex-start;min-height:96px}
@media(max-width:420px){:root[data-role="cashier"] #main .cashier-home-card:not(.cashier-home-card-summary){min-height:80px}}
:root[data-role="cashier"] #main .cashier-home-card-icon{color:var(--orange);width:42px;min-height:0;flex:none}
:root[data-role="cashier"] #main .cashier-home-card-icon .footer-icon{--footer-front:var(--orange);--footer-light:var(--accent-hover);--footer-side:#259776;--footer-deep:#145e4b;--footer-detail:#165b49}
:root[data-role="cashier"] #main .cashier-home-card-title{flex:1;min-width:0}
:root[data-role="cashier"] #main .cashier-home-card-value{margin-left:auto}

/* Cashier Topup Details starts with the Member contact rows and a double divider. */
.cashier-member-contact{margin:0}
.topup-contact-divider{height:0;margin:16px 0;border:0;border-top:3px double var(--line)}
.topup-contact-divider+.topup-details{margin-top:0}

/* Keep the cashier Pending Topup page ending at Next while Success review is active. */
html[data-role="cashier"] #app:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden])) #main{padding-bottom:0!important}
html[data-role="cashier"] #app:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden]))>.footer,
html[data-role="cashier"] #app:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden]))>.mobile-nav.cashier-nav{display:none!important}
html[data-role="cashier"] #main .topup-view.pending-topup:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden])){border-bottom:0;padding-bottom:0}
html[data-role="cashier"] #main .topup-view.pending-topup:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden])) .topup-review-form{margin-bottom:0}
html[data-role="cashier"] #main .topup-view.pending-topup:has(.topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden])) .topup-review-form~*{display:none!important}
html[data-role="cashier"] #main .topup-view.pending-topup .topup-review-form[data-topup-review][data-decision="approve"] [data-topup-next]:not([hidden]){bottom:calc(10px + env(safe-area-inset-bottom,0px))}
