.analysis-panel{margin-bottom:22px;padding:22px 24px;min-width:0}
.analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.analysis-heading h2{font-size:17px;margin:6px 0 0}
.analysis-tag{font-size:12px;color:#e2e9d6;background:#303a26;border:1px solid #66745a;padding:8px 12px;border-radius:8px;white-space:nowrap}
.analysis-controls{display:grid;grid-template-columns:repeat(2,minmax(140px,1.3fr)) minmax(112px,1fr) minmax(100px,.7fr) auto;gap:14px;align-items:end}
.analysis-controls .field{margin:0;min-width:0;font-size:12px;color:#dbe4cb}
.analysis-controls input,.analysis-controls select{width:100%;min-width:0;min-height:46px;border:1px solid #82936b;background:#20261a;color:#f2f5eb;border-radius:8px;padding:10px 12px;font:inherit;font-size:16px;color-scheme:dark}
.analysis-controls .button{min-width:44px;min-height:46px;white-space:nowrap}
.analysis-help,.analysis-status{font-size:12px;color:#c0cbaa;line-height:1.6;margin:14px 0 0}
.analysis-status{padding-top:12px;border-top:1px solid #46513b;color:#e2e9d6}
.analysis-panel .form-error:empty{display:none}
.analysis-chart{min-width:0;overflow:hidden}
.analysis-chart .panel-heading{align-items:flex-start;gap:12px}
.analysis-chart .panel-heading p{line-height:1.5}
.analysis-chart .mini-label{white-space:nowrap}
.chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;margin-top:18px;scrollbar-color:#b7c791 #30392a;scrollbar-width:auto}
.chart-scroll .line-chart{width:100%;max-height:none;margin:0;padding:0 12px;display:block}
.chart-scroll.chart-readable .line-chart{min-width:var(--chart-width);height:252px}
.chart-scroll .line-chart text{font-size:12px;fill:#c0cbaa}
.chart-zero{stroke:#82936b;stroke-width:1.2}
.chart-scroll-help{font-size:12px;line-height:1.5;color:#c0cbaa;margin:10px 24px 0}
.chart-data{margin:10px 24px 16px;font-size:12px;min-width:0}
.chart-data summary{display:flex;align-items:center;min-height:44px;min-width:44px;cursor:pointer;color:#f6d54a;list-style:revert}
.chart-data summary::before{content:'＋';margin-right:8px}
.chart-data[open] summary::before{content:'−'}
.chart-table-scroll{max-width:100%;overflow-x:auto}
.chart-data table{font-size:12px;min-width:360px}
.chart-data caption{text-align:left;color:#c0cbaa;padding:12px 0}
.chart-data th,.chart-data td{padding:12px 8px;font-weight:400;white-space:nowrap}
.analysis-chart .chart-foot{font-size:12px;line-height:1.6;color:#c0cbaa}
.analysis-chart .chart-foot .icon{flex-shrink:0}
.distribution-panel .panel-heading p{font-size:12px;line-height:1.5}
.distribution-panel .donut-label span{font-size:11px;color:#c0cbaa}
.distribution-panel .category-legend>div{font-size:12px;color:#e2e9d6}
.distribution-panel .category-legend strong{font-size:12px}
.distribution-panel .category-legend>div>span{min-width:0;overflow-wrap:anywhere}
.analysis-controls :focus-visible,.chart-scroll:focus-visible,.chart-data summary:focus-visible{outline:2px solid #f6d54a;outline-offset:3px}
@media(min-width:1001px){.chart-scroll .line-chart{min-width:0;height:auto}}
/* A largura solicitada é aplicada por variável; mais de 12 pontos sempre rolam internamente. */
.chart-scroll.chart-many .line-chart{min-width:var(--chart-width);height:252px}
@media(max-width:1220px){.analysis-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-controls .button{grid-column:1/-1;justify-self:end}}
@media(max-width:760px){.analysis-panel{padding:20px 18px}.analysis-heading{align-items:flex-start}.analysis-heading .eyebrow{font-size:9px}.analysis-heading h2{font-size:16px}.analysis-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.analysis-controls .button{width:100%}.analysis-help,.analysis-status{font-size:12px}.analysis-chart .chart-summary{gap:24px}.chart-scroll-help,.chart-data{margin-left:18px;margin-right:18px}.analysis-chart .chart-summary strong{font-size:18px}.analysis-chart .panel-heading{padding-left:18px;padding-right:18px}.analysis-chart .chart-foot{padding-left:18px;padding-right:18px}.distribution-panel{grid-template-columns:135px minmax(0,1fr)}.distribution-panel .donut-wrap{width:132px;height:132px}.distribution-panel .donut-label strong{font-size:16px}.distribution-panel .category-legend{padding:0}.distribution-panel .category-legend>div{font-size:11px}.distribution-panel .category-legend strong{font-size:11px}}
@media(max-width:360px){.analysis-controls{grid-template-columns:minmax(0,1fr)}.analysis-controls .button{grid-column:auto}.analysis-heading{flex-wrap:wrap}.distribution-panel{grid-template-columns:minmax(0,1fr)}.distribution-panel .donut-wrap{margin:0 auto}.distribution-panel .category-legend{padding:12px 0 0}.distribution-panel .category-legend>div{font-size:12px}}
/* Considera também a largura real do conteúdo quando a interface é ampliada. */
main#main:has(.analysis-panel){container-type:inline-size}
@container(max-width:850px){
  .analysis-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analysis-controls .button{grid-column:1/-1;justify-self:end}
  .dashboard-grid,.dashboard-bottom{grid-template-columns:minmax(0,1fr)}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .distribution-panel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:20px}
  .distribution-panel .panel-heading{grid-column:1/-1;padding:0;flex-direction:row}
  .distribution-panel .donut-wrap{width:145px;height:145px;margin:0}
  .distribution-panel .category-legend{padding:0}
  .metric-value{font-size:clamp(21px,6cqi,29px)}
}
@container(max-width:345px){
  .analysis-controls{grid-template-columns:minmax(0,1fr)}
  .distribution-panel{grid-template-columns:minmax(0,1fr)}
  .distribution-panel .donut-wrap{margin:0 auto}
  .analysis-heading{flex-wrap:wrap}
}
main#main:has(.analysis-panel) .transactions-panel{min-width:0;overflow:hidden}
main#main:has(.analysis-panel) .table-action{position:relative}
/* Seletores múltiplos com caixas de seleção, sem depender de Ctrl/Cmd. */
.analysis-controls{grid-template-columns:repeat(2,minmax(140px,1.3fr)) minmax(112px,1fr) minmax(100px,.7fr)}
.analysis-type-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:14px;align-items:end;margin-top:18px}
.analysis-type-controls .field{margin:0;color:#dbe4cb;font-size:12px;min-width:0;display:flex;flex-direction:column;gap:8px}
.analysis-type-controls>.button{min-width:44px;min-height:46px;white-space:nowrap}
.analysis-select{position:relative;min-width:0}
.analysis-select>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;min-width:44px;padding:10px 12px;border:1px solid #82936b;background:#20261a;border-radius:8px;color:#f2f5eb;cursor:pointer;font-size:14px}
.analysis-select>summary::-webkit-details-marker{display:none}
.analysis-select-panel{position:absolute;left:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 64px));max-width:calc(100vw - 64px);background:#20261a;border:1px solid #82936b;border-radius:12px;box-shadow:0 16px 36px #0007;z-index:25;padding:12px}
[data-analysis-select=movements] .analysis-select-panel{left:auto;right:0}
.analysis-select-actions{display:flex;gap:8px;margin-bottom:8px}
.analysis-select-actions button{flex:1;min-width:44px;min-height:44px;background:#303a26;border:1px solid #82936b;border-radius:6px;color:#f2f5eb;font:inherit;font-size:12px;padding:8px;cursor:pointer}
.analysis-select-options{max-height:290px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#b7c791 #30392a}
.analysis-select-options fieldset{border:0;margin:0;padding:0}
.analysis-select-options legend{color:#f6d54a;font-size:12px;padding:12px 8px 8px;font-weight:600}
.analysis-option{display:flex;align-items:center;gap:12px;min-height:44px;width:100%;padding:8px;border-radius:6px;cursor:pointer;color:#f2f5eb;font-size:14px}
.analysis-option:hover,.analysis-option:focus-within{background:#303a26}
.analysis-option input{accent-color:#f6d54a;width:18px;height:18px;min-height:18px;margin:0;flex-shrink:0}
.analysis-select :focus-visible{outline:2px solid #f6d54a;outline-offset:2px}
.legend-dot.margin{background:#aae5c1}
.profit-chart-frame{display:flex;align-items:flex-start;min-width:0;margin-top:18px;padding-right:12px}
.profit-chart-frame .chart-scroll{margin-top:0;min-width:0;flex:1}
.profit-chart-frame .chart-scroll .line-chart{min-width:var(--chart-width);height:252px}
.margin-scale{flex:0 0 68px;width:68px;height:252px;overflow:visible}
.margin-scale text{font-size:12px;fill:#aae5c1;font-family:var(--font)}
.margin-scale line{stroke:#82936b;stroke-width:1}
@media(max-width:1220px){.analysis-controls{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.analysis-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-type-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-type-controls>.button{grid-column:1/-1;width:100%}.analysis-chart .chart-summary{flex-wrap:wrap;row-gap:16px}.analysis-select>summary{font-size:12px}.analysis-select-panel{width:min(300px,calc(100vw - 64px))}}
@media(max-width:360px){.analysis-controls,.analysis-type-controls{grid-template-columns:minmax(0,1fr)}}
@container(max-width:850px){.analysis-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-type-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-type-controls>.button{grid-column:1/-1;justify-self:end}}
@container(max-width:345px){.analysis-controls,.analysis-type-controls{grid-template-columns:minmax(0,1fr)}.analysis-type-controls>.button{width:100%}}

@media(max-width:760px){.analysis-select>summary{min-height:58px}}

/* Intervalos completos das listas e do CSV, sem controles de granularidade. */
.analysis-controls.range-date-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.range-transfer-controls{grid-template-columns:minmax(0,1fr) auto}
.export-form .range-date-controls{margin-top:20px;margin-bottom:14px}
.export-form .analysis-help{margin:0 0 20px}
@media(max-width:360px){.analysis-controls.range-date-controls{grid-template-columns:minmax(0,1fr)}}
@container(max-width:345px){.analysis-controls.range-date-controls{grid-template-columns:minmax(0,1fr)}}

/* Reorganiza também os painéis conforme a largura disponível ao ampliar a UI. */
main#main:has(#export-form){container-type:inline-size}
.transfer-layout>*,.export-layout>*{min-width:0}
@container(max-width:850px){.transfer-layout,.export-layout{grid-template-columns:minmax(0,1fr)}}

/* A Visão geral usa datas e agrupamento, sem um segundo recorte por quantidade. */
.analysis-controls:not(.range-date-controls){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.analysis-controls:not(.range-date-controls){grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-controls:not(.range-date-controls)>.field:last-child{grid-column:1/-1}}
@container(max-width:850px){.analysis-controls:not(.range-date-controls){grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-controls:not(.range-date-controls)>.field:last-child{grid-column:1/-1}}
@media(max-width:360px){.analysis-controls:not(.range-date-controls){grid-template-columns:minmax(0,1fr)}}
@container(max-width:345px){.analysis-controls:not(.range-date-controls){grid-template-columns:minmax(0,1fr)}}
