:root{color-scheme:dark;--ink:#edf2f4;--muted:#9ba8ad;--panel:#121a1e;--line:#2a373d;--orange:#ff9800;--dark:#071014;--good:#5bd890;--bad:#ff7b72;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#26343b 0,transparent 35%),var(--dark);color:var(--ink);min-height:100vh}.topbar{height:82px;padding:12px max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:#091216eF;position:sticky;top:0;z-index:2}.topbar img{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff}.topbar div{display:flex;flex-direction:column}.topbar strong{font-size:1.25rem}.topbar span,p{color:var(--muted)}.topbar button{margin-left:auto}main{max-width:1180px;margin:0 auto;padding:38px 20px 70px}.login-card,.card{background:linear-gradient(145deg,#162127,#10181c);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 18px 55px #0006}.login-card{max-width:430px;margin:7vh auto}.login-card h1,.card h2,.welcome h1{margin:0 0 7px}.login-card p,.card p,.welcome p{margin:0 0 24px}form{display:grid;gap:15px}label{display:grid;gap:7px;color:#d9e1e4;font-size:.9rem}input,select,button{font:inherit;border-radius:10px;border:1px solid var(--line);padding:12px 13px}input,select{background:#081115;color:var(--ink);width:100%}input:focus,select:focus{outline:2px solid #ff980066;border-color:var(--orange)}button{background:var(--orange);color:#17100a;font-weight:800;border-color:transparent;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.55;cursor:wait}.ghost{background:transparent;color:var(--ink);border-color:#53636b}.welcome,.section-title{display:flex;justify-content:space-between;align-items:center;gap:18px}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.stat{padding:18px;border-radius:14px;background:#101a1f;border:1px solid var(--line)}.stat b{display:block;color:var(--orange);font-size:1.7rem}.stat span{color:var(--muted);font-size:.83rem}.grid{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}.accounts-card{min-width:0}.search{display:flex;grid-template-columns:1fr auto;margin-bottom:15px}.accounts{display:grid;gap:10px}.account{display:grid;grid-template-columns:1fr auto;gap:14px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#0a1317}.account h3{margin:0 0 4px;font-size:1rem}.account p{margin:3px 0;font-size:.86rem}.account .balance{color:var(--orange);font-weight:800}.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.actions button{padding:8px 10px;font-size:.8rem}.message{position:fixed;right:20px;bottom:20px;max-width:410px;margin:0;padding:13px 16px;border-radius:10px;background:#26343b;color:var(--ink);box-shadow:0 9px 30px #0008;display:none}.message.show{display:block}.message.error{border-left:4px solid var(--bad)}.message.success{border-left:4px solid var(--good)}@media(max-width:800px){.totals{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.topbar span{display:none}.account{grid-template-columns:1fr}.actions{justify-content:flex-start}}@media(max-width:430px){main{padding:25px 13px}.topbar{padding:10px 13px}.topbar img{width:48px;height:48px}.totals{grid-template-columns:1fr 1fr}.card,.login-card{padding:19px}.welcome{align-items:flex-start}}
.actions .danger{color:#ff9a93;border-color:#8c3e3a}
[hidden]{display:none!important}
.card .account-result{margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}
.account-result.success{color:var(--good);border-color:var(--good)}
.account-result.error{color:var(--bad);border-color:var(--bad)}
#locationDialog{width:min(620px,95vw);max-height:90vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px}
#locationDialog::backdrop{background:#0009}
#locationMap{height:320px;border-radius:10px;background:#26343b}
#locationSummary{margin:8px 0 0;font-size:.85rem;overflow-wrap:anywhere}
#locationError{color:var(--bad);margin:0}
#passwordDialog{width:min(460px,95vw);max-height:90vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px}
#passwordDialog::backdrop{background:#0009}
#passwordDialog h2,#passwordDialog p{margin:0;overflow-wrap:anywhere}
#passwordError{color:var(--bad)}
