/* HUAYIPAY · shared visual system. Presentation only; no form or payment behavior. */
body[data-ui]{--brand:#2563eb;--brand2:#2563eb;--brand-strong:#1d4ed8;--brand-soft:#eff6ff;--line:#e5eaf1;--shadow:0 4px 20px #18315308;--shadow-sm:0 1px 3px #18315308;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
body[data-ui] :is(button,input,select,textarea){font:inherit}
body[data-ui]{font-family:var(--site-font,system-ui,"PingFang SC","Microsoft YaHei",sans-serif)}
/* No luminous focus rings. Keep a quiet, visible keyboard focus indicator. */
body[data-ui] :is(button,a,input,select,textarea,summary,[tabindex]):focus{box-shadow:none!important;outline:none!important}
body[data-ui] :is(input,select,textarea):focus{border-color:#89929f!important}
body[data-ui] .admin-search:focus-within{box-shadow:none!important;border-color:#89929f!important}
body[data-ui] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:1px solid #89929f!important;outline-offset:2px!important}
body[data-ui] :is(input[type=checkbox],input[type=radio]){accent-color:#2563eb}
body[data-ui] :is(button,.btn):disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
body[data-ui] .btn{border-radius:8px;box-shadow:none;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}
body[data-ui] .btn:hover{transform:none;box-shadow:none}
body[data-ui] .btn:not(.ghost):not(.danger):not(.d):not(.link){background:#2563eb;color:#fff}
body[data-ui] .btn.ghost{background:#fff;color:#344054;border:1px solid #dce3ec}
body[data-ui] .btn.ghost:hover{background:#f8fafc;border-color:#aebdd1}
body[data-ui] .btn:not(.ghost):not(.danger):not(.d):not(.link):hover{background:#1d4ed8}
body[data-ui] .btn.danger,body[data-ui] .btn.d{color:#b42318;background:#fff1f0;border:1px solid #fecaca}

/* Login and registration remain compact, without dark gradients. */
body[data-ui=auth]{background:#f5f7fb;color:#172b4d}
body[data-ui=auth] .login-wrap{max-width:420px}
body[data-ui=auth] .login-card{border:1px solid #e5eaf1;border-radius:16px;padding:34px;box-shadow:0 16px 60px #172b4d09}
body[data-ui=auth] .brand-icon{background:#2563eb;box-shadow:none;border-radius:9px}
body[data-ui=auth] .login-title{font-size:24px;font-weight:650;margin-top:28px}
body[data-ui=auth] .login-sub{margin-bottom:28px;line-height:1.7}
body[data-ui=auth] .field{margin-bottom:20px}
body[data-ui=auth] .field input:not([type=checkbox]):not([type=radio]){background:#fff;border-color:#dce3ec;border-radius:8px;min-height:44px}
body[data-ui=auth] .reg-line a{color:#2563eb}
body[data-ui=auth] .field label{margin-bottom:9px;font-weight:500}
body[data-ui=auth] .login-foot a{color:#2563eb}

/* Cashier: preserve provider/merchant accent color and all QR dimensions. */
body[data-ui=cashier]{background:#f3f6fb;color:#172b4d}
body[data-ui=cashier] :is(.layout,.card){background:#fff;border:1px solid #e5eaf1;border-radius:18px;box-shadow:0 12px 48px #172b4d0a}
body[data-ui=cashier] :is(.brand,.subject,.amount,.state h2,.secure-title){color:#172b4d}
body[data-ui=cashier] :is(.merchant,.lab,.foot,.state p,.secure-item,.scene,.scene .s,.skel,.ldg){color:#70809a}
body[data-ui=cashier] :is(.val,.ordrow,.countdown){color:#344054}
body[data-ui=cashier] :is(.secure,.scene,.ordinfo){background:#f8fafc;border-color:#e5eaf1}
body[data-ui=cashier] .secure .depart{color:#16816a}
body[data-ui=cashier] .qr-frame{box-shadow:none;border:1px solid #edf0f5;border-radius:14px}
body[data-ui=cashier] :is(.launch,.qr-save,.btn){box-shadow:none;border-radius:9px}
body[data-ui=cashier] .launch{background:var(--accent,#2563eb)}
body[data-ui=cashier] .errbox{color:#b42318;background:#fff1f0;border-color:#fecaca}

/* Public pages keep their layout and existing light/dark preference. */
body[data-ui=public]{--brand:#2563eb;--brand2:#2563eb;--glow:#2563eb0c;--soft:#93baff}
body[data-ui=public] :is(.card,.feature,.feature-card,.notice-card,.doc-card){box-shadow:none;border-radius:12px;border-color:var(--line)}
body[data-ui=public] :is(.logoic,.mk,.mark){background:#2563eb;box-shadow:none;border-radius:9px}
body[data-ui=public] :is(h1,h2){letter-spacing:-.025em}
body[data-ui=public] .wrap{max-width:1160px}
body[data-ui=public] :is(.hero,.section){padding-top:64px;padding-bottom:64px}
body[data-ui=public] :is(p,li){line-height:1.8}
@media(max-width:768px){
 body[data-ui=auth] .login-card{padding:28px 22px}
 body[data-ui] :is(input[type=text],input[type=password],input[type=tel],input[type=email],input[type=number],textarea,select){font-size:16px}
 body[data-ui=public] .wrap{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){body[data-ui] *,body[data-ui] *:before,body[data-ui] *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
