:root{--green:#7ABA00;--teal:#00576D;--bg:#f4f7f8;--text:#1f2d33;--muted:#6b7b83;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#073f4c;color:#fff;padding:24px 18px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:30px}.brand strong{font-size:18px}.brand small{display:block;color:#b9d0d6}.nav a{display:block;padding:11px 12px;border-radius:8px;margin:5px 0;color:#dce9ec}.nav a:hover,.nav a.active{background:rgba(122,186,0,.18);color:#fff}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.card .label{color:var(--muted);font-size:13px}.card .value{font-size:24px;font-weight:700;margin-top:8px}.green{color:var(--green)}.teal{color:var(--teal)}.danger{color:var(--danger)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:11px 12px;border-bottom:1px solid #e8eef0;text-align:left;font-size:14px}th{background:#edf5f6;color:#31545d}.btn{border:0;border-radius:8px;padding:10px 15px;font-weight:600;cursor:pointer}.btn-primary{background:var(--teal);color:#fff}.btn-green{background:var(--green);color:#fff}.panel{background:#fff;padding:20px;border-radius:14px;margin-top:18px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#073f4c,#00576D)}.login-card{width:min(420px,92vw);background:#fff;border-radius:18px;padding:34px;box-shadow:0 18px 60px rgba(0,0,0,.24)}.login-logo{text-align:center;margin-bottom:24px}.login-logo h1{margin:0;color:var(--teal)}.login-logo p{margin:5px 0;color:var(--muted)}label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}input,select{width:100%;padding:11px;border:1px solid #cfdadd;border-radius:8px;font:inherit}.alert{padding:12px;border-radius:8px;margin-bottom:12px;background:#fff2f0;color:#8a1c13}.success{background:#edf8e6;color:#3f6f00}.logo-img{max-height:48px;max-width:210px}.report-logo{max-height:55px}.category-form{margin:0}.category-form select{padding:7px 9px;background:#fff;min-width:230px}.table-scroll{overflow:auto}
@media(max-width:1200px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cards{grid-template-columns:1fr}.main{padding:16px}}

/* v0.4 - privacidade e relatórios */
.topbar-actions{display:flex;align-items:center;gap:16px}.privacy-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfdadd;background:#fff;color:#31545d;padding:8px 11px;border-radius:9px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}.privacy-toggle:hover{background:#f7fafb}.privacy-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.privacy-toggle .eye-closed{display:none}.values-hidden .privacy-toggle .eye-open{display:none}.values-hidden .privacy-toggle .eye-closed{display:block}.values-hidden [data-sensitive="1"]{color:transparent!important;position:relative;user-select:none}.values-hidden [data-sensitive="1"]::after{content:'••••••';color:#42555e!important;position:absolute;left:0;top:50%;transform:translateY(-50%);white-space:nowrap;font-weight:700}.values-hidden td[data-sensitive="1"]::after{left:12px}.report-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end}.report-filters label{margin-top:0}.report-filter-actions{display:flex;gap:8px;align-items:end}.btn-light{background:#fff;border:1px solid #cfdadd;color:#42555e}.report-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.report-export-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.report-export-actions{display:flex;gap:10px}.report-export-bar .label{color:var(--muted);font-size:13px;margin-top:4px}@media(max-width:1200px){.report-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:900px){.topbar-actions{gap:8px}.privacy-toggle span{display:none}.report-filters{grid-template-columns:1fr 1fr}.report-cards{grid-template-columns:1fr 1fr}.report-export-bar{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.report-filters{grid-template-columns:1fr}.report-cards{grid-template-columns:1fr}.report-export-actions{width:100%}.report-export-actions .btn{flex:1;text-align:center}}

/* v0.4.1 - identidade, menu lateral e configurações */
.brand-vertical{flex-direction:column;justify-content:center;text-align:center;gap:8px;margin-bottom:18px}.sidebar-logo{max-height:78px;max-width:150px}.brand-copy strong{display:block;font-size:20px;line-height:1.1}.brand-copy small{margin-top:4px}.settings-panel{max-width:980px}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e8eef0;padding-bottom:16px;margin-bottom:18px}.settings-heading h2{margin:0 0 5px}.settings-heading p{margin:0;color:var(--muted)}.settings-logo{max-height:64px;max-width:180px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.settings-field.wide{grid-column:1/-1}.settings-field label{margin-top:0}.settings-check-row{background:#f7fafb;border:1px solid #e3ebee;border-radius:10px;padding:14px}.check-label{display:flex!important;align-items:center;gap:9px;margin:0!important}.check-label input{width:auto}.settings-check-row small{display:block;color:var(--muted);margin-top:7px;margin-left:25px}.settings-actions{margin-top:18px}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-field.wide{grid-column:auto}.settings-heading{align-items:flex-start;flex-direction:column}}


/* v0.4.2 - menu recolhível no desktop e acessível no celular */
.sidebar-toggle{
  position:fixed;
  top:18px;
  left:18px;
  z-index:1200;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfdadd;
  border-radius:10px;
  background:#fff;
  color:#31545d;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  cursor:pointer;
}
.sidebar-toggle svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.sidebar{
  position:relative;
  transition:transform .22s ease, width .22s ease, padding .22s ease;
}
.layout{
  transition:grid-template-columns .22s ease;
}
html.sidebar-collapsed .layout{
  grid-template-columns:0 1fr;
}
html.sidebar-collapsed .sidebar{
  transform:translateX(-100%);
  width:0;
  padding-left:0;
  padding-right:0;
  overflow:hidden;
}
html:not(.sidebar-collapsed) .sidebar-toggle{
  left:266px;
}
.sidebar-overlay{
  display:none;
}
@media(max-width:900px){
  .layout{
    grid-template-columns:1fr !important;
  }
  .sidebar{
    display:block !important;
    position:fixed;
    inset:0 auto 0 0;
    width:min(82vw,290px);
    z-index:1100;
    transform:translateX(-105%);
    overflow-y:auto;
    box-shadow:12px 0 30px rgba(0,0,0,.22);
  }
  html.mobile-menu-open .sidebar{
    transform:translateX(0);
  }
  .sidebar-toggle,
  html:not(.sidebar-collapsed) .sidebar-toggle{
    left:14px;
    top:14px;
  }
  html.mobile-menu-open .sidebar-toggle{
    left:min(calc(82vw - 54px),236px);
    background:#fff;
  }
  html.mobile-menu-open .sidebar-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(10,29,35,.42);
    z-index:1050;
  }
  .main{
    padding-top:72px;
  }
  .topbar{
    gap:12px;
    align-items:flex-start;
  }
  .topbar-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
}
@media(max-width:560px){
  .topbar{
    flex-direction:column;
  }
  .topbar-actions{
    width:100%;
    justify-content:space-between;
  }
  .privacy-toggle span{
    display:inline;
  }
}


/* v0.4.3 */
@media(min-width:901px){
  .sidebar-toggle,
  html:not(.sidebar-collapsed) .sidebar-toggle{
    top:18px;
    left:18px !important;
  }
  .sidebar-brand{
    padding-top:42px;
  }
}

/* A IA Financeira permanece visível no modo privacidade */
.values-hidden .ai-finance-card,
.values-hidden .ai-finance-card *,
.values-hidden #finance-ai,
.values-hidden #finance-ai *{
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}
