:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#6b7280;--primary:#4f46e5;--primary-soft:#eef2ff;--border:#e5e7eb;--success:#169b62;--danger:#d14343;--warning:#e09b2d;--shadow:0 14px 40px rgba(23,32,51,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px max(20px,calc((100vw - 1440px)/2));background:linear-gradient(135deg,#312e81,#4f46e5);color:white;position:sticky;top:0;z-index:20;box-shadow:0 5px 20px rgba(49,46,129,.22)}h1,h2,p{margin:0}.topbar h1{font-size:clamp(24px,3vw,34px)}.eyebrow{font-size:11px;letter-spacing:.16em;opacity:.75;margin-bottom:5px}.container{max-width:1440px;margin:auto;padding:24px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.summary-card{padding:20px;display:flex;flex-direction:column;gap:6px}.summary-card span,.summary-card small,.panel-header p{color:var(--muted)}.summary-card strong{font-size:25px}.summary-card.success strong{color:var(--success)}.summary-card.profit strong{color:var(--primary)}.panel{padding:20px;margin-bottom:20px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.panel-header h2{font-size:20px}.panel-header p{font-size:13px;margin-top:4px}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer}.btn-primary{background:white;color:#3730a3}.btn-secondary{background:var(--primary);color:white}.btn-danger{background:#fee2e2;color:#991b1b}.btn-light{background:#f3f4f6;color:#374151}.month-nav{display:flex;align-items:center;gap:12px}.icon-btn{width:38px;height:38px;border:1px solid var(--border);background:white;border-radius:10px;font-size:25px;cursor:pointer}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:700;padding:8px}.calendar{border-top:1px solid var(--border);border-left:1px solid var(--border)}.day{min-height:118px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;background:#fff}.day.outside{background:#fafafa;color:#a8a8a8}.day.today{background:#f8f7ff}.day-number{font-size:12px;font-weight:800;margin-bottom:7px}.event{display:block;width:100%;border:0;text-align:left;border-radius:8px;padding:6px 7px;margin:4px 0;font-size:11px;line-height:1.2;cursor:pointer;background:#fff4e5;color:#8a5600;border-left:3px solid var(--warning);overflow:hidden}.event.paga{background:#eafaf2;color:#0b6e45;border-left-color:var(--success)}.content-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.account-list{display:flex;flex-direction:column;gap:10px}.account-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px;border:1px solid var(--border);border-radius:13px}.account-main{display:flex;gap:10px;align-items:flex-start}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--warning);margin-top:6px}.status-dot.paga{background:var(--success)}.account-item h3{font-size:15px;margin:0 0 4px}.account-item p{font-size:12px;color:var(--muted)}.account-value{text-align:right}.account-value strong{display:block}.account-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:7px}.mini-btn{border:1px solid var(--border);background:white;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer}.input{width:100%;padding:11px 12px;border:1px solid #d8dce5;border-radius:10px;background:white;outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.input.compact{width:auto;padding:8px 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:#374151}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.56);display:grid;place-items:center;padding:18px;z-index:50}.modal-backdrop.hidden{display:none}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:white;border-radius:18px;padding:24px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.28)}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:29px;cursor:pointer}.modal h2{margin-bottom:18px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:730px}th,td{border-bottom:1px solid var(--border);padding:11px 8px;text-align:left;font-size:12px}th{color:var(--muted);font-size:11px;text-transform:uppercase}.empty{text-align:center;padding:30px;color:var(--muted);border:1px dashed var(--border);border-radius:12px}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:white;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:80}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:980px){.summary-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.calendar-header{align-items:flex-start;flex-direction:column}.day{min-height:96px}.event{font-size:10px}}
@media(max-width:640px){.topbar{padding:16px}.container{padding:12px}.summary-grid{gap:10px}.summary-card{padding:14px}.summary-card strong{font-size:19px}.panel{padding:13px;border-radius:14px}.weekdays span{font-size:10px}.day{min-height:76px;padding:4px}.event{padding:4px;font-size:0}.event::after{content:'•';font-size:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-header{align-items:flex-start;flex-direction:column}.topbar .btn{padding:9px 11px}.eyebrow{display:none}}

.account-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.day.searched{outline:3px solid rgba(79,70,229,.35);outline-offset:-3px;background:#eef2ff}.recurring-badge{display:inline-block;font-size:9px;color:#3730a3;background:#eef2ff;border-radius:999px;padding:3px 6px;vertical-align:middle;margin-left:4px}.checkbox-field label{display:flex;align-items:center;gap:8px;font-size:14px}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.checkbox-field small{color:var(--muted);margin-left:26px}.recurring-notice{padding:11px 12px;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:13px;margin:-6px 0 16px}
@media(max-width:640px){.account-filters{width:100%}.account-filters .input{flex:1;min-width:145px}.account-filters select.input{flex:0 0 100%}}
.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#17164a;color:#fff;padding:24px 14px;position:fixed;inset:0 auto 0 0;z-index:30}.brand{display:flex;flex-direction:column;gap:6px;padding:0 10px 24px}.brand small{font-size:10px;letter-spacing:.12em;opacity:.65}.brand strong{font-size:20px}.side-nav{display:flex;flex-direction:column;gap:8px}.nav-item{border:0;background:transparent;color:#d9dcff;padding:13px 14px;border-radius:11px;text-align:left;font-weight:700;cursor:pointer;font-size:15px}.nav-item:hover,.nav-item.active{background:#4f46e5;color:#fff}.main-area{margin-left:240px;width:calc(100% - 240px)}.page{display:none}.page.active{display:block}.summary-grid.one{grid-template-columns:minmax(260px,420px)}.searched{outline:2px solid var(--primary);outline-offset:-2px}.recurring-badge{font-size:10px;background:#eef2ff;color:#4338ca;padding:2px 6px;border-radius:99px}.checkbox-field small{color:var(--muted)}.recurring-notice{background:#eef2ff;color:#3730a3;padding:10px;border-radius:10px;margin-bottom:14px}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px;display:flex;align-items:center;justify-content:space-between}.brand{padding:0}.brand small{display:none}.brand strong{font-size:15px}.side-nav{flex-direction:row;gap:4px}.nav-item{padding:9px;font-size:12px}.nav-item span{display:none}.main-area{margin-left:0;width:100%}.topbar{position:sticky;top:58px}.summary-grid.one{grid-template-columns:1fr}}

/* Menu lateral corrigido - V4 */
html,body{min-height:100%;overflow-x:hidden}
.app-shell{display:block;min-height:100vh}
.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:260px!important;height:100vh!important;padding:24px 16px!important;background:#17164a!important;color:#fff!important;z-index:100!important;overflow-y:auto!important;box-shadow:6px 0 24px rgba(23,22,74,.18)}
.sidebar .brand{display:flex!important;flex-direction:column!important;padding:0 10px 28px!important}
.sidebar .side-nav{display:flex!important;flex-direction:column!important;gap:9px!important;width:100%!important}
.sidebar .nav-item{display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;padding:14px 15px!important;border-radius:12px!important;text-align:left!important;white-space:nowrap!important}
.sidebar .nav-item span{display:inline!important}
.main-area{margin-left:260px!important;width:calc(100% - 260px)!important;min-height:100vh!important}
.topbar{left:0!important;width:100%!important}
.page{display:none!important}
.page.active{display:block!important}
.accounts-summary{grid-template-columns:repeat(2,minmax(240px,1fr))!important;max-width:760px}
@media(max-width:760px){
  .sidebar{width:78px!important;padding:16px 9px!important}
  .sidebar .brand small,.sidebar .brand strong,.sidebar .nav-item span{display:none!important}
  .sidebar .brand{height:35px;padding:0!important}
  .sidebar .side-nav{flex-direction:column!important}
  .sidebar .nav-item{justify-content:center!important;font-size:20px!important;padding:13px 8px!important}
  .main-area{margin-left:78px!important;width:calc(100% - 78px)!important}
  .topbar{top:0!important}
  .accounts-summary{grid-template-columns:1fr!important;max-width:none}
}
.daily-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.difference.positive{color:#22c55e}.difference.negative{color:#ef4444}@media(max-width:720px){.daily-actions{width:100%;justify-content:space-between}.daily-actions .btn{width:100%}}
.today-row{background:#f5f3ff}.today-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#4f46e5;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.not-filled{color:var(--muted);font-style:italic}.empty-value-row td{color:#6b7280}.empty-value-row .add-value-btn{color:#3730a3;border-color:#c7d2fe;background:#eef2ff;font-weight:700}.selected-date-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin-bottom:16px;border:1px solid #d8dce5;border-radius:12px;background:#f8fafc}.selected-date-card span{font-size:12px;color:#6b7280}.selected-date-card strong{font-size:16px;color:#312e81}

/* Dashboard comparativo */
.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.dashboard-toolbar h2{margin-bottom:5px}.dashboard-toolbar p{color:var(--muted);font-size:13px}.year-nav{display:flex;align-items:center;gap:12px}.year-nav strong{font-size:20px;min-width:58px;text-align:center}.dashboard-summary{grid-template-columns:repeat(4,minmax(180px,1fr))}.dashboard-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.dashboard-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.liquido,.bar-liquido,.year-fill.liquido{background:#4f46e5}.legend-dot.listas,.bar-listas,.year-fill.listas{background:#f59e0b}.dashboard-chart{height:245px;display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));align-items:end;gap:8px;padding:16px 4px 0;border-bottom:1px solid var(--border)}.chart-month{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}.bars{height:155px;display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%}.bar{width:min(18px,38%);border-radius:6px 6px 0 0;min-height:0;transition:.2s}.bar.negative{opacity:.45;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 3px,transparent 3px,transparent 6px)}.chart-month>strong{font-size:11px;text-transform:capitalize;margin-top:7px}.chart-month>small{font-size:8px;text-align:center;color:var(--muted);line-height:1.35;margin-top:3px}.dashboard-table td:nth-child(n+2){font-variant-numeric:tabular-nums}.value-negative{color:#dc2626}.year-comparison{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}.year-card{border:1px solid var(--border);border-radius:14px;padding:15px}.year-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.year-card-head strong{font-size:20px}.year-card-head span{font-size:11px;color:var(--muted)}.year-row{display:grid;grid-template-columns:100px 1fr 105px;gap:10px;align-items:center;margin-top:9px;font-size:11px}.year-row>strong{text-align:right}.year-track{height:10px;background:#eef0f5;border-radius:999px;overflow:hidden}.year-fill{display:block;height:100%;border-radius:999px}
@media(max-width:1100px){.dashboard-summary{grid-template-columns:repeat(2,1fr)}.dashboard-chart{overflow-x:auto;grid-template-columns:repeat(12,60px);justify-content:start}.year-comparison{grid-template-columns:1fr}}
@media(max-width:640px){.dashboard-toolbar{align-items:flex-start;flex-direction:column}.dashboard-summary{grid-template-columns:1fr}.dashboard-chart{height:230px}.chart-month>small{display:none}.year-row{grid-template-columns:85px 1fr}.year-row>strong{grid-column:2;text-align:left}.dashboard-legend{width:100%}}
