/* Fin Farma V22 · presentation only, fully scoped to the dashboard. */
.ff-v22-dashboard{--v22-navy:var(--ff-marinho,#16305e);--v22-text:var(--ff-tinta,#0f1b33);--v22-muted:var(--ff-texto-2,#41506b);--v22-border:var(--ff-borda-card,#e2e5eb);--v22-surface:var(--ff-fundo-app,#f7f8fa);font-family:var(--ff-fonte,Archivo,system-ui,sans-serif);color:var(--v22-text);width:100%;max-width:1600px;margin:0 auto;padding:24px;box-sizing:border-box;font-size:14px;line-height:1.5;min-width:0;}
.ff-v22-dashboard *{box-sizing:border-box;}
.ff-v22-dashboard [hidden]{display:none!important;}
.ff-v22-dashboard h1,.ff-v22-dashboard h2,.ff-v22-dashboard h3,.ff-v22-dashboard p{margin:0;}
.ff-v22-dashboard button,.ff-v22-dashboard input,.ff-v22-dashboard select{font:inherit;}
.ff-v22-dashboard button,.ff-v22-dashboard summary,.ff-v22-dashboard a{touch-action:manipulation;}
.ff-v22-dashboard :is(button,input,select,summary,a):focus-visible{outline:3px solid #83a9d4;outline-offset:3px;}
.ff-v22-dashboard .ff-v22-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:0;min-width:0;}
.ff-v22-dashboard .ff-v22-eyebrow{color:var(--v22-muted);font-size:11px;font-weight:700;letter-spacing:.11em;}
.ff-v22-dashboard .ff-v22-heading h1{font-family:var(--ff-fonte-marca,Jost,Archivo,sans-serif);font-size:30px;line-height:1.2;font-weight:600;color:var(--v22-navy);margin:4px 0 5px;}
.ff-v22-dashboard .ff-v22-heading>div>p:last-child{color:var(--v22-muted);max-width:65ch;}
.ff-v22-dashboard .ff-v22-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:50%;}
.ff-v22-dashboard .ff-v22-period{display:block;border:1px solid var(--v22-border);background:#fff;border-radius:9px;padding:9px 12px;font-size:12px;white-space:nowrap;}
.ff-v22-dashboard .ff-v22-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;color:var(--v22-navy);border:1px solid var(--v22-border);border-radius:9px;background:#fff;text-decoration:none;font-size:12px;font-weight:600;cursor:pointer;white-space:normal;text-align:center;max-width:100%;line-height:1.4;}
.ff-v22-dashboard .ff-v22-action:hover{border-color:#b7c6db;background:#f1f5fb;}
.ff-v22-dashboard .ff-v22-period-select{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-period-select select{min-height:40px;border:1px solid var(--v22-border);border-radius:9px;padding:8px 26px 8px 10px;background:#fff;color:var(--v22-navy);}
.ff-v22-dashboard .ff-v22-origin{font-size:12px;color:var(--v22-muted);padding:10px 12px;background:#edf2fa;border:1px solid #dfe7f2;border-radius:9px;margin-bottom:18px;}
.ff-v22-dashboard .ff-v22-origin-demo{background:#fffaed;border-color:#eedfaf;color:#73591f;}
.ff-v22-dashboard .ff-v22-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.ff-v22-dashboard .ff-v22-kpi{position:relative;min-width:0;background:#fff;border:1px solid var(--v22-border);border-radius:14px;padding:16px;box-shadow:0 2px 6px #0f1b3304;overflow-wrap:anywhere;}
.ff-v22-dashboard .ff-v22-kpi-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:11px;}
.ff-v22-dashboard .ff-v22-kpi h2{font-size:12px;font-weight:600;line-height:1.35;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-kpi-icon{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;color:var(--v22-navy);background:#edf2fa;border-radius:8px;}
.ff-v22-dashboard .ff-v22-kpi-icon svg{width:19px;height:19px;}
.ff-v22-dashboard .ff-v22-kpi-value{display:block;font-family:var(--ff-fonte-marca,Jost,Archivo,sans-serif);font-variant-numeric:tabular-nums;font-size:clamp(20px,2.2vw,28px);font-weight:600;line-height:1.2;margin-bottom:8px;letter-spacing:-.025em;}
.ff-v22-dashboard .ff-v22-kpi[data-status=LOADING] .ff-v22-kpi-value,.ff-v22-dashboard .ff-v22-kpi[data-status=PENDING] .ff-v22-kpi-value{color:#62718a;font-size:21px;}
.ff-v22-dashboard .ff-v22-card-note{font-size:11px;line-height:1.55;color:var(--v22-muted);margin-top:6px;}
.ff-v22-dashboard .ff-v22-comparison{font-size:11px;color:var(--v22-navy);margin-bottom:4px;}
.ff-v22-dashboard .ff-v22-kpi progress{width:100%;height:6px;accent-color:var(--v22-navy);display:block;margin:8px 0;}
.ff-v22-dashboard .ff-v22-kpi-details{margin-top:9px;padding-top:7px;border-top:1px solid #edf0f5;}
.ff-v22-dashboard .ff-v22-kpi-details summary{font-size:11px;color:var(--v22-navy);cursor:pointer;min-height:26px;display:flex;align-items:center;}
.ff-v22-dashboard .ff-v22-kpi-details summary::after{content:'＋';margin-left:auto;}
.ff-v22-dashboard .ff-v22-kpi-details[open] summary::after{content:'−';}
.ff-v22-dashboard .ff-v22-kpi-details p{font-size:11px;color:var(--v22-muted);line-height:1.55;margin-top:6px;}
.ff-v22-dashboard .ff-v22-panels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch;}
.ff-v22-dashboard .ff-v22-panel{border:1px solid var(--v22-border);background:#fff;box-shadow:0 2px 6px #0f1b3304;border-radius:14px;padding:18px;min-width:0;overflow:hidden;}
.ff-v22-dashboard .ff-v22-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;min-width:0;}
.ff-v22-dashboard .ff-v22-panel h2{font-size:14px;font-weight:600;color:var(--v22-text);line-height:1.45;}
.ff-v22-dashboard .ff-v22-panel-head p{font-size:11px;color:var(--v22-muted);margin-top:3px;}
.ff-v22-dashboard .ff-v22-panel-head .ff-v22-action{font-size:11px;padding:6px 9px;min-height:34px;flex-shrink:0;}
.ff-v22-dashboard .ff-v22-absence{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;border:1px dashed #ced8e6;border-radius:10px;background:#f9fbfd;padding:22px;min-height:160px;font-size:12px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-absence strong{font-size:13px;color:var(--v22-navy);font-weight:600;}
.ff-v22-dashboard .ff-v22-absence p{max-width:55ch;line-height:1.6;}
.ff-v22-dashboard .ff-v22-absence[data-status=ERROR]{border-color:#e4b8b5;background:#fff8f7;}
.ff-v22-dashboard .ff-v22-absence[data-status=ERROR] strong{color:var(--ff-vermelho,#b3261e);}
.ff-v22-dashboard .ff-v22-chart{width:100%;min-width:0;}
.ff-v22-dashboard .ff-v22-series{display:block;width:100%;height:auto;aspect-ratio:620/235;overflow:visible;}
.ff-v22-dashboard .ff-v22-gridline{stroke:#e9edf4;stroke-width:1;}
.ff-v22-dashboard .ff-v22-axis{fill:#617087;font-family:var(--ff-fonte,Archivo,sans-serif);font-size:11px;}
.ff-v22-dashboard .ff-v22-chart-bar{fill:#4374ae;}
.ff-v22-dashboard .ff-v22-chart-line{stroke:var(--v22-navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.ff-v22-dashboard .ff-v22-chart-point{fill:var(--v22-navy);}
.ff-v22-dashboard .ff-v22-reference{stroke:#b45309;stroke-width:2;stroke-dasharray:5 4;}
.ff-v22-dashboard .ff-v22-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;color:var(--v22-muted);margin-bottom:6px;}
.ff-v22-dashboard .ff-v22-key{display:flex;align-items:center;gap:5px;}
.ff-v22-dashboard .ff-v22-key::before{content:'';width:8px;height:8px;border-radius:50%;background:#4374ae;}
.ff-v22-dashboard .ff-v22-key-meta::before{border-radius:0;height:2px;width:12px;background:#b45309;}
.ff-v22-dashboard .ff-v22-values{border-top:1px solid #edf0f5;margin-top:8px;padding-top:5px;font-size:11px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-values summary{cursor:pointer;min-height:30px;display:flex;align-items:center;color:var(--v22-navy);}
.ff-v22-dashboard .ff-v22-values p{padding:5px 0;border-top:1px solid #edf0f5;font-variant-numeric:tabular-nums;}
.ff-v22-dashboard .ff-v22-horizontal{display:grid;gap:18px;padding:5px 0;}
.ff-v22-dashboard .ff-v22-horizontal-row>div{display:flex;gap:14px;justify-content:space-between;align-items:start;font-size:12px;}
.ff-v22-dashboard .ff-v22-horizontal-row strong{font-size:11px;color:var(--v22-navy);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ff-v22-dashboard .ff-v22-track{height:8px;background:#edf2f8;border-radius:5px;display:block;margin-top:7px;overflow:hidden;}
.ff-v22-dashboard .ff-v22-track>span{display:block;height:100%;background:#4374ae;border-radius:5px;}
.ff-v22-dashboard .ff-v22-donut-layout{display:flex;gap:20px;align-items:center;justify-content:center;min-height:220px;}
.ff-v22-dashboard .ff-v22-donut{width:170px;height:170px;border-radius:50%;position:relative;flex-shrink:0;display:grid;place-items:center;}
.ff-v22-dashboard .ff-v22-donut>div{width:118px;height:118px;background:#fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px;gap:2px;}
.ff-v22-dashboard .ff-v22-donut strong{font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums;text-align:center;overflow-wrap:anywhere;}
.ff-v22-dashboard .ff-v22-donut>div>span{font-size:11px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-donut-legend{list-style:none;margin:0;padding:0;display:grid;gap:12px;min-width:0;flex:1;max-width:220px;}
.ff-v22-dashboard .ff-v22-donut-legend li{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:5px 7px;align-items:center;font-size:11px;line-height:1.4;}
.ff-v22-dashboard .ff-v22-donut-legend li>span:first-child{width:7px;height:7px;border-radius:50%;}
.ff-v22-dashboard .ff-v22-donut-legend strong{font-variant-numeric:tabular-nums;color:var(--v22-navy);}
.ff-v22-dashboard .ff-v22-donut-legend small{grid-column:2/4;font-size:10px;color:var(--v22-muted);font-variant-numeric:tabular-nums;}
.ff-v22-dashboard .ff-v22-table-scroll{width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.ff-v22-dashboard .ff-v22-table{width:100%;min-width:340px;border-collapse:collapse;font-size:12px;line-height:1.5;color:var(--v22-text);}
.ff-v22-dashboard .ff-v22-table :is(th,td){padding:11px 8px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:middle;font-weight:400;}
.ff-v22-dashboard .ff-v22-table thead th{font-size:10px;color:var(--v22-muted);font-weight:600;}
.ff-v22-dashboard .ff-v22-table tr>:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.ff-v22-dashboard .ff-v22-table tr>:first-child{padding-left:0;max-width:230px;min-width:110px;}
.ff-v22-dashboard .ff-v22-table tr>:last-child{padding-right:0;}
.ff-v22-dashboard .ff-v22-secondary{border:1px solid var(--v22-border);background:#fff;border-radius:12px;margin-top:16px;padding:14px 16px;}
.ff-v22-dashboard .ff-v22-secondary>summary{cursor:pointer;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--v22-navy);font-weight:600;}
.ff-v22-dashboard .ff-v22-secondary>summary::after{content:'＋';font-size:18px;font-weight:400;}
.ff-v22-dashboard .ff-v22-secondary[open]>summary::after{content:'−';}
.ff-v22-dashboard .ff-v22-secondary[open]>summary{margin-bottom:15px;}
.ff-v22-dashboard .ff-v22-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 0;}
.ff-v22-dashboard .ff-v22-secondary>button{margin-top:10px;margin-right:8px;}
.ff-v22-dashboard .ff-v22-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.ff-v22-dashboard .ff-v22-person{border:1px solid var(--v22-border);border-radius:12px;padding:15px;min-width:0;}
.ff-v22-dashboard .ff-v22-person header{display:flex;gap:10px;align-items:center;}
.ff-v22-dashboard .ff-v22-person h3{font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.ff-v22-dashboard .ff-v22-person header p{font-size:11px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-person-fact{font-size:11px;color:var(--v22-muted);margin-top:12px;}
.ff-v22-dashboard .ff-v22-person-fact strong{font-variant-numeric:tabular-nums;color:var(--v22-navy);}
.ff-v22-dashboard .ff-v22-person-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;}
.ff-v22-dashboard .ff-v22-person-filters label{display:grid;gap:5px;min-width:0;flex:1 1 180px;color:var(--v22-muted);font-size:11px;}
.ff-v22-dashboard .ff-v22-person-filters :is(input,select){width:100%;max-width:100%;min-height:44px;border:1px solid var(--v22-border);border-radius:8px;padding:8px 10px;background:#fff;color:var(--v22-text);}
.ff-v22-dashboard .ff-v22-avatar{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;background:#edf2fa;color:var(--v22-navy);border-radius:50%;font-size:12px;font-weight:600;}
.ff-v22-dashboard .ff-v22-person-grades{display:grid;gap:5px;margin:14px 0;}
.ff-v22-dashboard .ff-v22-person-grades>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;}
.ff-v22-dashboard .ff-v22-person-grades :is(dt,dd){margin:0;}
.ff-v22-dashboard .ff-v22-person-grades dd{color:var(--v22-navy);font-weight:600;white-space:nowrap;}
.ff-v22-dashboard .ff-v22-dates{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px;border:1px solid var(--v22-border);border-radius:10px;background:#fff;margin-bottom:14px;}
.ff-v22-dashboard .ff-v22-dates label{display:grid;gap:5px;font-size:11px;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-dates input{min-height:40px;padding:6px 8px;border:1px solid var(--v22-border);border-radius:7px;background:#fff;color:var(--v22-text);max-width:100%;}
.ff-v22-dashboard .ff-v22-date-error{width:100%;color:var(--ff-vermelho,#b3261e);font-size:12px;}
.ff-v22-dashboard .ff-v22-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(min-width:1500px){.ff-v22-dashboard .ff-v22-panel{padding:22px;}.ff-v22-dashboard .ff-v22-kpi{padding:19px;}}
@media(max-width:1100px){.ff-v22-dashboard{padding:20px;}.ff-v22-dashboard .ff-v22-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.ff-v22-dashboard .ff-v22-panels{grid-template-columns:repeat(2,minmax(0,1fr));}.ff-v22-dashboard .ff-v22-donut-layout{flex-direction:column;gap:15px;}.ff-v22-dashboard .ff-v22-donut-legend{width:100%;max-width:none;}.ff-v22-dashboard .ff-v22-people{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.ff-v22-dashboard{padding:14px 12px;}.ff-v22-dashboard .ff-v22-heading{display:block;}.ff-v22-dashboard .ff-v22-heading h1{font-size:27px;}.ff-v22-dashboard .ff-v22-heading>div>p:last-child{font-size:12px;}.ff-v22-dashboard .ff-v22-controls{max-width:none;justify-content:flex-start;margin-top:14px;gap:8px;}.ff-v22-dashboard .ff-v22-origin{font-size:11px;padding:9px 10px;}.ff-v22-dashboard .ff-v22-kpis{gap:10px;margin-bottom:12px;}.ff-v22-dashboard .ff-v22-kpi{padding:13px 11px;border-radius:11px;}.ff-v22-dashboard .ff-v22-kpi-value{font-size:23px;}.ff-v22-dashboard .ff-v22-kpi-icon{width:27px;height:27px;}.ff-v22-dashboard .ff-v22-kpi h2{font-size:11px;}.ff-v22-dashboard .ff-v22-panels{grid-template-columns:1fr;gap:12px;}.ff-v22-dashboard .ff-v22-panel{padding:15px 13px;border-radius:12px;}.ff-v22-dashboard .ff-v22-panel h2{font-size:13px;}.ff-v22-dashboard .ff-v22-panel-head{gap:9px;margin-bottom:13px;}.ff-v22-dashboard .ff-v22-panel-head .ff-v22-action{min-height:40px;font-size:10px;max-width:42%;}.ff-v22-dashboard .ff-v22-action,.ff-v22-dashboard .ff-v22-period-select select{min-height:44px;}.ff-v22-dashboard .ff-v22-kpi-details summary{min-height:36px;}.ff-v22-dashboard .ff-v22-donut-layout{flex-direction:row;gap:15px;min-height:200px;}.ff-v22-dashboard .ff-v22-donut{width:145px;height:145px;}.ff-v22-dashboard .ff-v22-donut>div{width:101px;height:101px;}.ff-v22-dashboard .ff-v22-donut strong{font-size:13px;}.ff-v22-dashboard .ff-v22-donut-legend{width:auto;}.ff-v22-dashboard .ff-v22-people{grid-template-columns:1fr;}.ff-v22-dashboard .ff-v22-secondary{padding:12px;}.ff-v22-dashboard .ff-v22-values summary{min-height:38px;}.ff-v22-dashboard .ff-v22-period{white-space:normal;}}
@media(max-width:359px){.ff-v22-dashboard .ff-v22-kpis{grid-template-columns:1fr;}.ff-v22-dashboard .ff-v22-kpi-value{font-size:25px;}.ff-v22-dashboard .ff-v22-donut-layout{flex-direction:column;}.ff-v22-dashboard .ff-v22-donut-legend{width:100%;}.ff-v22-dashboard .ff-v22-dates label{max-width:100%;}}
@media(prefers-reduced-motion:reduce){.ff-v22-dashboard *{scroll-behavior:auto;transition:none;animation:none;}}

/* Rodada de operação: valores inteiros, ações claras e contraste da marca. */
.ff-v22-dashboard .ff-v22-kpi{overflow-wrap:normal;container-type:inline-size;}
.ff-v22-dashboard .ff-v22-kpi-value[data-unit=BRL]{white-space:nowrap;overflow-wrap:normal;font-size:clamp(16px,9cqi,28px);letter-spacing:-.045em;}
.ff-v22-dashboard .ff-v22-kpi-value:not([data-unit=BRL]){overflow-wrap:normal;}
.ff-v22-dashboard .ff-v22-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.ff-v22-dashboard .ff-v22-toolbar .ff-v22-action{min-height:44px;padding:10px 16px;font-size:13px;}
.ff-v22-dashboard .ff-v22-toolbar .ff-v22-action:first-child{background:var(--v22-navy);border-color:var(--v22-navy);color:#fff;}
.ff-v22-dashboard .ff-v22-limits{margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--v22-muted);}
.ff-v22-dashboard .ff-v22-chart-bar,.ff-v22-dashboard .ff-v22-key::before,.ff-v22-dashboard .ff-v22-track>span{background:#326aa9;fill:#326aa9;}
.ff-v22-dashboard .ff-v22-table-scroll{scrollbar-width:thin;scrollbar-color:#8ca5c5 #edf2fa;scroll-padding:12px;}
.ff-v22-dashboard .ff-v22-table-scroll:focus-visible{outline:2px solid #326aa9;outline-offset:3px;}
.ff-v22-dashboard .ff-v22-table caption:not(.ff-v22-sr){text-align:left;color:var(--v22-muted);}
@media(max-width:760px){.ff-v22-dashboard .ff-v22-kpi-value[data-unit=BRL]{font-size:clamp(16px,10cqi,23px);}.ff-v22-dashboard .ff-v22-kpi-head{gap:6px;}.ff-v22-dashboard .ff-v22-kpi h2{overflow-wrap:normal;}.ff-v22-dashboard .ff-v22-toolbar .ff-v22-action{flex:1 1 130px;}}
