/* SPDX-FileCopyrightText: 2026 Arnold Bagabaldo */
/* SPDX-License-Identifier: LicenseRef-GoOffice-Proprietary */

:root { --wallet-blue:#086fad; --wallet-ink:#10243a; --wallet-muted:#607188; --wallet-line:#d8e3ee; --wallet-bg:#edf5fa; --wallet-panel:#fff; --wallet-good:#147b58; --wallet-bad:#b8483c; --wallet-radius:8px; }
.go-wallet-app { min-height:100dvh; background:var(--wallet-bg); color:var(--wallet-ink); }
.wallet-shell { width:100%; margin:0; padding:14px; }
.wallet-loading,.wallet-auth,.wallet-workspace { max-width:900px; margin:20px auto; }
.wallet-loading { display:flex; align-items:center; justify-content:center; gap:10px; min-height:240px; color:var(--wallet-muted); }
.wallet-spinner { width:24px; height:24px; border:3px solid #bdd9ea; border-top-color:var(--wallet-blue); border-radius:50%; animation:wallet-spin .8s linear infinite; }
@keyframes wallet-spin { to { transform:rotate(360deg); } }
.wallet-auth,.wallet-balance-card,.wallet-summary,.wallet-history-card,.wallet-action-strip { background:var(--wallet-panel); border:1px solid var(--wallet-line); border-radius:var(--wallet-radius); box-shadow:0 10px 28px rgba(20,57,83,.08); }
.wallet-auth { padding:clamp(24px,6vw,56px); }
.wallet-auth h1,.wallet-page-head h1 { margin:.15rem 0 .45rem; letter-spacing:0; }
.wallet-auth p,.wallet-page-head p,.wallet-summary small,.wallet-privacy { color:var(--wallet-muted); line-height:1.5; }
.wallet-page-head,.wallet-section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.wallet-page-head { margin:20px 0 14px; }
.eyebrow { margin:0 0 4px; color:var(--wallet-blue); font-size:.75rem; font-weight:800; letter-spacing:0; text-transform:uppercase; }
.wallet-icon-button { width:40px; height:40px; border:1px solid var(--wallet-line); background:#fff; color:var(--wallet-blue); font-size:1.3rem; border-radius:8px; cursor:pointer; }
.wallet-balance-card { padding:clamp(22px,5vw,38px); display:flex; gap:20px; justify-content:space-between; align-items:end; background:#0b5e97; color:#fff; border-color:#0b5e97; }
.wallet-balance-card p,.wallet-balance-card small { margin:0; color:#dbeefa; }
.wallet-balance-card strong { display:block; font-size:clamp(2.5rem,8vw,4.5rem); line-height:1; margin:8px 0; letter-spacing:0; }
.wallet-balance-actions { display:flex; flex-wrap:wrap; gap:8px; }
.wallet-button { min-height:42px; padding:9px 14px; border:1px solid transparent; border-radius:8px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; display:inline-flex; justify-content:center; align-items:center; gap:7px; }
.wallet-button.primary { background:#fff; color:#075e99; border-color:#fff; }
.wallet-button.secondary { background:transparent; color:#fff; border-color:#c5e2f1; }
.wallet-workspace > .wallet-action-strip .wallet-button.primary,.wallet-dialog .wallet-button.primary { background:var(--wallet-blue); color:#fff; }
.wallet-workspace > .wallet-action-strip .wallet-button.secondary,.wallet-dialog .wallet-button.secondary { color:var(--wallet-blue); border-color:#a9c9dc; background:#f8fcff; }
.wallet-context-guard { margin:12px 0; padding:11px 13px; border:1px solid #b8dced; border-radius:7px; background:#eef8fd; color:#24516d; line-height:1.45; }
.wallet-button.text { color:var(--wallet-blue); background:transparent; padding:4px 0; min-height:auto; }
.wallet-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0; }
.wallet-summary { padding:16px; min-height:130px; display:flex; flex-direction:column; gap:7px; }
.wallet-summary span { color:var(--wallet-muted); font-weight:700; }
.wallet-summary strong { font-size:1.35rem; }
.wallet-action-strip { padding:12px; display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.wallet-history-card { padding:18px; }
.wallet-section-head h2 { margin:0; letter-spacing:0; font-size:1.25rem; }
.wallet-privacy { font-size:.88rem; margin:12px 0; }
.wallet-ledger { border-top:1px solid var(--wallet-line); }
.wallet-entry { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; padding:14px 0; border-bottom:1px solid var(--wallet-line); align-items:center; }
.wallet-entry-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; font-weight:900; background:#e8f4fb; color:var(--wallet-blue); }
.wallet-entry.is-debit .wallet-entry-icon { background:#fff0ee; color:var(--wallet-bad); }
.wallet-entry strong,.wallet-entry small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wallet-entry small { color:var(--wallet-muted); margin-top:3px; }
.wallet-entry-amount { font-weight:900; color:var(--wallet-good); text-align:right; }
.wallet-entry.is-debit .wallet-entry-amount { color:var(--wallet-bad); }
.wallet-entry time { display:block; color:var(--wallet-muted); font-size:.75rem; text-align:right; margin-top:3px; }
.wallet-dialog { width:min(560px,calc(100vw - 24px)); max-height:min(86dvh,760px); padding:0; border:0; border-radius:8px; box-shadow:0 24px 80px rgba(8,31,52,.35); }
.wallet-dialog::backdrop { background:rgba(9,27,43,.5); }
.wallet-dialog form { padding:20px; }
.wallet-dialog-head { display:flex; justify-content:space-between; gap:12px; align-items:start; border-bottom:1px solid var(--wallet-line); padding-bottom:14px; }
.wallet-dialog-head h2 { margin:0; letter-spacing:0; }
.wallet-fields { display:grid; gap:13px; margin:18px 0; }
.wallet-fields label { display:grid; gap:6px; color:var(--wallet-muted); font-size:.88rem; font-weight:700; }
.wallet-fields input,.wallet-fields select,.wallet-fields textarea { min-height:44px; padding:9px 10px; border:1px solid #b9cede; background:#fff; border-radius:7px; color:var(--wallet-ink); font:inherit; }
.wallet-fields textarea { min-height:82px; resize:vertical; }
.wallet-notice { padding:12px; border:1px solid #b8dced; background:#eef8fd; color:#24516d; border-radius:7px; line-height:1.45; }
.wallet-confirm { display:flex; gap:9px; align-items:flex-start; font-size:.9rem; color:var(--wallet-ink); }
.wallet-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:18px; }
.wallet-toast { position:fixed; z-index:200; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); max-width:min(360px,calc(100vw - 32px)); padding:12px 14px; background:#102b43; color:#fff; border-radius:8px; opacity:0; transform:translateY(12px); pointer-events:none; transition:.18s ease; }
.wallet-toast.is-visible { opacity:1; transform:none; }
.wallet-empty { padding:24px 4px; color:var(--wallet-muted); text-align:center; }
.is-hidden { display:none !important; }
@media (max-width:700px) { .wallet-shell { padding:8px; } .wallet-page-head { margin-top:12px; } .wallet-balance-card { align-items:stretch; flex-direction:column; } .wallet-balance-actions .wallet-button { flex:1; } .wallet-summary-grid { grid-template-columns:1fr; } .wallet-summary { min-height:0; } .wallet-history-card { padding:14px; } .wallet-entry { grid-template-columns:auto minmax(0,1fr); } .wallet-entry-amount,.wallet-entry time { text-align:left; } .wallet-entry-amount { grid-column:2; } .wallet-entry time { display:none; } .wallet-dialog { width:calc(100% - 16px); max-width:100%; max-height:88dvh; margin:0 8px; border-radius:8px 8px 0 0; align-self:end; } .wallet-dialog form { padding:16px; } }
