:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#192d31;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;padding:10px 20px}.app-shell{max-width:880px;margin:auto;min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topbar{background:#142a30;color:#fff;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar span{font-size:12px;color:#c0d5cf}.page-heading{padding:36px 24px 32px;background:#e7eeeb;border-bottom:1px solid #d8e1dc}.eyebrow{margin:0 0 12px;font-size:11px;font-weight:700;color:#497569}h1{margin:0;font-size:28px}.page-heading>p:last-child{color:#536865;font-size:14px;margin:10px 0 0}.section-body{padding:26px 24px}h2{font-size:16px;margin:0 0 16px}.content-state{min-height:200px;border:1px dashed #ccd8d1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px;color:#536865;font-size:13px}.content-state strong{color:#233e3d;font-size:15px}.balance-panel{margin:24px 24px 0;padding:24px;background:#193c3d;color:#fff;border-radius:6px}.balance-panel p{color:#bdceca;font-size:13px}.balance-panel .balance-value{font-size:32px;color:#fff;margin:14px 0 4px}.actions{display:flex;gap:10px;margin-top:22px}.actions button{flex:1;border-radius:4px;border:1px solid #728f87;color:#c0d5cf;background:#315251;cursor:not-allowed}nav{position:fixed;bottom:0;left:0;right:0;max-width:880px;margin:auto;background:#fff;border-top:1px solid #dce4df;display:flex;min-height:64px;padding-bottom:env(safe-area-inset-bottom)}nav a{flex:1;padding:22px 8px;text-align:center;color:#536865;text-decoration:none;font-size:14px}nav a.router-link-active{color:#176554;font-weight:700;background:#e7eeeb}.mode-switch{display:flex;gap:8px;margin-bottom:22px}.mode-switch button{flex:1;border:1px solid #ccd8d1;background:#fff;border-radius:4px;color:#536865}.mode-switch button[aria-selected=true]{border-color:#176554;color:#176554;font-weight:700;background:#e7eeeb}.auth-form{display:flex;flex-direction:column}.auth-form label{font-size:13px;font-weight:700;color:#233e3d;margin-bottom:6px}.auth-form input{font:inherit;padding:12px;border:1px solid #ccd8d1;border-radius:4px;background:#fff}.field-hint{font-size:12px;color:#6a7d79;margin:6px 0 18px}.form-error{font-size:13px;color:#a02226;background:#fdecec;border:1px solid #f1c4c4;border-radius:4px;padding:10px 12px;margin:0 0 16px}.restriction-notice{font-size:13px;color:#8a5a10;background:#fdf3e2;border:1px solid #f0d9ae;border-radius:4px;padding:10px 12px;margin:16px 0 0}button.primary{border:0;border-radius:4px;background:#176554;color:#fff;cursor:pointer}button.primary:disabled{background:#9db4ae;cursor:not-allowed}.profile-facts{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 20px;font-size:14px}.profile-facts dt{color:#6a7d79}.profile-facts dd{margin:0;color:#233e3d}.redpacket-result{min-height:140px;border:1px solid #ccd8d1;background:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;margin-bottom:18px;color:#536865;font-size:13px}.redpacket-result strong{color:#a02226;font-size:18px}.redpacket .primary{width:100%;min-height:48px}.redpacket-balance{margin-top:22px}.redpacket-balance h3{font-size:14px;margin:0 0 8px}.redpacket-balance .balance-value{font-size:24px;margin:0;color:#193c3d}.turnover progress{width:100%;height:10px;margin-bottom:14px;accent-color:#176554}.turnover-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px;margin:0 0 12px;font-size:13px}.turnover-facts dt{grid-row:1;color:#6a7d79}.turnover-facts dd{grid-row:2;margin:0;font-size:17px;font-weight:700;color:#233e3d}.turnover-note{font-size:13px;color:#536865;margin:0 0 14px}.ledger-filter{display:flex;align-items:center;gap:10px;font-size:13px;color:#233e3d;margin-bottom:14px}.ledger-filter select{font:inherit;flex:1;padding:10px;border:1px solid #ccd8d1;border-radius:4px;background:#fff}.ledger-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #dce4df;border-radius:6px}.ledger-list li{padding:12px 14px;border-bottom:1px solid #edf1ee}.ledger-list li:last-child{border-bottom:0}.ledger-row{display:flex;justify-content:space-between;gap:12px}.ledger-row strong{font-size:14px;color:#233e3d}.ledger-amount{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:#536865}.ledger-amount[data-sign=in]{color:#176554}.ledger-amount[data-sign=out]{color:#a02226}.ledger-meta{margin-top:4px;font-size:12px;color:#6a7d79}.ledger-ref{word-break:break-all}.ledger-filters{display:flex;flex-wrap:wrap;gap:0 12px}.ledger-filters .ledger-filter{flex:1 1 140px}.ledger-filter input{font:inherit;flex:1;min-width:0;padding:9px;border:1px solid #ccd8d1;border-radius:4px;background:#fff}.ledger-footer{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px}.actions a{flex:1;border-radius:4px;border:1px solid #9fc2b8;color:#fff;background:#176554;text-align:center;text-decoration:none;padding:10px 8px}.wallet-accounts-link{display:block;margin-top:10px;color:#d7e5e1;font-size:13px;text-align:center}.auth-form select{font:inherit;padding:12px;border:1px solid #ccd8d1;border-radius:4px;background:#fff}.auth-form input+label,.auth-form select+label{margin-top:18px}.auth-form input,.auth-form select{scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom))}.auth-form button+button{margin-top:10px}.finance-result{border:1px solid #ccd8d1;background:#fff;border-radius:6px;padding:16px;margin:18px 0 0;display:flex;flex-direction:column;gap:10px;font-size:13px;color:#536865}.finance-result strong{color:#176554;font-size:15px}.accounts-notice{margin:18px 24px 0}.payee-account{font-family:ui-monospace,monospace;word-break:break-all}.record-list{list-style:none;margin:0 0 16px;padding:0}.record-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:12px 0;border-bottom:1px solid #e3eae6;font-size:13px;color:#536865}.record-list strong{color:#233e3d}.record-list form{flex-basis:100%}
