/* Finança Plus — cartões de fontes mais legíveis e dashboard responsivo. */
.layout .f5-source-grid,
.layout .source-grid{
 min-width:0;
}
.layout .f5-source-grid{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:13px!important;
 overflow:visible!important;
 margin-top:18px;
}
.layout .f5-source-grid .source-target-card{
 display:flex;
 flex-direction:column;
 flex:unset!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 min-height:292px;
 box-sizing:border-box;
 border-radius:17px!important;
 padding:19px 17px!important;
 box-shadow:0 3px 12px rgba(14,55,96,.07)!important;
}
.layout .source-target-card .source-profit-head{
 display:flex;
 flex-wrap:nowrap!important;
 align-items:center;
 gap:9px;
 min-height:39px;
 margin-bottom:16px!important;
}
.layout .source-target-card .source-profit-head h3{
 font-size:clamp(17px,1.35vw,20px)!important;
 font-weight:850!important;
 line-height:1.18;
 letter-spacing:-.45px;
 overflow-wrap:anywhere;
 flex:1 1 auto;
 min-width:0;
 color:#183951!important;
}
.layout .source-target-card .source-symbol{
 flex:0 0 32px;
 width:32px!important;
 height:32px!important;
 display:grid;
 place-items:center;
 border-radius:10px;
}
.layout .source-target-card .source-symbol svg{
 width:18px!important;
 height:18px!important;
}
.layout .source-target-card .source-add{
 flex:0 0 35px;
 width:35px;
 height:35px;
 margin-left:auto;
 border-radius:11px;
}
.layout .source-target-card .source-profit-label{
 color:#668198!important;
 font-size:11px!important;
 font-weight:700;
 letter-spacing:.01em;
}
.layout .source-target-card .profit-value{
 margin:5px 0 13px!important;
 font-size:clamp(23px,2.05vw,29px)!important;
 font-weight:850!important;
 line-height:1.13!important;
 letter-spacing:-.75px;
 overflow-wrap:anywhere;
 color:#163955!important;
}
.layout .source-target-card .source-details{
 display:grid;
 gap:0;
 border-top:1px solid rgba(67,95,119,.12);
 padding:7px 0 3px;
 margin:0;
 color:#536a7e!important;
}
.layout .source-target-card .source-details>span{
 display:flex!important;
 flex-direction:row!important;
 justify-content:space-between;
 align-items:flex-start;
 gap:9px;
 padding:5px 0;
 font-size:11px!important;
 line-height:1.45;
 min-width:0;
}
.layout .source-target-card .source-details>span>span{
 flex:0 1 auto;
 min-width:0;
}
.layout .source-target-card .source-details b{
 color:#183951!important;
 font-size:12px!important;
 font-weight:800;
 text-align:right;
 overflow-wrap:anywhere;
}
.layout .source-target-card .source-meta-row{
 flex-wrap:wrap!important;
 margin-top:3px;
 border-top:1px solid rgba(67,95,119,.11);
 padding-top:9px!important;
}
.layout .source-target-card .source-meta-row>span{
 color:#286d9f;
 font-weight:750;
}
.layout .source-target-card .source-goal-progress{
 margin-top:5px;
 margin-bottom:11px;
 min-height:30px;
}
.layout .source-target-card .source-goal-track{
 height:6px;
 border-radius:99px;
 overflow:hidden;
 background:#dfeaf4;
}
.layout .source-target-card .source-goal-track>span{
 display:block;
 height:100%;
 border-radius:99px;
 background:#1686ca;
 transition:width .2s ease;
}
.layout .source-target-card .source-goal-progress>small{
 display:block;
 margin-top:5px;
 line-height:1.3;
 color:#58738a;
 font-size:10.5px;
 font-weight:700;
}
.layout .source-target-card .source-card-actions{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
 align-items:center;
 justify-content:space-between;
 margin-top:auto;
}
.layout .source-target-card .source-card-actions .panel-link,
.layout .source-target-card .source-target-edit{
 background:#fff!important;
 border:1px solid #cfdfef!important;
 color:#1b639b!important;
 border-radius:9px!important;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 padding:8px 9px!important;
 margin:0!important;
 min-height:34px;
 cursor:pointer;
 font-size:11px!important;
 font-weight:750;
 line-height:1.2;
 text-align:center;
}
.layout .source-target-card .source-card-actions .panel-link:hover,
.layout .source-target-card .source-target-edit:hover{
 background:#eaf6ff!important;
}
/* Hierarquia e largura adaptáveis — sem rolagem horizontal dos cards de renda. */
@media(max-width:1300px){
 .layout .f5-source-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
/* Minhas rendas também mostra quatro cartões com larguras consistentes. */
.layout .source-grid:not(.f5-source-grid){
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:14px!important;
}
@media(max-width:1300px){
 .layout .source-grid:not(.f5-source-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
 .layout .source-grid:not(.f5-source-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .layout .fin-dashboard-v5,
 .layout .fin-dashboard-v5>*,
 .layout .f5-sources,
 .layout .f5-category-section,
 .layout .f5-analytics,
 .layout .f5-lower-grid{min-width:0;max-width:100%}
 .layout .f5-source-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  padding:0!important;
  overflow:visible!important;
 }
 .layout .f5-source-grid .source-target-card{
  min-height:285px;
  padding:16px 14px!important;
 }
 .layout .source-target-card .source-profit-head h3{font-size:17px!important}
 .layout .source-target-card .profit-value{font-size:24px!important}
 .layout .f5-category-section .f5-section-head,
 .layout .f5-sources .f5-section-head{gap:10px;flex-wrap:wrap}
 .layout .f5-sources .f5-section-heading h2{font-size:18px;line-height:1.25}
 .layout .f5-category-section .f5-section-heading h2{font-size:18px;line-height:1.25}
 .layout .f5-sources .f5-footnote{font-size:11px;line-height:1.5}
 .layout .f5-lower-grid{grid-template-columns:1fr!important}
 .layout .f5-analytics{gap:10px}
 .layout .f5-summary-result strong{overflow-wrap:anywhere}
 .layout .f5-balance-amount{overflow-wrap:anywhere}
}
@media(max-width:540px){
 .layout .source-grid:not(.f5-source-grid){grid-template-columns:minmax(0,1fr)!important}
 .layout .f5-source-grid{grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
 .layout .f5-source-grid .source-target-card{
  min-height:0;
  padding:17px!important;
 }
 .layout .source-target-card .source-profit-head{margin-bottom:12px!important}
 .layout .source-target-card .source-profit-head h3{font-size:19px!important}
 .layout .source-target-card .profit-value{font-size:27px!important;margin-bottom:10px!important}
 .layout .source-target-card .source-details>span{font-size:12px!important}
 .layout .source-target-card .source-details b{font-size:13px!important}
 .layout .source-target-card .source-goal-progress{margin-bottom:13px}
 .layout .source-target-card .source-card-actions .panel-link,
 .layout .source-target-card .source-target-edit{min-height:36px;flex:1 1 auto}
 .layout .f5-analytics{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px;
 }
 .layout .f5-analytics .f5-analysis-card,
 .layout .f5-analytics .f5-analysis-card:last-child{
  min-height:116px!important;
  grid-column:auto!important;
  padding:15px 17px!important;
 }
 .layout .f5-analysis-title{font-size:13px!important}
 .layout .f5-analysis-card>strong{font-size:21px!important}
 .layout .f5-analysis-note{font-size:11px!important;line-height:1.5}
 .layout .f5-category-row{
  grid-template-columns:32px minmax(0,1fr) minmax(68px,max-content)!important;
  grid-template-rows:auto auto;
  column-gap:8px!important;
  row-gap:1px;
 }
 .layout .f5-category-symbol{grid-column:1;grid-row:1/3}
 .layout .f5-category-description{grid-column:2;grid-row:1/3;min-width:0}
 .layout .f5-category-share{grid-column:3;grid-row:1;text-align:right;font-size:10px}
 .layout .f5-category-amount{grid-column:3;grid-row:2;text-align:right;font-size:12px!important}
 .layout .f5-section-head .f5-link{font-size:11px;white-space:normal}
 .layout .f5-lower-grid{display:grid;grid-template-columns:minmax(0,1fr)!important}
 .layout .f5-bill,.layout .f5-movement{min-width:0}
 .layout .f5-bill>div,.layout .f5-movement>div{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .layout .source-target-card .source-goal-track>span{transition:none}
}

/* Categoria: barra indica exclusivamente o percentual utilizado do limite mensal. */
.layout .fin-dashboard-v5 .f5-category-row{
 display:grid;
 grid-template-columns:36px minmax(0,1fr) 52px minmax(78px,max-content);
 gap:12px;
 align-items:center;
 min-width:0;
 min-height:72px;
}
.layout .fin-dashboard-v5 .f5-category-description{
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:auto auto auto;
 align-items:start;
 row-gap:6px!important;
 width:100%;
 min-width:0;
}
.layout .fin-dashboard-v5 .f5-category-description>strong{
 font-size:13px;
 line-height:1.25;
 font-weight:750;
}
.layout .fin-dashboard-v5 .f5-category-description>.mp-inline,
.layout .fin-dashboard-v5 .f5-category-description>.f5-no-category-limit{
 margin:0;
 font-size:11px!important;
 font-weight:650;
 line-height:1.5;
 color:#377da7;
}
.layout .fin-dashboard-v5 .f5-category-description>.f5-no-category-limit{
 color:#8d9bab;
}
.layout .fin-dashboard-v5 .f5-category-description>.f5-bar-track{
 display:block!important;
 grid-column:1;
 width:100%!important;
 max-width:none!important;
 height:11px;
 margin:0!important;
 border-radius:8px;
 background:#e8eef6;
 overflow:hidden;
}
.layout .fin-dashboard-v5 .f5-bar-track>.f5-bar-fill{
 display:block;
 min-width:0;
 height:100%;
 border-radius:8px;
 transition:width .28s ease;
}
.layout .fin-dashboard-v5 .f5-category-share{
 font-size:12px;
 font-weight:800;
 color:#385877;
 text-align:right;
 font-variant-numeric:tabular-nums;
}
.layout .fin-dashboard-v5 .f5-category-row.limit-warning-80 .f5-category-share,
.layout .fin-dashboard-v5 .f5-category-row.limit-warning-85 .f5-category-share{
 color:#b7730a;
}
.layout .fin-dashboard-v5 .f5-category-row.limit-danger .f5-category-share,
.layout .fin-dashboard-v5 .f5-category-row.limit-danger .mp-inline{
 color:#d44759;
}
.layout .fin-dashboard-v5 .f5-category-row.limit-unset .f5-category-share{
 color:#91a0ad;
}
@media(max-width:720px){
 .layout .fin-dashboard-v5 .f5-category-row{
  grid-template-columns:32px minmax(0,1fr) 42px minmax(65px,max-content);
  gap:7px;
  min-height:76px;
 }
 .layout .fin-dashboard-v5 .f5-category-description{row-gap:6px!important}
 .layout .fin-dashboard-v5 .f5-category-description>.mp-inline,
 .layout .fin-dashboard-v5 .f5-category-description>.f5-no-category-limit{
  font-size:11px!important;
 }
 .layout .fin-dashboard-v5 .f5-category-description>.f5-bar-track{height:10px}
 .layout .fin-dashboard-v5 .f5-category-share{font-size:11px}
 .layout .fin-dashboard-v5 .f5-category-amount{font-size:12px}
}
@media(max-width:540px){
 .layout .fin-dashboard-v5 .f5-category-row{
  grid-template-columns:31px minmax(0,1fr) minmax(70px,max-content)!important;
  grid-template-rows:auto auto!important;
  gap:7px!important;
  min-height:78px;
 }
 .layout .fin-dashboard-v5 .f5-category-symbol{grid-column:1;grid-row:1/3}
 .layout .fin-dashboard-v5 .f5-category-description{grid-column:2;grid-row:1/3;min-width:0}
 .layout .fin-dashboard-v5 .f5-category-share{grid-column:3;grid-row:1;font-size:11px!important}
 .layout .fin-dashboard-v5 .f5-category-amount{grid-column:3;grid-row:2;text-align:right;font-size:12px!important}
 .layout .fin-dashboard-v5 .f5-category-description>.mp-inline{
  overflow-wrap:anywhere;
  font-size:10px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 .layout .fin-dashboard-v5 .f5-bar-track>.f5-bar-fill{transition:none}
}
