: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%}.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-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}@media (max-width:480px){.app-shell{padding:0}.phone{border-radius:0;min-height:100vh}.sheet{border-radius:20px 20px 0 0}}
