*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f6f9;color:#172033;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}:root{--accent:#e2783e;--ink:#172033;--muted:#718096;--line:#e7ebf0;--surface:#fff;--sidebar:#171a20}button,input,select{font:inherit}button{border:0;cursor:pointer}.mobilebar,.sidebar-overlay{display:none}
.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.app>aside{background:linear-gradient(180deg,#171a20,#20242c);color:#fff;padding:26px 18px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand>span{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(135deg,var(--accent),#f19a66);display:grid;place-items:center;font-size:16px;font-weight:900;box-shadow:0 8px 22px rgba(226,120,62,.25)}.brand b,.brand small{display:block}.brand small{color:#9da4ad;margin-top:3px;font-size:12px}.app>aside nav{display:grid;gap:7px}.app>aside nav a{display:block;color:#aeb3b8;text-decoration:none;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:700;transition:.18s}.app>aside nav a:hover,.app>aside nav a.active{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.btn-logout{display:flex;align-items:center;justify-content:center;margin:24px 0 0;padding:11px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none;font-size:13px;font-weight:800}.btn-logout:hover{background:var(--accent);border-color:var(--accent)}
main{min-width:0;width:100%;max-width:1440px;margin:0 auto;padding:34px 36px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}h1{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}p{margin:0;color:#777e86}.today{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:12px;box-shadow:0 3px 12px rgba(22,32,51,.04)}.alert{padding:12px 15px;background:#e9f8ef;color:#16723a;border-radius:12px;margin-bottom:18px}.danger{background:#fff1f2!important;color:#be123c!important}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat,.card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 30px rgba(23,32,51,.045)}.stat{padding:21px}.stat small,.stat span{display:block;color:#7b8188}.stat strong{display:block;font-size:24px;margin:11px 0;letter-spacing:-.025em;overflow-wrap:anywhere}.stat.dark{background:linear-gradient(135deg,#1d2430,#10141b);color:#fff;border-color:#17191c}.stat.dark small,.stat.dark span{color:#aeb3b8}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.card{padding:24px}.cardhead{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #f0f2f5}.card h2{font-size:18px;color:#202939;margin:0 0 5px}.card h3{font-size:15px}.cardhead p{font-size:13px}form label{display:block;color:#485568;font-size:12px;font-weight:700;margin-bottom:14px}input,select{width:100%;min-width:0;margin-top:7px;padding:11px 12px;border:1px solid #dfe5ec;border-radius:9px;background:#fbfcfd;color:#172033;outline:none}input:hover,select:hover{border-color:#cbd3dd}input:focus,select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(226,120,62,.12)}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}button{border-radius:9px;background:var(--accent);color:#fff;font-weight:800;padding:11px 16px;box-shadow:0 5px 14px rgba(226,120,62,.16);transition:.18s}button:hover{filter:brightness(.98);transform:translateY(-1px)}
.accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account{min-width:0;display:flex;align-items:center;gap:12px;padding:14px;background:#fafbfc;border:1px solid #edf0f4;border-radius:12px}.ico{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#eef1f5;color:#303a49;display:grid;place-items:center;font-weight:800}.account:first-child .ico{background:#fff1e9;color:#c9632d}.grow{min-width:0;flex:1}.grow b,.grow small{display:block}.grow b{overflow-wrap:anywhere}.grow small{color:#858b91;font-size:12px;margin-top:3px}.account strong{font-size:14px;text-align:right;overflow-wrap:anywhere}.bankform{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto;gap:8px}.bankform input{margin:0}.history{margin-top:20px}.tablewrap{width:100%;overflow-x:auto;border:1px solid #edf0f4;border-radius:12px;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f2;font-size:13px}th{background:#f8fafc;color:#81878e;font-size:11px;text-transform:uppercase;letter-spacing:.04em}td small{display:block;color:#92979d;margin-top:3px}.pill{display:inline-block;padding:6px 9px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}.pill.in{background:#e7f8ee;color:#168344}.pill.out{background:#fff0ed;color:#c54c35}.amt{font-weight:800;white-space:nowrap}.amt.in{color:#168344}.amt.out{color:#c54c35}hr{border:0;border-top:1px solid #eee;margin:18px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0 18px}.filters input,.filters select{width:auto;min-width:160px;margin-top:0}.filters button{width:auto}.btn-reset{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #d8dee7;border-radius:9px;background:#fff;color:#536173;font-size:13px;font-weight:800;text-decoration:none}.reportstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.reportstats div{padding:16px;background:#fafbfc;border:1px solid #edf0f4;border-radius:14px}.reportstats small,.reportstats b{display:block}.reportstats b{margin-top:6px;font-size:18px}.search{max-width:360px;margin:0 0 12px}.actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.actions form{margin:0}.btn-edit,.actions .delete{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 11px!important;border-radius:9px;font-size:12px!important;font-weight:800!important;text-decoration:none;box-shadow:none!important}.btn-edit{background:#fff7ed;border:1px solid #fed7aa;color:#c45f27}.actions .delete{border:1px solid #fecaca!important;background:#fff1f2!important;color:#be123c!important}.cancel{display:inline-flex;margin-top:10px;text-decoration:none;color:#64748b;font-weight:700}.security{margin-bottom:30px}.security form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;margin-top:15px}.security form input{margin-top:0}.security button{width:auto}
/* Login is intentionally independent from dashboard responsive layout */body.loginbody{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,rgba(226,120,62,.10),transparent 28%),#f4f6f9;padding:24px}.loginbox{width:100%;max-width:420px;margin:auto;background:#fff;padding:32px;border:1px solid #e5e9ef;border-radius:20px;box-shadow:0 20px 60px rgba(20,30,45,.12)}.loginbox .brand{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #edf0f4;color:#172033}.loginbox .brand small{color:#8a94a3}.loginbox h1{font-size:25px;margin:0 0 7px}.loginbox>p{font-size:14px;margin:0 0 22px}.loginbox button{width:100%}.loginbox .hint{display:block;text-align:center;margin-top:17px;color:#64748b;font-size:11px;line-height:1.5}
/* Tablet/Desktop only: mobile controls never render */
@media (min-width:769px){.mobilebar,.sidebar-overlay{display:none!important}.app>aside{transform:none!important}.app{display:grid!important}}
@media (min-width:769px) and (max-width:1100px){.app{grid-template-columns:220px minmax(0,1fr)}main{padding:26px 22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts{grid-template-columns:1fr}.grid{gap:14px}.card{padding:20px}}
/* Mobile only */
@media (max-width:768px){body:not(.loginbody){padding-top:64px}.mobilebar{display:flex;position:fixed;top:0;left:0;right:0;z-index:1100;height:64px;align-items:center;gap:11px;padding:0 14px;background:#171a20;color:#fff;box-shadow:0 3px 16px rgba(0,0,0,.14)}.mobilebar .menubtn{flex:0 0 42px;width:42px;height:42px;padding:0;margin:0;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:none;font-size:22px}.mobilebar div{min-width:0;flex:1}.mobilebar b,.mobilebar small{display:block}.mobilebar b{font-size:14px}.mobilebar small{font-size:11px;color:#aeb3b8;margin-top:2px}.mobilebar>span{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:900}.app{display:block;min-height:calc(100vh - 64px)}.app>aside{display:block;position:fixed;z-index:1200;left:0;top:0;width:min(84vw,300px);height:100dvh;padding:22px 16px;transform:translateX(-105%);transition:transform .24s ease;overflow-y:auto;box-shadow:12px 0 35px rgba(0,0,0,.2)}.app>aside.open{transform:translateX(0)}.app>aside .brand{margin-bottom:20px;padding:0 6px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.app>aside nav{display:grid;overflow:visible;gap:7px}.app>aside nav a{white-space:normal;width:100%}.app>aside .btn-logout{width:100%;margin:20px 0 0}.sidebar-overlay{position:fixed;inset:0;z-index:1150;background:rgba(10,15,22,.48);backdrop-filter:blur(2px)}.sidebar-overlay.show{display:block}main{width:100%;max-width:none;margin:0;padding:14px;overflow:visible}header{display:block;margin-bottom:18px}header .today{display:inline-block;margin-top:12px}h1{font-size:22px}.stats{grid-template-columns:1fr;gap:10px}.stat{padding:16px}.stat strong{font-size:21px}.grid{grid-template-columns:1fr;gap:14px}.card{padding:16px;border-radius:14px}.cardhead{align-items:flex-start;gap:10px;flex-direction:column}.two,.bankform,.security form{grid-template-columns:1fr}.accounts{grid-template-columns:1fr}.account{align-items:center}.filters{display:grid;grid-template-columns:1fr;gap:9px}.filters>*{width:100%!important;min-width:0!important}.filters input,.filters select{margin:0}.btn-reset{width:100%}.reportstats{grid-template-columns:1fr}.history .cardhead input,.search{width:100%;max-width:none}.tablewrap{max-width:100%;overflow-x:auto}table{min-width:720px}.actions{min-width:140px}input,select,button{font-size:16px}.security{margin-bottom:16px}}
@media (max-width:420px){.mobilebar{padding:0 10px}.mobilebar b{font-size:13px}main{padding:10px}.card{padding:14px}.account{flex-wrap:wrap}.account .grow{min-width:calc(100% - 52px)}.account>strong{width:100%;padding-left:50px;text-align:left}}
@media (max-width:520px){body.loginbody{padding:16px}.loginbox{max-width:380px;padding:24px 20px}}
/* V7 mobile drawer state */
@media (max-width:768px){body.menu-open{overflow:hidden}.mobilebar .menubtn{touch-action:manipulation;position:relative;z-index:1}.app>aside.open{transform:translateX(0)!important;visibility:visible}.sidebar-overlay.show{display:block!important;opacity:1;pointer-events:auto}}
