/* Gestão de rentabilidade para eletropostos. Complementa site.css. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Hero panel */
.metric-panel{background:var(--navy-950);border-top:3px solid var(--accent);padding:24px;margin-right:clamp(24px,4vw,64px)}
.metric-label{margin:0 0 8px;font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#9aa9b9}
.metric-name{margin:0 0 14px;font:500 clamp(19px,1.6vw,23px)/1.25 "Outfit",sans-serif;color:var(--white)}
.metric-formula{margin:0;padding-top:14px;border-top:1px solid var(--line-dark);font:400 13px/1.7 "IBM Plex Mono",monospace;color:#c4cfda}

/* Ponto A / Ponto B */
.shift-table{width:100%;border-collapse:collapse;text-align:left}
.shift-table thead th{padding:0 20px 16px 0;border-bottom:2px solid var(--ink);vertical-align:bottom;font:500 clamp(18px,1.5vw,21px)/1.25 "Outfit",sans-serif}
.shift-table thead th:first-child{font:500 11px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.shift-tag{display:block;margin-bottom:6px;font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.shift-table thead th.is-b .shift-tag{color:var(--success)}
.shift-table tbody th{width:170px;padding:20px 20px 20px 0;border-bottom:1px solid var(--line);vertical-align:top;font:500 12px/1.5 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.shift-table td{padding:20px 24px 20px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted);width:calc((100% - 170px)/2)}
.shift-table td.is-b{color:var(--ink);padding-left:20px;border-left:3px solid var(--accent)}
.shift-table thead th.is-b{padding-left:20px;border-left:3px solid var(--accent)}

/* Formula */
.formula{margin:4px 0 26px;padding:16px 18px;border-left:3px solid var(--blue);background:var(--paper-light);font:500 clamp(13px,1.1vw,15px)/1.6 "IBM Plex Mono",monospace;color:var(--ink);max-width:720px}

/* Chart */
.chart{margin:clamp(48px,6vw,80px) 0 0;padding:clamp(20px,3vw,40px);background:var(--paper-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chart-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:12px}
.chart-tag{margin:0;padding:4px 8px;border:1px solid var(--ink);font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.chart-title{margin:0;font:500 clamp(20px,1.8vw,26px)/1.25 "Outfit",sans-serif}
.chart-svg{display:block;width:100%;height:auto;max-width:980px}
.chart-svg.chart-tall{display:none}
.chart-svg .grid{stroke:rgba(10,22,40,.1);stroke-width:1}
.chart-svg .ref{stroke:rgba(10,22,40,.32);stroke-width:1;stroke-dasharray:2 4}
.chart-svg .axis{stroke:#8a96a3;stroke-width:1.5}
.chart-svg .tick{font:400 14px "IBM Plex Mono",monospace;fill:#526171}
.chart-svg .axis-label{font:500 14px "IBM Plex Sans",sans-serif;fill:#3e4d5d}
.chart-svg .lbl{font:500 15px "IBM Plex Sans",sans-serif;fill:var(--ink)}
.curve{fill:none;stroke-linejoin:round;stroke-linecap:round}
.curve.c1{stroke:#07111f;stroke-width:4}
.curve.c2{stroke:#2a5a8f;stroke-width:3.5;stroke-dasharray:12 7;stroke-linecap:butt}
.curve.c3{stroke:#526171;stroke-width:3.5;stroke-dasharray:2 6}
.chart-svg .top{fill:var(--white);stroke:var(--ink);stroke-width:3}
.chart-legend{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.chart-legend li{display:flex;align-items:center;gap:10px;font:500 13px/1.4 "IBM Plex Mono",monospace;color:var(--ink)}
.chart-legend svg{flex:none}
.chart figcaption{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);max-width:820px;color:var(--muted)}
.chart figcaption p{margin:0 0 10px}
.chart-disclaimer{font:400 12px/1.6 "IBM Plex Mono",monospace;color:#3e4d5d}

/* Levers */
.lever-groups{display:grid;gap:36px}
.lever-title{margin:0 0 12px;font:500 12px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--success)}
.lever-group .row dt{color:var(--ink);font:500 clamp(16px,1.3vw,18px)/1.35 "Outfit",sans-serif;letter-spacing:0;text-transform:none}

/* Audience */
.place-list.single{grid-template-columns:1fr}
.place-list.single li:nth-child(n){padding-inline:0;border-left:0}
.dark .method-note{color:#a7b5c4}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;cursor:pointer;list-style:none;font:500 clamp(17px,1.4vw,20px)/1.3 "Outfit",sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;text-align:center;font:500 20px/1 "IBM Plex Mono",monospace;color:var(--blue)}
.faq details[open] summary::after{content:"−"}
.faq summary:hover{color:var(--blue)}
.faq details p{margin:0 0 20px;color:var(--muted);max-width:720px}

/* Form extras */
.consent-row{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}
.consent-row input{width:22px;height:22px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--navy-900)}
.consent-row label{font:400 14px/1.5 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;color:var(--ink)}
.consent-row input[aria-invalid="true"]{outline:2px solid var(--error);outline-offset:2px}
.btn[aria-busy="true"]{cursor:progress;opacity:.8}
.footer-brand .footer-tagline{margin-top:10px;color:var(--white);font:500 16px/1.3 "Outfit",sans-serif}

@media (max-width:980px){
  .metric-panel{margin-right:0}
}
@media (max-width:640px){
  .chart-svg.chart-wide{display:none}
  .chart-svg.chart-tall{display:block}
  .chart-svg .tick{font-size:13px}
  .chart-svg .axis-label{font-size:13px}
  .chart{margin-inline:calc(var(--page) * -1);padding-inline:var(--page)}
  .chart-legend{flex-direction:column}
  .shift-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .shift-table tr{display:block;padding:18px 0;border-bottom:1px solid var(--line)}
  .shift-table tbody th,.shift-table td,.shift-table td.is-b{display:block;width:auto;padding:0;border:0}
  .shift-table tbody th{margin-bottom:10px}
  .shift-table td{margin-bottom:10px}
  .shift-table td.is-b{padding-left:14px;border-left:3px solid var(--accent);margin-bottom:0}
  .shift-table td::before{content:attr(data-label);display:block;font:500 11px/1.4 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
  .shift-table td.is-b::before{color:var(--success)}
}
