/* One explicit layout for all exchange states, independent of legacy grid placement. */
#arbitragem .data-heading{gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
#arbitragem .data-heading h2{letter-spacing:normal;line-height:1.3;margin-bottom:10px}
#arbitragem .data-heading p{line-height:1.65;margin:0;max-width:65ch}
#arbitrage-status{margin:20px 0;line-height:1.6}
#arbitrage-list{display:grid;gap:18px;margin:24px 0 32px}
#arbitrage-list .arbitrage-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.2fr);grid-template-areas:"identity identity identity" "price estimate stats" "details details details";align-items:start;gap:24px;padding:24px;border:1px solid #d7ded4;border-radius:16px;background:#fff;text-align:left;margin:0}
#arbitrage-list .arbitrage-card.is-best{background:#f6faed;border:1px solid #a9bf7b;border-radius:16px}
#arbitrage-list .arbitrage-identity{grid-area:identity;display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #dce3d6}
#arbitrage-list .arbitrage-identity h3{grid-area:auto;font-size:18px;line-height:1.4;letter-spacing:normal;margin:0}
#arbitrage-list .arbitrage-identity img{flex-shrink:0;width:36px;height:36px}
#arbitrage-list .arbitrage-price{grid-area:price}
#arbitrage-list .arbitrage-estimate{grid-area:estimate}
#arbitrage-list .arbitrage-price,#arbitrage-list .arbitrage-estimate{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
#arbitrage-list .arbitrage-price strong{font-size:24px;line-height:1.35;letter-spacing:normal;margin:0;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#arbitrage-list .arbitrage-estimate p{font-size:16px;line-height:1.65;color:#192519;margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#arbitrage-list small{display:block;font-size:12px;line-height:1.65;color:#52604f}
#arbitrage-list .arbitrage-copy{display:block;align-self:flex-start;min-height:44px!important;margin:4px 0 0;padding:10px 16px!important;font-size:12px!important;border-radius:9px;max-width:100%}
#arbitrage-list .arbitrage-stats{grid-area:stats;display:grid;align-content:start;gap:10px;padding:0 0 0 20px;border:0;border-left:1px solid #dce3d6;min-width:0}
#arbitrage-list .arbitrage-card>p{grid-column:1/-1;margin:0;padding:0;font-size:13px;line-height:1.65}
#arbitrage-list .arbitrage-card:not(:has(.arbitrage-price)){grid-template-areas:"identity identity identity";gap:16px}
#arbitrage-list details{grid-area:details;width:100%;min-width:0}
#arbitrage-list summary{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;max-width:none;margin:0;padding:12px 16px;min-height:48px;border:1px solid #c1ccba;border-radius:10px;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer}
#arbitrage-list summary::after{content:'+';font-size:20px;flex-shrink:0}
#arbitrage-list details[open]>summary::after{content:'−'}
#arbitrage-list .is-best summary{background:#dfff19;border-color:#b3c76c;color:#192519}
#arbitrage-list .arbitrage-order{padding:20px;margin-top:16px;text-align:left}
#arbitrage-list .arbitrage-order dl{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
#arbitrage-list .arbitrage-order p{margin:16px 0;line-height:1.75}
#arbitragem .coin-more{margin-top:18px}
#arbitragem .coin-more p{line-height:1.8;margin:18px 0;max-width:85ch}
#arbitragem :focus-visible{outline:3px solid #583ad0;outline-offset:3px}
@media(max-width:1000px){
 #arbitrage-list .arbitrage-card{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"identity identity" "price estimate" "stats stats" "details details"}
 #arbitrage-list .arbitrage-stats{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid #dce3d6;padding:18px 0 0;gap:10px 20px}
 #arbitrage-list .arbitrage-card:not(:has(.arbitrage-price)){grid-template-areas:"identity identity"}
}
@media(max-width:600px){
 #arbitrage-list .arbitrage-card{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"identity" "price" "estimate" "stats" "details";padding:20px 16px;gap:20px}
 #arbitrage-list .arbitrage-card:not(:has(.arbitrage-price)){grid-template-areas:"identity"}
 #arbitrage-list .arbitrage-estimate{padding-top:18px;border-top:1px solid #dce3d6}
 #arbitrage-list .arbitrage-order{padding:16px}
 #arbitrage-list .arbitrage-order dl{grid-template-columns:minmax(0,1fr)}
 #arbitrage-list .arbitrage-price strong{font-size:25px}
 #arbitragem .arbitrage-options{padding:16px 12px}
 #arbitragem .arbitrage-options fieldset{grid-template-columns:minmax(0,1fr);padding-inline:0}
}
.international-books{margin-top:40px;padding-top:28px;border-top:1px solid #d9ddd5}
.international-books h2{font-size:24px;line-height:1.3}.international-books>p{font-size:14px;line-height:1.7;max-width:75ch}
.international-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0}.international-controls label{display:grid;gap:8px;font-size:13px}.international-controls input,.international-controls select,.international-controls button{min-height:44px;padding:10px;max-width:100%}
.international-books details label{display:inline-flex;align-items:center;gap:8px;padding:10px;font-size:13px}.international-books input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0}
.international-table{overflow:auto}.international-table table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px}.international-table th,.international-table td{padding:16px 12px;text-align:left;border-bottom:1px solid #d9ddd5}.international-table th{background:#eef2e8}.international-table a{white-space:nowrap}
.international-table td:first-child img{vertical-align:middle;margin-right:10px;border-radius:50%;object-fit:contain}
/* Each exchange remains readable without horizontally clipped table columns. */
html body .international-books{--offer-bg:#fff;--offer-ink:#20242b;--offer-muted:#59616c;--offer-line:#dfe2e7}
html[data-theme=dark] body .international-books{--offer-bg:#181a1f;--offer-ink:#f1f3f5;--offer-muted:#b7bdc6;--offer-line:#343840}
html body .international-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:24px}
html body .international-offer{min-width:0;padding:24px;border:1px solid var(--offer-line);border-radius:12px;background:var(--offer-bg);color:var(--offer-ink)}
html body .international-offer .international-offer-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}
html body .international-offer .international-offer-heading img{flex:none;object-fit:contain;border-radius:50%}
html body .international-offer h3{margin:0 0 4px;font-size:18px;line-height:1.4;color:var(--offer-ink)}
html body .international-offer :is(small,dt,.international-offer-price span){color:var(--offer-muted);font-size:13px;line-height:1.5}
html body .international-offer-price{display:grid;gap:8px;margin-bottom:20px}
html body .international-offer-price strong{font-size:24px;line-height:1.35;color:var(--offer-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html body .international-offer dl{display:grid;gap:16px;margin:0}
html body .international-offer dl>div{display:grid;gap:6px}
html body .international-offer dd{margin:0;font-size:16px;font-weight:600;line-height:1.5;color:var(--offer-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html body .international-offer .international-offer-note{border-top:1px solid var(--offer-line);padding-top:16px;margin:20px 0 0;color:var(--offer-muted);font-size:13px;line-height:1.65}
@media(max-width:600px){html body .international-offer{padding:18px}html body .international-offers{gap:16px}}

/* Compact quote cards: primary values first, secondary metrics on demand. */
body #arbitrage-list{gap:12px;margin:16px 0 24px}
body #arbitrage-list .arbitrage-card{container-type:inline-size;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"identity identity" "price estimate" "details details";gap:16px;padding:20px;min-width:0;box-sizing:border-box}
body #arbitrage-list .arbitrage-identity{padding-bottom:12px;gap:10px}
body #arbitrage-list .arbitrage-identity h3{font-size:17px;line-height:1.35}
body #arbitrage-list .arbitrage-identity img{width:30px;height:30px}
body #arbitrage-list .arbitrage-price{gap:5px}
body #arbitrage-list .arbitrage-price strong{font-size:24px;line-height:1.25;white-space:nowrap;overflow-wrap:normal}
body #arbitrage-list .arbitrage-estimate{gap:5px}
body #arbitrage-list .arbitrage-estimate p{font-size:15px;line-height:1.5;font-weight:600}
body #arbitrage-list small{font-size:13px;line-height:1.5}
body #arbitrage-list summary{box-sizing:border-box;min-height:44px;padding:10px 12px;font-size:13px}
body #arbitrage-list .arbitrage-stats{grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding:0 0 16px;gap:8px 16px}
@media(max-width:600px){
 body #arbitragem.data-section{padding:16px 12px;margin-block:20px}
 body #arbitrage-list .arbitrage-card{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"identity" "price" "estimate" "details";padding:16px;gap:12px;border-radius:12px}
 body #arbitrage-list .arbitrage-price strong{font-size:clamp(21px,8cqi,26px)}
 body #arbitrage-list .arbitrage-identity{padding-bottom:10px}
 body #arbitrage-list .arbitrage-estimate{padding-top:10px}
 body #arbitrage-list .arbitrage-order{padding:12px;margin-top:12px}
 body #arbitrage-list .arbitrage-stats{grid-template-columns:minmax(0,1fr)}
 body #arbitragem .data-heading{gap:12px;margin-bottom:16px}
 body #arbitrage-status{font-size:13px;margin:12px 0}
 body #arbitragem .arbitrage-options{padding:12px;margin:12px 0}
}

/* Radar de preços: cada corretora em uma linha horizontal, preços alinhados para comparação. */
html body #arbitragem .arbitrage-list{display:grid;gap:8px}
html body #arbitragem .arbitrage-list .arbitrage-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) auto!important;grid-template-areas:'identity price estimate details'!important;align-items:center;gap:8px 20px;padding:12px 16px!important;margin:0!important;border-radius:12px}
html body #arbitragem .arbitrage-card .arbitrage-identity{display:flex;align-items:center;gap:10px;margin:0!important;padding:0!important;border:0!important}
html body #arbitragem .arbitrage-card .arbitrage-identity img{width:28px;height:28px}
html body #arbitragem .arbitrage-card .arbitrage-identity h3{margin:0;font-size:16px}
html body #arbitragem .arbitrage-card .arbitrage-price{display:grid;gap:2px;margin:0!important;padding:6px 10px!important;border-radius:8px;position:relative}
html body #arbitragem .arbitrage-card .arbitrage-price>small:first-child{font-size:11px}
html body #arbitragem .arbitrage-card .arbitrage-price strong{font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums}
html body #arbitragem .arbitrage-card .arbitrage-price>small{font-size:12px}
html body #arbitragem .arbitrage-card .arbitrage-price-delta{position:absolute;top:4px;right:6px;font-size:11px;font-weight:700}
html body #arbitragem .arbitrage-card .arbitrage-estimate{margin:0!important;padding:0!important}
html body #arbitragem .arbitrage-card .arbitrage-estimate p{margin:0;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}
html body #arbitragem .arbitrage-card .arbitrage-estimate small{font-size:12px}
html body #arbitragem .arbitrage-card>details{margin:0!important}
html body #arbitragem .arbitrage-card>details>summary{min-height:40px;padding:8px 14px!important;font-size:13px!important;white-space:nowrap}
html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-areas:'identity price estimate .' 'details details details details'!important}
@media(max-width:760px){
 html body #arbitragem .arbitrage-list .arbitrage-card,html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'identity price' 'estimate estimate' 'details details'!important;gap:6px 12px;padding:12px!important}
 html body #arbitragem .arbitrage-card .arbitrage-price{text-align:right;padding:4px 8px!important}
 html body #arbitragem .arbitrage-card .arbitrage-price>small:first-child{display:none}
 html body #arbitragem .arbitrage-card .arbitrage-price strong{font-size:18px}
 html body #arbitragem .arbitrage-card .arbitrage-price-delta{position:static;justify-self:end}
}
html body #arbitragem .arbitrage-list .arbitrage-card{column-gap:28px}
html body #arbitragem .arbitrage-card .arbitrage-estimate p{font-size:13px}

/* Mercados internacionais no mesmo formato de lista horizontal do Radar de preços */
html body .international-offers{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
html body .international-offers .international-offer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.4fr);align-items:center;gap:6px 24px;padding:12px 16px!important;margin:0!important;border-radius:12px;min-height:0}
html body .international-offer .international-offer-heading{display:flex;align-items:center;gap:10px;margin:0!important;padding:0!important;border:0!important}
html body .international-offer .international-offer-heading img{width:28px;height:28px}
html body .international-offer .international-offer-heading h3{margin:0;font-size:16px}
html body .international-offer .international-offer-price{display:grid;gap:2px;margin:0!important;padding:6px 10px!important;border-radius:8px}
html body .international-offer .international-offer-price span{font-size:11px}
html body .international-offer .international-offer-price strong{font-size:18px;font-variant-numeric:tabular-nums}
html body .international-offer dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0!important}
html body .international-offer dl>div{margin:0;padding:0;border:0}
html body .international-offer dt{font-size:11px}
html body .international-offer dd{margin:2px 0 0;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
html body .international-offer .international-offer-note{grid-column:1/-1;margin:0!important;padding:6px 0 0!important;font-size:12px;border-top:1px solid rgba(127,127,127,.2)}
@media(max-width:760px){html body .international-offers .international-offer{grid-template-columns:minmax(0,1fr) auto;padding:12px!important}html body .international-offer .international-offer-price{text-align:right}html body .international-offer dl{grid-column:1/-1}}
html body .international-offers .international-offer{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,2.3fr)}
html body .international-offer .international-offer-price strong{white-space:nowrap;font-size:17px}
@media(max-width:760px){html body .international-offers .international-offer{grid-template-columns:minmax(0,1fr) auto}}
html body .international-offers .international-offer:not(:first-child) .international-offer-note{display:none}

/* Radar de preços · lista única no estilo comparador (cabeçalho, linha clicável, variação flutuante) */
html body #arbitragem .radar-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) 170px;column-gap:28px;padding:0 16px 8px;font-size:12px;font-weight:600;color:var(--muted,#5f6b61);text-transform:uppercase;letter-spacing:.03em}
html body #arbitragem .radar-head span:nth-child(2){padding-left:10px}
html body #arbitragem .arbitrage-list .arbitrage-card{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) 170px!important;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
html body #arbitragem .arbitrage-list .arbitrage-card:hover{border-color:#b9c3b5}
html body #arbitragem .arbitrage-card .arbitrage-price>small:first-child{display:none}
html body #arbitragem .arbitrage-card .arbitrage-identity small{display:block;font-size:11px;color:var(--muted,#5f6b61);margin-top:2px}
html body #arbitragem .arbitrage-card>details{justify-self:end}
html body #arbitragem .arbitrage-card:has(>details[open])>details{justify-self:stretch}
html body #arbitragem .arbitrage-card .arbitrage-price{overflow:visible}
html body #arbitragem .arbitrage-card .arbitrage-price-delta{position:absolute!important;left:10px;top:-2px;right:auto;font-size:12px;font-weight:700;pointer-events:none;white-space:nowrap;opacity:0;background:none!important;padding:0!important;border:0!important}
html body #arbitragem .arbitrage-price[data-movement=up] .arbitrage-price-delta{color:#127b55}
html body #arbitragem .arbitrage-price[data-movement=down] .arbitrage-price-delta{color:#b82c43}
html[data-theme=dark] body #arbitragem .arbitrage-price[data-movement=up] .arbitrage-price-delta{color:#3bdaa2}
html[data-theme=dark] body #arbitragem .arbitrage-price[data-movement=down] .arbitrage-price-delta{color:#ff7180}
@media (prefers-reduced-motion:no-preference){html body #arbitragem .arbitrage-card .arbitrage-price-delta{animation:radarBleed 2.2s ease-out forwards}}
@media (prefers-reduced-motion:reduce){html body #arbitragem .arbitrage-card .arbitrage-price-delta{opacity:1}}
@keyframes radarBleed{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}
html body #arbitragem .radar-note{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--muted,#5f6b61)}
@media(max-width:760px){html body #arbitragem .radar-head{display:none}html body #arbitragem .arbitrage-card>details{justify-self:stretch}html body #arbitragem .arbitrage-card .arbitrage-price-delta{left:auto;right:8px}}
/* Radar responsivo pelo espaço real do bloco (home tem coluna mais estreita que a página do Radar). */
html body #arbitragem{container:radar/inline-size}
html body #arbitragem .radar-head{display:none}
html body #arbitragem .arbitrage-list .arbitrage-card,html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'identity price' 'estimate details'!important;align-items:center;gap:12px 20px}
html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-areas:'identity price' 'estimate estimate' 'details details'!important}
html body #arbitragem .arbitrage-card .arbitrage-price{text-align:right;min-width:0}
html body #arbitragem .arbitrage-card .arbitrage-estimate :is(strong,b,span){overflow-wrap:normal;word-break:normal}
html body #arbitragem .arbitrage-card>details{justify-self:end}
@container radar (min-width:900px){
 html body #arbitragem .radar-head{display:grid}
 html body #arbitragem .arbitrage-list .arbitrage-card{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr) 170px!important;grid-template-areas:'identity price estimate details'!important}
 html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-areas:'identity price estimate .' 'details details details details'!important}
 html body #arbitragem .arbitrage-card .arbitrage-price{text-align:left}
}
@container radar (max-width:520px){
 html body #arbitragem .arbitrage-list .arbitrage-card,html body #arbitragem .arbitrage-list .arbitrage-card:has(>details[open]){grid-template-areas:'identity price' 'estimate estimate' 'details details'!important;gap:10px 12px}
 html body #arbitragem .arbitrage-card>details{justify-self:stretch}
}
/* Rótulo nunca estoura o botão: quebra dentro dele e o + fica com respiro. */
#arbitrage-list summary{box-sizing:border-box;min-width:0;overflow:hidden;white-space:normal;overflow-wrap:anywhere;text-align:left}
#arbitrage-list summary::after{margin-left:8px}
