:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef2f7;--text:#172033;--muted:#64748b;--line:#d9e0ea;--primary:#2563eb;--primary-strong:#1d4ed8;--positive:#087f5b;--negative:#c2410c;--shadow:0 10px 28px #161f3314}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}.shell{grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{color:#f8fafc;background:#101827;padding:24px}.brand{align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand svg{color:#60a5fa}.brand strong,.brand span{display:block}.brand span{color:#b6c2d2;font-size:14px}.nav{gap:6px;display:grid}.nav button{color:#cbd5e1;text-align:left;background:0 0;border:0;border-radius:8px;min-height:44px;padding:10px 12px}.nav .active{color:#fff;background:#1d2a3f}.content{gap:20px;padding:28px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topbar>div:first-child{flex:1}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:18px}.topbar p,.panelHeader span{color:var(--muted)}.iconButton{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:8px;place-items:center;display:inline-grid}.iconButton.small{width:36px;height:36px}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.segmented .selected{border-color:var(--primary);color:var(--primary-strong);background:#e8f0ff}.alert{color:#991b1b;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;padding:12px 14px}.kpis,.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.wide{grid-column:1/-1}.metric,.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;min-width:0}.metric{padding:18px}.metric span{color:var(--muted);margin-bottom:8px;display:block}.metric strong{font-size:26px}.positive{color:var(--positive)}.negative{color:var(--negative)}.panel{padding:18px}.panelHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panelActions{align-items:center;gap:10px;display:inline-flex}.chart{height:260px}.form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.filters{grid-template-columns:minmax(180px,1fr) 150px 150px 150px auto auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.form label,.filters label{color:var(--muted);gap:6px;font-size:14px;display:grid}.form .full{grid-column:1/-1}input,select{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px}.primary{background:var(--primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;display:inline-flex}.primary:hover{background:var(--primary-strong)}.secondaryButton{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 10px}.actions{text-align:right;white-space:nowrap;width:112px}.actions .iconButton+.iconButton{margin-left:6px}th{color:var(--muted);font-size:14px;font-weight:600}.amount{text-align:right;font-variant-numeric:tabular-nums}td.expense{color:var(--negative)}td.income{color:var(--positive)}.empty{color:var(--muted);text-align:center}.whatsappStrip{color:#334155;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.list{gap:10px;display:grid}.listRow{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:flex}.listRow strong,.listRow span{display:block}.listRow span,.emptyText{color:var(--muted);font-size:14px}.statusBox{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:flex}.statusBox strong,.statusBox span{display:block}.statusBox span{color:var(--muted)}.contactForm{margin-top:12px}.parserForm{gap:10px;margin-top:18px;display:grid}.parserForm label{color:var(--muted);gap:6px;font-size:14px;display:grid}.parserResult{border:1px solid var(--line);color:#e2e8f0;background:#0f172a;border-radius:8px;max-height:220px;padding:12px;font-size:13px;line-height:1.4;overflow:auto}.loginPage{background:#101827;place-items:center;min-height:100dvh;padding:24px;display:grid}.loginPanel{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;padding:24px}.loginBrand{color:var(--text);margin-bottom:24px}.loginBrand span{color:var(--muted)}.loginForm{gap:14px;display:grid}.loginForm label{color:var(--muted);gap:6px;font-size:14px;display:grid}@media (max-width:980px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:static}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis,.grid{grid-template-columns:minmax(0,1fr)}}.mobileNav{display:none}@media (max-width:640px){.content{padding:16px 16px 76px}.sidebar{padding:10px 16px}.brand{margin-bottom:0}.brand span,.sidebar .nav,.topbar p{display:none}.topbar h1{font-size:20px}.form,.filters{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.metric{padding:12px}.metric strong{font-size:20px}table{min-width:0}.txTable th:nth-child(2),.txTable th:nth-child(3),.txTable th:nth-child(4),.txTable td:nth-child(2),.txTable td:nth-child(3),.txTable td:nth-child(4),.checksTable th:nth-child(2),.checksTable th:nth-child(6),.checksTable td:nth-child(2),.checksTable td:nth-child(6),.eventsTable th:nth-child(3),.eventsTable td:nth-child(3){display:none}td{overflow-wrap:break-word;word-break:break-word}.listRow>div{min-width:0}.listRow strong,.listRow span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{overflow-x:hidden}.mobileNav{z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);background:#101827;border-top:1px solid #1e2d42;display:flex;position:fixed;bottom:0;left:0;right:0}.mobileNav button{color:#94a3b8;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:8px 2px;font-size:9px;line-height:1.2;display:flex}.mobileNav button.active{color:#60a5fa}}
