:root { color-scheme: light; font-family: system-ui, sans-serif; color: #172c27; background: #f2f6f3; }
* { box-sizing: border-box; }
body { margin: 0; padding: 32px 16px; }
.wallet-access { width: min(100%, 660px); margin: auto; padding: 32px; background: #fff; border: 1px solid #d8e3dc; border-radius: 16px; }
.wallet-back { color: #17643b; font-weight: 600; }
.wallet-kicker { margin-top: 28px; color: #52645a; font-size: .9rem; }
h1 { font-size: clamp(1.65rem, 5vw, 2rem); line-height: 1.2; }
h2 { font-size: 1.2rem; }
p { line-height: 1.6; }
section { border-top: 1px solid #d8e3dc; margin-top: 24px; padding-top: 16px; }
label { display: block; font-weight: 650; margin-bottom: 8px; }
input[type="tel"] { font: inherit; width: 100%; padding: 12px; border: 1px solid #789388; border-radius: 8px; }
button { border: 0; border-radius: 8px; background: #17643b; color: #fff; padding: 13px 18px; font: inherit; font-weight: 650; cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #bb6b04; outline-offset: 3px; }
.wallet-help { color: #52645a; font-size: .9rem; }
.wallet-notice, .wallet-error { padding: 14px; border-left: 4px solid; border-radius: 6px; }
.wallet-notice { background: #eff7f0; border-color: #17643b; }
.wallet-error { background: #fff1ed; color: #8b291b; border-color: #b63421; }
[hidden] { display: none !important; }
@media (max-width: 480px) { body { padding: 16px 10px; } .wallet-access { padding: 20px; } button { width: 100%; } }
