:root{--navy:#173C69;--navy-deep:#0D3C70;--blue:#0071CE;--teal:#76BDEA;--line:#E5E9F0;--muted:#64748B;--text:#1E293B;--bg:#F4F6FA;--in:#3DAE2B;--out:#F5333F;--yellow:#FFD100;--orange:#FF8300;--shadow:0 1px 2px rgba(13,33,78,.05), 0 4px 16px rgba(13,33,78,.05);--tint:#F6F8FC}*{box-sizing:border-box}body{margin:0;font-family:Open Sans,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{max-width:700px;margin:0 auto;padding:0 16px 64px;min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 8px;padding:14px 20px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0d214e33}.brand{display:flex;align-items:center;gap:10px}.brand svg{display:block}.brand-title{font-weight:700;font-size:16px;color:#fff;letter-spacing:.2px;padding-left:11px;margin-left:1px;border-left:1px solid rgba(255,255,255,.28)}.who{font-size:12px;color:#ffffffd9;display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.who-name{font-weight:600;color:#fff}.who-home{background:#ffffff24;padding:3px 9px;border-radius:20px}.who .link,header .link{color:#fff;opacity:.9}.tag{background:var(--yellow);color:var(--navy);font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.signin-hero{margin:20px 0 8px;padding:38px 22px;border-radius:16px;text-align:center;background:linear-gradient(135deg,var(--navy) 0%,#0F2E52 60%,var(--navy-deep) 100%);color:#fff;box-shadow:var(--shadow)}.signin-hero .tagline{margin:14px 0 0;font-size:15px;font-weight:300;color:#ffffffeb;font-style:italic}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0;box-shadow:var(--shadow)}.card h3{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--navy);letter-spacing:.2px;display:flex;align-items:center;justify-content:space-between}.card>.muted:first-of-type,.card h3+.muted{margin-top:-4px}.center{text-align:center}.center p{color:#4a4a49}.center h3{border:none;justify-content:center}label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 5px}input,select{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff;font-family:inherit;color:var(--text)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}input:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0071ce1f}input[type=file]{padding:9px 12px;height:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}button{height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--navy);transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--tint)}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.primary:hover:not(:disabled){background:#1e4c82}button.link{height:auto;background:none;border:none;color:var(--blue);text-decoration:underline;padding:0;font-size:13px;font-weight:600}button.link:hover:not(:disabled){background:none}button:disabled{opacity:.5;cursor:default}.toggle{display:flex;gap:8px;margin:14px 0}.toggle button{flex:1}.toggle button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px}.tabs button{height:auto;flex:0 0 auto;padding:8px 14px;border-radius:999px;font-size:13px}.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.balance{display:grid;grid-template-columns:repeat(4,1fr);background:var(--tint);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:center;box-shadow:none;padding:0}.balance>div{padding:14px 6px}.balance>div+div{border-left:1px solid var(--line)}.balance label{text-align:center;margin:0 0 6px}.balance b{display:block;font-size:19px;font-weight:700}.in{color:var(--in)}.out{color:var(--out)}.closing{color:var(--navy)}.row{display:flex;gap:10px;padding:11px 2px;border-top:1px solid var(--line);font-size:14px;align-items:center}.row:first-of-type{border-top:none}.row .grow{flex:1;min-width:0}.row span{white-space:nowrap}.row .grow{white-space:normal}.muted{color:var(--muted);font-size:13px;line-height:1.5}.error{color:var(--out);font-size:13px}.banner{background:var(--navy);color:#fff;padding:11px 14px;border-radius:10px;margin:12px 0;font-size:14px;cursor:pointer}.banner.warn{background:var(--orange)}.acts{display:flex;gap:10px;min-width:64px;justify-content:flex-end}.row.edit{gap:8px;flex-wrap:wrap}.row.edit input,.row.edit select{width:auto;height:38px}.row.hist{font-size:13px}.txn-date{width:80px;color:var(--muted);font-size:13px}.row.txn .in,.row.txn .out,.row.txnhead .amt{width:62px;text-align:right}.run{width:74px;text-align:right;font-weight:700;color:var(--navy)}.row.txnhead{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;border-top:none;padding-bottom:4px}.row.txnhead .run,.row.txnhead .txn-date{color:var(--muted);font-weight:700}.row>button{height:36px;min-width:58px;padding:0 12px}.adminbar{display:flex;gap:10px;align-items:center;padding:10px 0 0;flex-wrap:wrap}.adminbar>button{background:#fff;color:var(--navy)}.adminbar>button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.viewas{display:flex;gap:8px;flex:1}.viewas input{width:auto;flex:1}.card.confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-left:4px solid var(--yellow)}.card.confirm>span{font-size:14px}.card.confirm.done{border-left-color:var(--in);background:#f3fbf1}.card.confirm.done>span{color:var(--in);font-weight:600}.email-field{display:flex;flex-direction:column;gap:5px}.email-hint{font-size:12px;font-weight:600}.email-hint.ok{color:var(--in)}.email-hint.no{color:var(--out)}.email-hint.wait{color:var(--muted);font-weight:400}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.export-grid button{width:100%}.brand-dots{display:flex;gap:6px}.brand-dots span{width:9px;height:9px;border-radius:50%;display:block}footer{margin-top:auto;padding:24px 4px 8px;display:flex;align-items:center;gap:12px;justify-content:center;color:var(--muted);font-size:12px}@media (max-width: 640px){.app{padding:0 12px 52px}header{padding:12px 14px;flex-wrap:wrap;gap:6px}.brand-title{font-size:15px}.who{width:100%;justify-content:flex-start}.grid2{grid-template-columns:1fr}.balance{grid-template-columns:repeat(2,1fr)}.balance>div:nth-child(2){border-left:none}.balance>div:nth-child(3),.balance>div:nth-child(4){border-top:1px solid var(--line)}.balance>div:nth-child(3){border-left:none}.export-grid{grid-template-columns:1fr}.viewas{width:100%}input,select{font-size:16px}}@media (min-width: 641px) and (max-width: 920px){.app{max-width:780px}}@media (hover: none){button.primary,.toggle button{min-height:46px}}
