/* ShahrVam v536 — finance hub visual/layout hardening
   Scope: accounting-dashboard only. Functional routes and finance logic are untouched. */

body[data-page="accounting-dashboard"] #page-content{
  overflow-x:hidden!important;
}

body[data-page="accounting-dashboard"] .fin404-hub-clean{
  width:100%!important;
  max-width:1540px!important;
  margin-inline:auto!important;
  padding:4px 8px 28px!important;
  gap:14px!important;
  box-sizing:border-box!important;
}

/* The top bar is already the visual anchor. Keep the finance hero light, compact and readable. */
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero{
  min-height:104px!important;
  height:auto!important;
  padding:10px 18px!important;
  border:1px solid #c7dbe8!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#f8fbfd 0%,#eef6fa 100%)!important;
  color:#123f61!important;
  box-shadow:0 7px 20px rgba(20,61,88,.055)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  overflow:hidden!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero>div:first-child{
  min-width:0!important;
  max-width:none!important;
  text-align:right!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero small{
  color:#678094!important;
  font-size:12px!important;
  line-height:1.6!important;
  font-weight:800!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero h1{
  margin:4px 0 0!important;
  color:#123f61!important;
  font-size:22px!important;
  line-height:1.5!important;
  font-weight:900!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero-balance{
  flex:0 0 230px!important;
  min-width:230px!important;
  max-width:260px!important;
  padding:8px 14px!important;
  border:1px solid #d3e1e9!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#153f60!important;
  text-align:center!important;
  box-shadow:0 6px 15px rgba(20,58,85,.055)!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero-balance span{
  color:#61798a!important;
  font-size:12px!important;
  font-weight:800!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero-balance b{
  margin:3px 0 1px!important;
  color:#103b5d!important;
  font-size:22px!important;
  line-height:1.45!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero-balance small{
  color:#82939e!important;
}

/* Compact, balanced KPI strip. */
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:10px!important;
  min-width:0!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:88px!important;
  height:auto!important;
  padding:11px 15px!important;
  border-radius:15px!important;
  border:1px solid #d2e1ea!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(20,58,85,.035)!important;
  align-content:center!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric::before{
  inset-inline-start:auto!important;
  inset-inline-end:0!important;
  width:4px!important;
  border-radius:4px 0 0 4px!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric span{
  color:#587184!important;
  font-size:12px!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric b{
  color:#123f61!important;
  font-size:21px!important;
  line-height:1.45!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric small{
  color:#82939d!important;
  font-size:11px!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric.is-orange{
  background:#fff8f3!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric.is-orange::before{
  background:#d67a32!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric.is-amber{
  background:#fffaf0!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics>.fin404-metric.is-green{
  background:#f3faf6!important;
}

/* Sections and navigation cards. */
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-group{
  width:100%!important;
  min-width:0!important;
  padding:14px 16px 16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  border:1px solid #d0dfe8!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-section-head{
  min-width:0!important;
  margin-bottom:10px!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-section-head h2{
  color:#123f61!important;
  font-size:16px!important;
  font-weight:900!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-section-head p{
  margin-top:2px!important;
  color:#708491!important;
  font-size:11.5px!important;
  line-height:1.7!important;
}

/* Root guard against generic button/card rules collapsing the 6th finance card. */
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid,
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-report-grid{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-columns:minmax(0,1fr)!important;
  grid-auto-rows:minmax(82px,auto)!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  gap:10px!important;
  overflow:visible!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid.is-two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid>.fin404-nav-card{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  inline-size:auto!important;
  width:100%!important;
  min-inline-size:0!important;
  min-width:0!important;
  max-inline-size:none!important;
  max-width:none!important;
  block-size:auto!important;
  height:auto!important;
  min-height:82px!important;
  max-height:none!important;
  margin:0!important;
  padding:12px 13px!important;
  overflow:hidden!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 18px!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:11px!important;
  border:1px solid #d2e0e8!important;
  border-radius:15px!important;
  background:#fbfdfe!important;
  color:#173b55!important;
  text-align:right!important;
  line-height:normal!important;
  transform:none!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid>.fin404-nav-card:hover{
  transform:translateY(-2px)!important;
  background:#f5fafd!important;
  border-color:#91b1c6!important;
  box-shadow:0 8px 18px rgba(20,58,85,.07)!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid>.fin404-nav-card>.fin404-nav-icon{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:12px!important;
  background:#eaf3f8!important;
  color:#1d6089!important;
  display:grid!important;
  place-items:center!important;
  writing-mode:horizontal-tb!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid>.fin404-nav-card>.fin404-nav-copy{
  min-width:0!important;
  width:auto!important;
  display:block!important;
  overflow:hidden!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-copy b{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0 0 2px!important;
  color:#123f61!important;
  font-size:13.5px!important;
  line-height:1.55!important;
  font-weight:900!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-copy small{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  color:#718591!important;
  font-size:11px!important;
  line-height:1.65!important;
  font-weight:600!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-card>i{
  position:static!important;
  inset:auto!important;
  width:18px!important;
  min-width:18px!important;
  height:24px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  color:#6b8aa0!important;
  writing-mode:horizontal-tb!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-card>i svg{
  width:16px!important;
  height:16px!important;
}

/* Slight emphasis for the accounting/report group. */
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-report-group{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%)!important;
}
body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-report-grid>.fin404-nav-card{
  min-height:88px!important;
}

@media (max-width:1100px){
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid,
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-report-grid,
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid.is-two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:700px){
  body[data-page="accounting-dashboard"] .fin404-hub-clean{
    padding-inline:0!important;
  }
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero{
    min-height:0!important;
    padding:16px!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-hero-balance{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-quick-metrics,
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid,
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-report-grid,
  body[data-page="accounting-dashboard"] .fin404-hub-clean .fin404-nav-grid.is-two{
    grid-template-columns:1fr!important;
  }
}


/* v540 — compact expense category manager */
.fin540-category-manager{display:grid;gap:14px;min-width:min(720px,82vw)}
.fin540-category-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fin540-category-summary>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #d8e4eb;border-radius:13px;background:#f8fbfd;color:#214b66}
.fin540-category-summary small{font-size:11px;font-weight:700;color:#6f8594}.fin540-category-summary b{font-size:18px;color:#123f61}
.fin540-category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid #d5e2ea;border-radius:14px;background:#fff}
.fin540-category-create label{display:grid;gap:6px}.fin540-category-create label>span{font-size:11px;font-weight:800;color:#5f7889}.fin540-category-create input{width:100%;min-height:40px}
.fin540-category-note{padding:10px 12px;border-radius:12px;background:#f3f7fa;color:#607989;font-size:11px;line-height:1.8}
.fin540-category-list{display:grid;gap:8px;max-height:min(52vh,520px);overflow:auto;padding-inline-end:2px}
.fin540-category-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #d9e4eb;border-radius:13px;background:#fff}
.fin540-category-row.is-inactive{background:#f7f8f9;opacity:.84}.fin540-category-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#edf4f8;color:#1c628c}.fin540-category-mark svg{width:18px;height:18px}
.fin540-category-copy{display:grid;gap:2px;min-width:0}.fin540-category-copy b{font-size:13px;color:#173f5b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin540-category-copy small{font-size:10.5px;color:#7a8e9a}
.fin540-category-state{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.fin540-category-state.is-on{background:#e8f5ee;color:#21734b}.fin540-category-state.is-off{background:#eef1f3;color:#6f7f88}
.fin540-category-lock{font-size:10px;font-weight:800;color:#718490;background:#eef3f6;padding:6px 9px;border-radius:9px;white-space:nowrap}
@media(max-width:700px){.fin540-category-manager{min-width:0}.fin540-category-create{grid-template-columns:1fr}.fin540-category-create .btn{width:100%}.fin540-category-row{grid-template-columns:36px minmax(0,1fr) auto}.fin540-category-row>.btn,.fin540-category-lock{grid-column:2/-1;justify-self:start}.fin540-category-summary{grid-template-columns:1fr 1fr}}
