[hidden] { display:none !important; }
.auth-screen { width:min(100%,430px); min-height:100dvh; background:var(--paper); padding:clamp(32px,8vh,72px) 24px 32px; }
.auth-brand { padding-bottom:24px; }
.auth-brand img { width:56px; height:56px; border-radius:8px; }
.auth-brand h1 { font-size:28px; margin:16px 0 6px; letter-spacing:0; }
.auth-brand p { margin:0; color:var(--ink-soft); }
.auth-screen .field label { font-size:13px; }
.auth-screen input { width:100%; min-width:0; font-size:16px; }
.captcha-fields { display:grid; grid-template-columns:minmax(100px,1fr) 200px; gap:10px; align-items:center; }
.captcha-controls { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; align-items:center; min-width:0; }
.captcha-image { height:50px; overflow:hidden; display:grid; place-items:center; background:#f5f8fc; border:1px solid var(--line); border-radius:6px; }
.captcha-image img { display:block; width:100%; height:48px; object-fit:contain; }
.captcha-image span { color:var(--ink-soft); font-size:12px; }
.captcha-refresh { display:grid; place-items:center; width:44px; height:48px; padding:0; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.captcha-refresh svg { width:20px; height:20px; }
.captcha-refresh:hover:not(:disabled),.captcha-refresh:focus-visible { color:var(--mint-deep,var(--ink)); border-color:var(--ink-soft); }
.captcha-verify { width:100%; margin-top:10px; }
.email-step { margin-top:18px; padding-top:4px; border-top:1px solid var(--line); }
.field-error { margin:7px 0 0; color:#a82c32; font-size:12px; line-height:1.5; }
.auth-screen input[aria-invalid="true"] { border-color:#c24b52; box-shadow:0 0 0 3px rgba(194,75,82,.1); }
@media(max-width:359px) { .captcha-fields { grid-template-columns:minmax(0,1fr); } .captcha-image { height:64px; } .captcha-image img { height:62px; } }
.code-fields { display:grid; grid-template-columns:minmax(0,1fr) 126px; gap:8px; }
.code-fields button { padding:8px; min-width:0; }
.live-notice { color:var(--ink-soft); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.live-notice.is-error { color:#a82c32; }
.sheet { box-sizing:border-box; max-width:100%; }
#sheetContent,#operationForm,#operationForm .field { min-width:0; max-width:100%; }
#operationNotice { white-space:normal; overflow-wrap:anywhere; word-break:break-word; max-width:100%; }
.operation-summary { display:grid; gap:10px; padding:14px; background:var(--paper); border:1px solid var(--line); border-radius:10px; margin-top:16px; }
.operation-summary>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; min-width:0; font-size:14px; }
.operation-summary span { color:var(--ink-soft); }
.operation-summary strong { font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.toast { box-sizing:border-box; width:max-content; max-width:calc(100% - 36px); white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.login-button { width:100%; margin-top:12px; }
button:disabled { opacity:.55; cursor:not-allowed; }
.live-empty { padding:32px 8px; text-align:center; color:var(--ink-soft); }
.live-empty i,.live-empty svg { width:36px; height:36px; margin-bottom:12px; }
.live-empty h2 { font-size:18px; color:var(--ink); margin:0 0 8px; }
.live-empty p { font-size:13px; line-height:1.6; }
.live-band { padding:16px 0; border-bottom:1px solid var(--line); }
.live-band h2 { font-size:17px; margin:0 0 12px; }
.live-list { list-style:none; padding:0; margin:0; }
.live-list li { padding:14px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; align-items:center; }
.live-list strong,.live-list small { display:block; overflow-wrap:anywhere; }
.live-list small { font-size:12px; color:var(--ink-soft); margin-top:6px; line-height:1.5; }
.live-list .live-value { text-align:right; flex-shrink:0; max-width:50%; overflow-wrap:anywhere; font-size:14px; }
.ledger-label { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 9px; }
.ledger-record { font-size:13px; line-height:1.45; }
.ledger-record strong,.ledger-record time,.ledger-record .live-value { font:inherit; font-weight:600; }
.ledger-record strong { min-width:0; }
.ledger-record time { flex:0 0 auto; color:var(--ink-soft); white-space:nowrap; }
.deposit-record-copy { min-width:0; }
.deposit-record-title { display:flex; align-items:center; gap:10px; min-width:0; }
.deposit-record-title strong { min-width:0; }
.tx-detail { display:inline-flex; align-items:center; gap:5px; flex:0 0 auto; white-space:nowrap; color:var(--blue); font-size:12px; font-weight:700; text-decoration:none; }
.tx-detail svg { width:14px; height:14px; flex:0 0 auto; }
.tx-detail:hover,.tx-detail:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.live-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.live-actions button { min-width:0; padding:12px; }
.live-balance { font-size:32px; line-height:1.4; overflow-wrap:anywhere; }
.balance-hero::after { display:none; }
.live-product { padding:18px 0; border-bottom:1px solid var(--line); }
.live-product h3 { margin:0 0 8px; font-size:20px; }
.live-product p { color:var(--ink-soft); font-size:13px; line-height:1.6; }
.live-product .primary-button { width:100%; margin-top:12px; }
.card-carousel { position:relative; min-width:0; }
.card-viewport { display:flex; gap:12px; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; touch-action:pan-x pan-y; }
.card-viewport::-webkit-scrollbar { display:none; }
.card-slide { flex:0 0 100%; min-width:0; padding:0 14px; scroll-snap-align:start; scroll-snap-stop:always; }
.live-card { min-height:142px; padding:20px 50px; background:var(--blue); color:white; border-radius:8px; display:flex; flex-direction:column; justify-content:space-between; margin-bottom:8px; }
.live-card strong { font-size:18px; }
.live-card span { font-size:17px; }
.live-card small { font-size:12px; }
.card-slide.is-closed .live-card { background:#e2e5e8; color:#737b83; opacity:1; cursor:not-allowed; box-shadow:none; }
.card-slide.is-closed .secondary-button { color:#899098; background:#f0f1f3; border-color:#e1e4e8; cursor:not-allowed; opacity:1; }
button.live-card { width:100%; border:0; text-align:left; cursor:pointer; font:inherit; }
button.live-card:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.bill-filter { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.bill-filter label { flex:1; min-width:120px; font-size:13px; }
.bill-filter input[type="date"] { cursor:pointer; }
.bill-record { display:block !important; }
.bill-record-heading,.bill-record-meta { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.bill-record-heading span { font-variant-numeric:tabular-nums; }
.bill-record-meta { margin-top:8px; font-size:13px; color:var(--ink-soft); }
.bill-record-meta>span:first-child { flex:1; min-width:160px; overflow-wrap:anywhere; }
.bill-record>small { display:block; margin-top:6px; }
.bill-filter input { display:block; box-sizing:border-box; width:100%; min-width:0; padding:10px 6px; border:1px solid #dce3ee; border-radius:8px; background:white; color:inherit; font:inherit; margin-top:6px; }
.card-arrow { position:absolute; z-index:2; top:71px; width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.82); border-radius:50%; color:var(--blue); background:rgba(255,255,255,.92); box-shadow:0 8px 22px rgba(23,32,51,.18); transform:translateY(-50%); transition:background .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.card-arrow:hover:not(:disabled),.card-arrow:focus-visible { background:#fff; box-shadow:0 10px 26px rgba(23,32,51,.24); transform:translateY(-50%) scale(1.04); }
.card-arrow:focus-visible { outline:3px solid rgba(255,255,255,.72); outline-offset:2px; }
.card-arrow:disabled { opacity:.38; }
.card-arrow svg { width:22px; height:22px; stroke-width:2.4; }
.card-arrow-prev { left:20px; }
.card-arrow-next { right:20px; }
.card-carousel-footer { min-height:22px; margin:-2px 0 5px; display:flex; align-items:center; justify-content:center; gap:9px; }
.card-dots { display:flex; align-items:center; gap:6px; }
.card-dot { width:6px; height:6px; border-radius:50%; background:var(--line); transition:width .2s ease,background .2s ease,border-radius .2s ease; }
.card-dot.is-active { width:18px; border-radius:99px; background:var(--blue); }
.card-position { color:var(--ink-soft); font-size:11px; font-variant-numeric:tabular-nums; }
.card-slide .card-detail-button { width:100%; min-height:44px; padding:0 12px; font-size:12px; }
.card-slide .live-actions { gap:8px; margin:8px 0 10px; }
.card-slide .live-actions button { min-height:44px; padding:0 10px; font-size:12px; }
.card-number-value { min-width:0; max-width:62% !important; }
.card-number-value .copy-value { justify-content:flex-end; gap:8px; padding:0; }
.card-number-value .copy-value span { font-size:14px; }
.card-secure-button { width:100%; margin-top:16px; }
.card-detail-heading { margin-bottom:2px; }
.card-detail-heading h3 { margin:0; font-size:16px; }
.cardholder-heading { margin-top:20px; }
.cardholder-heading h3 { margin:0; font-size:16px; }
.cardholder-test-notice { margin:10px 0 4px; }
.card-info-row > strong { flex:0 0 88px; }
.card-info-row .live-value { min-width:0; max-width:68%; }
.card-info-row .copy-value { justify-content:flex-end; padding:0; }
.card-info-row .copy-value span { font-size:13px; }
.cardholder-empty { color:var(--ink-soft); font-size:13px; }
.sensitive-card-list { padding:4px 14px; border-radius:8px; background:var(--blue-soft); }
.copy-value { width:100%; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; background:transparent; color:inherit; text-align:left; }
.copy-value span { min-width:0; color:inherit; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; line-height:1.55; overflow-wrap:anywhere; word-break:break-all; }
.copy-value svg { width:17px; height:17px; flex:0 0 auto; }
.address-box .copy-value { margin-top:4px; color:#fff; }
.address-box .copy-value:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.deposit-meta { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:14px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--line); }
.deposit-meta > div { min-width:0; padding:12px; background:var(--surface); }
.deposit-meta span,.deposit-meta strong { display:block; }
.deposit-meta span { color:var(--ink-soft); font-size:11px; }
.deposit-meta strong { margin-top:5px; font-size:14px; }
.deposit-meta .deposit-contract { grid-column:1/-1; }
.deposit-meta .copy-value { color:var(--ink); padding:5px 0 0; }
.qr-toggle { width:100%; margin-top:12px; display:flex; align-items:center; justify-content:center; gap:8px; }
.qr-toggle svg { width:18px; height:18px; }
.qr-panel { margin-top:12px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; text-align:center; }
.qr-code { width:min(240px,100%); aspect-ratio:1; margin:0 auto; }
.qr-code svg { display:block; width:100%; height:100%; }
.qr-panel p { margin:10px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.5; }
.deposit-loading { min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; }
.deposit-loading strong { margin-top:18px; font-size:17px; }
.deposit-loading p { max-width:270px; margin:8px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.6; }
.loading-spinner { width:38px; height:38px; border:3px solid #dce5f5; border-top-color:var(--blue); border-radius:50%; animation:deposit-spin .8s linear infinite; }
@keyframes deposit-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .loading-spinner { animation-duration:1.8s; } }
@media (prefers-reduced-motion:reduce) { .card-arrow,.card-dot { transition:none; } }
.sheet .field input,.sheet .field select { width:100%; min-width:0; font-size:16px; }
.sheet-head h2 { font-size:20px; }
.modal-note { color:var(--ink-soft); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.live-chip { color:#35604a; background:var(--mint-soft); border-radius:4px; padding:4px 7px; font-size:12px; }
.profile-copy strong { overflow-wrap:anywhere; word-break:break-word; }
.profile-card .live-chip { flex:0 0 auto; white-space:nowrap; }
.live-address { color:var(--ink); font-size:13px; overflow-wrap:anywhere; }
@media (min-width:700px) {
  .auth-screen {
    width:390px;
    height:min(844px,calc(100vh - 56px));
    min-height:720px;
    margin:0;
    overflow-y:auto;
    border:8px solid #101714;
    border-radius:42px;
    box-shadow:0 34px 90px rgba(23,32,29,.24);
  }
}
