:root{--bg:#eef1f6;--surface:#fff;--ink:#0c1222;--muted:#6b7280;--line:#e5e7eb;--brand:#0b3d2e;--soft:#e8f5f0;--button:#0d6b52;--danger:#b42318;--shadow:0 24px 48px #0c12221f}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% -20%,#d4e8df 0,var(--bg) 45%);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}button,input{font:inherit}.app-shell{justify-content:center;min-height:100vh;padding:24px 16px 48px;display:flex}.phone{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow);border:1px solid #0c12220f;border-radius:28px;overflow:hidden}.loading{text-align:center;color:var(--muted);padding:48px}.topbar{justify-content:space-between;align-items:center;padding:20px 20px 12px;display:flex}.topbar>div:first-child{flex-direction:column;gap:2px;display:flex}.topbar-actions{align-items:center;gap:12px;display:flex}.app-mark{letter-spacing:-.04em;color:var(--brand);margin:0;font-size:22px;font-weight:700}.greeting,.muted{color:var(--muted);font-size:14px}.panel-note{margin:0 0 10px;font-size:13px;line-height:1.4}.icon-btn{background:var(--bg);cursor:pointer;border:0;border-radius:12px;width:40px;height:40px}.balance-card{color:#f8fffc;background:linear-gradient(145deg,#0b3d2e,#1a6b52);border-radius:16px;margin:4px 16px 20px;padding:24px 20px}.balance-card p{opacity:.85;margin:0;font-size:13px}.balance-card>strong{letter-spacing:-.03em;margin:8px 0 20px;font-size:42px;display:block}.balance-actions{gap:8px;display:flex}.balance-actions button{color:var(--brand);cursor:pointer;background:#fff;border:1px solid #fff8;border-radius:12px;flex:1;padding:13px;font-weight:600}.balance-actions button+button{color:#fff;background:0 0}.panel{padding:0 16px 20px}.onboarding{padding-top:8px}.panel-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.panel-head h2{margin:0;font-size:17px}.panel-head span{color:var(--muted);font-size:12px}.search{border:1px solid var(--line);border-radius:12px;width:100%;margin-bottom:10px;padding:12px 14px}.list{border:1px solid var(--line);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.row,.contact{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.list li:last-child .contact,.list>.row:last-child{border-bottom:0}.contact{cursor:pointer}.contact:disabled{opacity:.45;cursor:not-allowed}.avatar{background:var(--soft);width:44px;height:44px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.meta strong{font-size:14px}.meta small{color:var(--muted);font-size:12px}.activity-icon{border-radius:10px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.activity-icon.in{color:#047857;background:#ecfdf5}.activity-icon.out{color:var(--danger);background:#fef2f2}.empty{text-align:center;color:var(--muted);padding:24px 16px;font-size:14px}.auth-phone,.admin-phone{padding-bottom:24px}.auth-hero{padding:28px 24px 8px}.auth-hero .app-mark{letter-spacing:-.03em;font-size:28px}.auth-hero h1{margin:14px 0 0;font-size:22px}.auth-lede{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.45}.auth-form{flex-direction:column;gap:12px;padding:16px 24px 8px;display:flex}.auth-field span,.amount-field>span{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-field input{border:1px solid var(--line);border-radius:12px;width:100%;padding:12px 14px}.auth-error{color:var(--danger);margin:0;font-size:14px}.auth-info{color:var(--button);margin:0;font-size:14px}.auth-switch{text-align:center;color:var(--muted);margin:8px 24px 24px;font-size:14px}.admin-link{margin-top:0}.primary{background:var(--button);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:14px 16px;font-weight:600}.full{width:100%}.btn-google{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-weight:600;display:inline-flex}.btn-google:hover{background:#f8fafc}.text-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.toast{text-align:center;color:#047857;margin:0;padding:12px 20px 20px;font-size:14px}.toast.error{color:var(--danger)}.overlay{z-index:100;background:#0c122273;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:20px 20px 16px 16px;width:100%;max-width:420px;max-height:88vh;padding:8px 20px 28px;overflow:auto}.handle{background:var(--line);border-radius:2px;width:36px;height:4px;margin:8px auto 16px}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;display:flex}.sheet-head h2{margin:0}.sheet-close{background:var(--bg);width:40px;height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:12px;flex:none;font-size:28px;line-height:1}.sheet h3{text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:13px}.sheet h3.sheet-divider{margin-top:12px}.sheet .embed-wrap{margin-bottom:0}.amount-field{margin:16px 0;display:block}.amount-field>div{border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:12px 14px;font-size:28px;display:flex}.amount-field input{border:0;outline:0;width:100%;font-size:28px;font-weight:600}.cancel{margin:18px auto 0;display:block}.embed-wrap{border-radius:12px;overflow:hidden}.root-embed{line-height:0}.root-embed iframe{border:0;width:100%;display:block}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.admin-actions .admin-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:7px 10px;font-size:12px}.admin-actions .admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-actions .admin-btn-danger{color:var(--danger)}.admin-user-item{border-bottom:1px solid var(--line)}.admin-user-item:last-child,.admin-user-row{border-bottom:0}.admin-credits{color:var(--button);margin-top:2px;display:block}.admin-email{margin-top:2px;display:block}.admin-email.missing{color:var(--danger)}.admin-create-form{flex-direction:column;gap:10px;padding:0 0 8px;display:flex}.admin-form-hint{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.4}.admin-password-form{border-top:1px solid var(--line);background:#fff;padding:0 16px 14px}.admin-password-form .auth-field{margin:12px 0 0}.admin-password-form .auth-field input{width:100%}.admin-password-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.admin-password-actions .primary{border:0;border-radius:12px;flex:1;padding:12px 14px}.mock-bank{margin-top:8px}.mock-bank-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mock-bank-option{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-weight:600;display:flex}.mock-bank-option:hover{background:var(--soft)}.mock-bank-avatar{background:var(--soft);width:40px;height:40px;color:var(--brand);border-radius:12px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid;overflow:hidden}.mock-bank-avatar.has-logo{border:1px solid var(--line);background:#fff;padding:4px}.mock-bank-avatar img{object-fit:contain;width:100%;height:100%;display:block}.mock-bank-header{align-items:center;gap:12px;margin:8px 0 4px;display:flex}.mock-bank-header-name{margin:0;font-size:16px;font-weight:600}.mock-bank-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.mock-bank-back{margin:12px auto 0;display:block}.mock-bank-cards{flex-direction:column;gap:10px;margin:12px 0 16px;display:flex}.mock-bank-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.mock-bank-card.selected{border-color:var(--button);background:var(--soft)}.mock-bank-role{text-transform:uppercase;color:var(--button);font-size:11px;font-weight:700}.mock-bank-card strong{font-size:15px}.mock-bank-card small{color:var(--muted);font-size:12px}.mock-bank-section{margin-top:8px}.mock-bank-section+.mock-bank-section{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.mock-pm-list{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.mock-pm-card{background:#fafbfc;padding:14px 16px}.mock-pm-label{color:var(--muted);margin:0;font-size:12px;font-weight:500}.mock-pm-account{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:20px;font-weight:600}.mock-pm-meta{color:var(--muted);margin:4px 0 0;font-size:12px}.mock-pm-actions{margin-top:10px;display:flex}.mock-pm-remove{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.mock-link-another{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#f3f4f6;border-radius:12px;margin-top:10px;padding:12px 14px;font-weight:600}.mock-powered{color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.mock-powered img{width:auto;height:14px;display:block}.admin-banks{border-top:1px solid var(--line);background:#fafbfc;padding:0 16px 16px}.admin-banks h4{text-transform:uppercase;color:var(--muted);margin:14px 0 4px;font-size:12px}.admin-bank-status{flex-wrap:wrap;gap:8px;margin:10px 0 12px;display:flex}.admin-bank-chip{background:var(--bg);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600}.admin-bank-chip.on{background:var(--soft);color:var(--button)}@media (max-width:480px){.app-shell{padding:0}.phone{border-radius:0;min-height:100vh}.sheet{border-radius:20px 20px 0 0}}
