*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;min-height:42px;padding:9px 14px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:9px;font-weight:650}button:hover{border-color:var(--brand)}button:disabled{opacity:.5;cursor:default}a{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--panel);padding:12px}.skip:focus{top:8px}.topbar{background:var(--header);border-bottom:3px solid var(--accent);padding:14px max(24px,calc((100vw - 1440px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-width:0}.logo{display:grid;place-items:center;background:#d71920;color:#ffdf50;border:2px solid white;border-radius:13px;font-size:26px;font-style:italic;font-weight:950;letter-spacing:-1.5px;width:82px;height:44px;box-shadow:0 2px 8px #0001;flex:none}.brand strong{display:block;font-size:16px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px}.header-actions,.hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.theme-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.theme-label select{max-width:210px}.shell{max-width:1488px;margin:auto;padding:28px 24px 32px}.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--brand-dark);margin:0 0 6px}h1{font-size:34px;line-height:1.2;letter-spacing:-1.3px;margin:0 0 7px}h1 span{color:var(--brand-dark)}.hero p:not(.eyebrow){margin:0;color:var(--muted)}.primary{background:var(--brand);color:#fff;border-color:transparent}:root[data-theme=dark] .primary{background:#2766b4;color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);min-width:0}.connection{font-size:12px;color:var(--muted);margin:0 0 15px;overflow-wrap:anywhere}.connection[data-tone=error]{color:var(--expired)}.notice{border:1px solid var(--accent);background:var(--panel-soft);border-radius:10px;padding:12px 16px;margin-bottom:16px}.filters{display:grid;grid-template-columns:2fr repeat(4,minmax(135px,1fr)) auto;gap:12px;align-items:end;padding:16px;margin-bottom:18px}label{display:grid;gap:6px;font-size:11px;font-weight:650;color:var(--muted)}input,select{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--panel);color:var(--text);width:100%;min-width:0}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:17px;border-top:3px solid var(--brand);min-width:0}.metric small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:750;color:var(--muted)}.metric strong{display:block;font-size:clamp(20px,2.1vw,29px);letter-spacing:-1px;margin:8px 0;line-height:1.2;overflow-wrap:anywhere}.metric p{font-size:11px;color:var(--muted);margin:0}.metric.alert{border-top-color:var(--expired)}.metric.blue{border-top-color:var(--distant)}.metric.green{border-top-color:var(--safe)}.charts{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:19px}h2{font-size:16px;letter-spacing:-.25px;margin:0}.panel-title p{font-size:11px;color:var(--muted);margin:4px 0 0}.hint{font-size:8px;letter-spacing:.7px;font-weight:800;border:1px solid var(--line);border-radius:5px;padding:4px 6px;color:var(--muted)}.band-summary{display:grid;gap:6px}.summary-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;padding:9px 10px;font-size:12px;font-weight:500}.summary-row:hover,.summary-row[aria-pressed=true]{background:var(--panel-soft);border-color:var(--brand)}.summary-row .quantities{font-size:11px}.summary-row .amount{text-align:right;font-weight:750}.band-name{display:flex;gap:8px;align-items:center}.dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex:none;background:var(--band-color)}.cost-chart{display:grid;gap:10px}.cost-row{display:grid;grid-template-columns:100px 1fr 108px;gap:10px;align-items:center;text-align:left;border-color:transparent;padding:5px 0;min-height:32px;font-size:11px;font-weight:500}.cost-row[aria-pressed=true]{background:var(--panel-soft);border-color:var(--brand)}.track{height:9px;border-radius:5px;background:var(--track);overflow:hidden}.fill{display:block;height:100%;width:var(--width);background:var(--band-color);border-radius:5px}.cost-row strong{text-align:right;font-size:11px}.note{font-size:11px;color:var(--muted);margin:14px 0 0}.count{font-size:11px;font-weight:750;padding:5px 10px;background:var(--panel-soft);color:var(--brand-dark);border-radius:20px;white-space:nowrap}.sku-list{display:grid;gap:8px}.sku{border:1px solid var(--line);border-radius:10px;overflow:clip}.sku>summary{list-style:none;display:grid;grid-template-columns:22px minmax(180px,2.5fr) minmax(75px,1fr) minmax(90px,1fr) minmax(75px,1fr) minmax(90px,1fr) 105px;align-items:center;gap:14px;padding:15px;cursor:pointer}.sku>summary::-webkit-details-marker{display:none}.sku>summary:hover{background:var(--panel-soft)}.chevron{font-size:20px;color:var(--brand-dark);transition:transform .15s}.sku[open]>summary .chevron{transform:rotate(90deg)}.sku-title strong{display:block;font-size:12px;color:var(--brand-dark)}.sku-title span{display:block;font-size:12px;margin:3px 0}.sku-title small{font-size:10px;color:var(--muted)}.data-label{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}.value{font-size:12px;font-weight:700}.swatches{display:flex;flex-wrap:wrap;gap:4px;max-width:100px}.swatch{width:13px;height:13px;background:var(--band-color);border:1px solid #0001;border-radius:3px}.lot-list{border-top:1px solid var(--line);background:var(--bg);padding:12px 16px 16px 50px;display:grid;gap:8px}.lot{background:var(--panel);border:1px solid var(--line);border-radius:8px}.lot>summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;cursor:pointer;font-size:12px}.lot>summary .lot-spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:5px;background:var(--panel-soft);border:1px solid var(--line);color:var(--text);font-size:10px;border-radius:6px;padding:3px 6px}.pill.band{color:var(--band-color)}.positions{overflow:auto;max-width:100%;padding:0 12px 12px;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;min-width:700px;font-size:11px}th,td{text-align:left;padding:10px 8px;border-top:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:650}td small{display:block;color:var(--muted)}.empty{padding:28px 15px;text-align:center;color:var(--muted)}.methodology{margin-top:16px;font-size:12px}.methodology>summary{cursor:pointer;font-weight:700}.methodology p{color:var(--muted);max-width:1100px}.methodology input[type=file]{max-width:380px;margin:10px 8px 10px 0}.active-filter{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--brand-dark);padding:0 0 16px}#more{margin-top:14px}footer{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:24px}dialog{border:1px solid var(--line);border-radius:15px;padding:24px;background:var(--panel);color:var(--text);width:min(430px,calc(100% - 24px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#0009}dialog form{display:grid;gap:16px}dialog p{margin:0;color:var(--muted)}#authError{color:var(--expired)}
.sku-list,.sku,.lot-list,.lot,.sku-title,.data{min-width:0}.sku-title,.data{overflow-wrap:anywhere}.positions{width:100%}
@media(min-width:1500px){.shell{padding-top:34px}}
@media(max-width:1180px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.search{grid-column:span 2}.sku>summary{gap:10px;grid-template-columns:18px minmax(160px,2fr) 85px 100px 90px 90px 75px}.charts{grid-template-columns:1.15fr 1fr}}
@media(max-width:900px){.charts{grid-template-columns:1fr}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.sku>summary{grid-template-columns:18px minmax(0,1fr) repeat(2,minmax(0,1fr));gap:12px}.sku-title{grid-column:span 3}.sku>summary>.data{padding-left:0}.sku>summary>.data:nth-child(3){grid-column:2}.sku>summary>.data:last-child{grid-column:span 2}.swatches{max-width:none}.topbar{padding:12px 20px}.shell{padding:22px 18px}}
@media(max-width:600px){.topbar{align-items:start;flex-wrap:wrap;gap:12px;padding:12px 14px}.header-actions{width:100%;justify-content:space-between}.theme-label{flex:1;max-width:285px}.theme-label select{max-width:none}.brand strong{font-size:14px}.hero{align-items:start;flex-direction:column;gap:15px}h1{font-size:29px}.hero-actions{width:100%}.hero-actions button{flex:1}.shell{padding:20px 12px 28px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search{grid-column:1/-1}.filters>button{align-self:end}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px}.metric strong{font-size:23px}.metric:last-child{grid-column:1/-1}.metric:last-child strong{margin:6px 0}.panel{padding:15px}.summary-row{grid-template-columns:minmax(105px,1.2fr) minmax(55px,1fr) minmax(80px,1fr);padding:9px 5px;gap:6px;font-size:11px}.cost-row{grid-template-columns:95px 1fr 95px;gap:7px}.panel-title{margin-bottom:15px}.hint{display:none}.sku>summary{padding:12px;gap:10px;grid-template-columns:14px repeat(3,minmax(0,1fr))}.sku-title span{font-size:11px}.value{font-size:11px}.data-label{font-size:8px}.lot-list{padding:10px}.lot>summary .lot-spacer{display:none}.lot>summary{gap:8px}.lot>summary strong{width:100%}input,select{font-size:16px}button{min-height:44px}.theme-label select{font-size:13px}.positions{position:relative}footer{flex-direction:column}}
@media(max-width:900px){.sku>summary>.data:nth-child(6){grid-column:2 / span 2}.sku>summary>.data:last-child{grid-column:4}}
.charts{grid-template-columns:minmax(0,1fr)}
.bar-quantities{text-align:center}
.chart-title{flex-wrap:wrap}.chart-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chart-actions button{font-size:11px;padding:7px 10px;min-height:36px}.chart-actions .hint{display:inline-block}
.metric-expandable{padding:0;align-self:start}.metric .metric-toggle{display:block;width:100%;max-width:100%;margin:0;padding:17px;text-align:left;border:0;border-radius:9px;background:transparent;color:var(--text);white-space:normal;font-weight:400}.metric .metric-toggle:hover{background:var(--panel-soft)}.metric .metric-toggle strong{font-weight:750}.metric-note{display:block;font-size:11px;color:var(--muted)}.metric-action{display:block;margin-top:9px;font-size:11px;font-weight:700;color:var(--brand-dark)}.metric-volumes{padding:0 17px 16px;overflow-wrap:anywhere}.metric-volumes>span{display:block;border-top:1px solid var(--line);padding-top:12px;font-size:10px;color:var(--muted)}.metric-volumes p{margin-top:5px;font-size:14px;font-weight:750;color:var(--text)}
.cost-chart{gap:8px}.cost-row{grid-template-columns:150px minmax(0,1fr) 130px;gap:18px;padding:10px 12px;border:1px solid transparent;border-radius:9px}
.cost-row:hover{background:var(--panel-soft)}.cost-row strong{font-size:13px}.bar-content{display:grid;gap:7px;min-width:0}.bar-quantities{color:var(--text);font-size:12px;font-weight:650;overflow-wrap:anywhere}.bar-content .track{display:block;height:12px}
.pallet-qty{display:block;min-width:0}.pallet-toggle{min-height:36px;padding:5px 8px;color:var(--brand-dark);font-size:12px;font-weight:750;background:var(--panel-soft);border-color:var(--line);max-width:100%;white-space:normal}.pallet-units{display:block;margin-top:6px;font-size:12px;font-weight:650;color:var(--text);overflow-wrap:anywhere}
@media(max-width:600px){.cost-row{grid-template-columns:95px minmax(0,1fr);gap:8px 12px;padding:10px 6px}.cost-row .band-name{grid-row:span 2}.cost-row strong{grid-column:2;text-align:left;font-size:12px}.bar-quantities{font-size:11px}.pallet-toggle{font-size:11px;padding:5px;min-height:44px}.pallet-units{font-size:11px}}
.positions{overflow:visible}table{min-width:0;table-layout:fixed}th,td{overflow-wrap:anywhere}
@media screen and (max-width:900px){
  .positions table,.positions tbody{display:block;width:100%}
  .positions thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .positions tr{display:block;margin-top:12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
  .positions td{display:grid;grid-template-columns:minmax(85px,.85fr) minmax(0,1.3fr);gap:3px 12px;padding:10px 0;font-size:12px}
  .positions td:first-child{border-top:0}
  .positions td::before{color:var(--muted);font-size:10px;font-weight:650}
  .positions td:nth-child(1)::before{content:'Local / endereço'}
  .positions td:nth-child(2)::before{content:'Etiqueta'}
  .positions td:nth-child(3)::before{content:'Quantidade'}
  .positions td:nth-child(4)::before{content:'Custo estimado'}
  .positions td:nth-child(5)::before{content:'Vida útil (%)'}
  .positions td:nth-child(6)::before{content:'Condição / origem'}
  .positions td small{grid-column:2;min-width:0}
}
.charts{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.monthly-chart{width:100%;min-width:0}.monthly-chart svg{display:block;width:100%;height:auto;overflow:visible}.month-grid{stroke:var(--line);stroke-width:1}.month-axis{fill:var(--muted);font-size:10px}.month-label{fill:var(--text);font-size:11px}.month-amount{fill:var(--muted);font-size:9px}.month-bar{fill:var(--brand);opacity:.3}.month-line{fill:none;stroke:var(--series-color);stroke-width:2.5;stroke-linejoin:round}.month-point{fill:var(--series-color);stroke:var(--panel);stroke-width:1.5}.month-point-label{fill:var(--text);font-size:10px;font-weight:750;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.month-legend{display:flex;flex-wrap:wrap;gap:7px 14px;font-size:10px;color:var(--muted);margin-bottom:10px}.month-legend span{display:inline-flex;align-items:center;gap:5px}.month-legend i{display:inline-block;width:10px;height:7px;border-radius:2px}.month-cost-key{background:var(--brand);opacity:.5}.month-totals{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:10px;color:var(--muted);margin-top:10px}.month-totals b{color:var(--text);margin-right:4px}
@media(min-width:901px){.charts .cost-row{grid-template-columns:100px minmax(0,1fr) 100px;gap:10px;padding:10px 4px}.charts .cost-row strong{font-size:11px}}
@media(max-width:900px){.charts{grid-template-columns:minmax(0,1fr)}}
.active-filter{flex-wrap:wrap}.month-select,.month-point,.month-point-label{cursor:pointer}.month-select:hover .month-bar,.month-selected .month-bar{opacity:.7;stroke:var(--brand);stroke-width:2}.month-selected .month-label{font-weight:800;fill:var(--brand-dark)}.month-totals button{min-height:36px;font-size:10px;padding:5px 8px;font-weight:400;text-align:left}.month-totals button[aria-pressed=true]{background:var(--panel-soft);border-color:var(--brand)}
.month-hitarea{fill:transparent;pointer-events:all}.month-line{pointer-events:none}
.unknown-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:8px 18px}.unknown-list p{padding:10px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.notice[data-tone=warning]{border-color:var(--soon)}.sku-title small{display:block}
@media(max-width:600px){.header-actions .theme-label{flex:1 1 100%;max-width:none;display:grid;grid-template-columns:42px minmax(0,1fr)}.header-actions>button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.filters,.hero-actions,.connection,.active-filter,#masterPanel,#more,footer,.methodology{display:none!important}:root{color-scheme:light;--bg:#fff;--panel:#fff;--text:#111;--muted:#555;--line:#ccc;--panel-soft:#eee}.shell{max-width:none;padding:0}.panel,.metric{box-shadow:none;break-inside:avoid}.cards{grid-template-columns:repeat(5,1fr)}.charts{grid-template-columns:1fr 1fr}.sku>summary{grid-template-columns:15px 2fr repeat(5,1fr);gap:8px}.sku-title{grid-column:auto}.sku>summary>.data:nth-child(3),.sku>summary>.data:last-child{grid-column:auto}}

/* Leitura em tela/capturas: hierarquia preservada, sem ampliar os cartões principais. */
body{font-size:15px;line-height:1.5}
.brand small,.theme-label,.connection,label,.band-filter{font-size:13px}
.eyebrow{font-size:12px;letter-spacing:1.2px}
h2{font-size:18px}
.metric small{font-size:12px;letter-spacing:.45px;line-height:1.4}
.metric p,.metric-note,.metric-action,.metric-volumes>span{font-size:13px;line-height:1.45}
.panel-title p,.note,.active-filter,.methodology{font-size:13px;line-height:1.5}
.count{font-size:13px}
.summary-row,.summary-row .quantities{font-size:14px}
.cost-row,.cost-row .band-name{font-size:14px;line-height:1.4}
.cost-row strong,.charts .cost-row strong{font-size:14px}
.bar-quantities,.chart-actions button{font-size:13px}
.sku-title strong,.sku-title span,.value{font-size:14px;line-height:1.45}
.sku-title small,.data-label{font-size:12px;line-height:1.4}
.data-label{letter-spacing:.2px}
.lot>summary,.pallet-toggle,.pallet-units{font-size:14px}
.pill{font-size:12px}
table,.positions td{font-size:13px;line-height:1.5}
th,.positions td::before,td small{font-size:12px;line-height:1.45}
.month-axis,.month-amount,.month-legend,.month-totals,.month-totals button{font-size:12px}
.month-label,.month-point-label{font-size:13px}
.month-axis,.month-amount{fill:var(--text)}
.month-legend,.month-totals,.connection,.metric-note,.panel-title p,.note{font-weight:500}
footer{font-size:12px}
@media(min-width:901px){.charts .cost-row{grid-template-columns:112px minmax(0,1fr) 120px;gap:10px}}
@media(max-width:600px){
 .metric .metric-toggle{padding:14px}.metric small{font-size:12px}
 .summary-row,.summary-row .quantities{font-size:13px}
 .cost-row{grid-template-columns:108px minmax(0,1fr)}
 .cost-row strong,.bar-quantities{font-size:13px}
 .sku-title span,.value{font-size:14px}.data-label{font-size:12px}
 .positions td{font-size:13px}.positions td::before{font-size:12px}
 .pallet-toggle,.pallet-units{font-size:13px}
}
@media print{
 body{font-size:12px}.metric small,.metric-note,.note,.panel-title p{font-size:11px}
 .data-label,th,td small{font-size:10px}.sku-title strong,.sku-title span,.value,table,.positions td{font-size:12px}
 .cost-row,.cost-row strong,.charts .cost-row strong,.bar-quantities{font-size:12px}
 .month-axis,.month-amount,.month-label,.month-point-label{font-size:12px}
}

.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.detail-actions button{font-size:13px}.panel-title:has(#detailTitle){flex-wrap:wrap}
