/* André Lourenço: marca sobre o motor do playbook + camada Tração 2027.
   Tokens do Design System 1.0: Manrope + IBM Plex Mono, #050505 / #F93319 / #FAFAFA, raio 4/8. */
:root{--al-black:#050505;--al-orange:#F93319;--al-orange-hover:#FF4C32;--al-white:#FAFAFA;--al-line:#2B2B2B;--al-muted:#A3A3A3;
  --tr-alta:#F93319;--tr-media:#E8B04A;--tr-baixa:#6B6B6B}
body{background:var(--al-black)}
.atlas-app-root{--bg:#070707;--line:rgba(255,255,255,.09);--accent:#F93319;--mint:#FF7A5C}

/* cabeçalho */
.experience-brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--al-white);text-decoration:none}
.experience-brand img,.experience-brand img[width]{width:28px!important;height:28px;filter:none}
.brand-name{font:500 17px/1 Manrope,sans-serif;letter-spacing:-.02em;white-space:nowrap}
.tr-header-btn{flex:none;height:40px;padding:0 16px;border:1px solid var(--al-orange);border-radius:4px;background:transparent;color:var(--al-white);font:600 13px/1 Manrope,sans-serif;letter-spacing:.01em}
.tr-header-btn:hover{background:var(--al-orange);color:var(--al-black)}
@media(max-width:1150px){.tr-header-btn{margin-left:4px;padding:0 12px}}
@media(max-width:760px){.brand-name{font-size:15px}.tr-header-btn{height:32px;font-size:11px;padding:0 10px;margin-left:auto}}
@media print{.tr-header-btn,.tr-open{display:none!important}.experience-brand img{filter:none}}

/* botão do ranking na lateral */
.tr-open{margin-top:18px;display:inline-flex;align-items:center;gap:.6rem;height:40px;padding:0 14px;border:0;border-radius:4px;background:var(--al-orange);color:var(--al-black);font:700 13px/1 Manrope,sans-serif}
.tr-open span{font-size:10px}.tr-open i{font-style:normal;opacity:.7}
.tr-open:hover{background:var(--al-orange-hover)}

/* nota (badge) */
.tr-badge{flex:none;display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:4px;font:500 12px/1 "IBM Plex Mono",monospace;letter-spacing:0}
.tr-badge.tr-alta{background:var(--tr-alta);color:var(--al-black)}
.tr-badge.tr-media{background:transparent;color:var(--tr-media);box-shadow:inset 0 0 0 1px var(--tr-media)}
.tr-badge.tr-baixa{background:transparent;color:#9a9a9a;box-shadow:inset 0 0 0 1px #4a4a4a}
.atlas-app-root .market-niche-card .tr-badge{margin-left:auto;margin-right:10px;align-self:center}
.atlas-app-root .market-item .count .tr-badge{min-width:26px;height:20px;font-size:11px}

/* bloco Tração 2027 no painel do nicho */
.tr-block{margin:4px 0 26px;padding:20px;border:1px solid var(--al-line);border-radius:8px;background:#0d0d0d}
.tr-block.tr-alta{border-color:rgba(249,51,25,.55)}
.tr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.tr-head .insight-kicker{margin:0 0 6px}
.tr-tier{font:600 18px/1.2 Manrope,sans-serif;color:var(--al-white)}
.tr-alta .tr-tier{color:var(--tr-alta)}.tr-media .tr-tier{color:var(--tr-media)}.tr-baixa .tr-tier{color:#b5b5b5}
.tr-total{text-align:right;white-space:nowrap}
.tr-total b{font:600 40px/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--al-white)}
.tr-total span{font:400 13px "IBM Plex Mono",monospace;color:var(--al-muted);margin-left:2px}
.tr-bars{display:grid;gap:7px;margin:16px 0 14px}
.tr-bar{display:grid;grid-template-columns:118px 1fr 14px;align-items:center;gap:10px;font:400 12px/1.2 Manrope,sans-serif;color:#cfcfcf}
.tr-bar i{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--al-orange) calc(var(--v)*20%),#232323 0)}
.tr-bar b{font:500 12px "IBM Plex Mono",monospace;color:var(--al-white);text-align:right}
.tr-why{margin:0;font:400 14px/1.55 Manrope,sans-serif;color:#dedede}
.tr-mec{margin-top:16px;padding-top:14px;border-top:1px solid var(--al-line)}
.tr-mec span{display:block;font:400 10px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;color:var(--al-muted);margin-bottom:6px}
.tr-mec b{font:600 16px/1.3 Manrope,sans-serif;color:var(--al-white)}
.tr-mec p{margin:4px 0 0;font:400 13px/1.5 Manrope,sans-serif;color:var(--al-muted)}

/* janela Cenário 2027 */
.tr-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--al-line);border-radius:8px;background:#0a0a0a;color:var(--al-white);font-family:Manrope,sans-serif;overflow:hidden}
.tr-dialog[open]{display:flex;flex-direction:column}
.tr-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.tr-dialog-head{display:flex;align-items:flex-end;gap:24px;padding:24px 28px 0;border-bottom:1px solid var(--al-line);flex-wrap:wrap}
.tr-kicker{display:block;font:400 10px/1 "IBM Plex Mono",monospace;letter-spacing:.16em;color:var(--al-orange);margin-bottom:10px}
.tr-dialog-head h2{margin:0 0 18px;font:500 30px/1.05 Manrope,sans-serif;letter-spacing:-.035em}
.tr-tabs{display:flex;gap:4px;margin-left:auto}
.tr-tabs button{height:44px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:none;color:var(--al-muted);font:600 14px Manrope,sans-serif}
.tr-tabs button[aria-selected="true"]{color:var(--al-white);border-bottom-color:var(--al-orange)}
.tr-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--al-line);border-radius:4px;background:none;color:var(--al-white);font-size:14px}
.tr-close:hover{border-color:var(--al-white)}
.tr-dialog-body{overflow:auto;padding:24px 28px 32px}
.tr-dialog-body h3{margin:30px 0 14px;font:600 18px/1.2 Manrope,sans-serif;letter-spacing:-.02em}
.tr-date{margin:0 0 16px;font:400 12px "IBM Plex Mono",monospace;color:var(--al-muted)}
.tr-numbers{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--al-line);border:1px solid var(--al-line);border-radius:8px;overflow:hidden}
.tr-numbers div{background:#0d0d0d;padding:16px 14px}
.tr-numbers b{display:block;font:600 24px/1 Manrope,sans-serif;letter-spacing:-.03em;color:var(--al-white);margin-bottom:8px}
.tr-numbers span{font-size:12px;line-height:1.4;color:var(--al-muted)}
.tr-dialog sup a{color:var(--al-orange);text-decoration:none;font:500 10px "IBM Plex Mono",monospace}
.tr-forces{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tr-forces article{display:flex;gap:14px;padding:16px;border:1px solid var(--al-line);border-radius:8px}
.tr-forces article>span{font:400 12px "IBM Plex Mono",monospace;color:var(--al-orange);padding-top:3px}
.tr-forces b{display:block;font-size:15px;margin-bottom:6px}
.tr-forces p{margin:0;font-size:13.5px;line-height:1.55;color:#cfcfcf}
.tr-read{margin:0;padding-left:20px;display:grid;gap:10px}
.tr-read li{font-size:15px;line-height:1.55;color:#e6e6e6;padding-left:4px}
.tr-read li::marker{color:var(--al-orange);font-weight:700}
.tr-method{margin:0;font-size:14px;line-height:1.6;color:#cfcfcf}
.tr-method code{font:12px "IBM Plex Mono",monospace;background:#1a1a1a;padding:2px 6px;border-radius:4px}
.tr-alta-t{color:var(--tr-alta)}.tr-media-t{color:var(--tr-media)}.tr-baixa-t{color:#b5b5b5}
.tr-sources{margin:0;padding-left:22px;columns:2;column-gap:32px;font-size:13px;line-height:1.7}
.tr-sources a{color:#d0d0d0}.tr-sources a:hover{color:var(--al-orange)}
.tr-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}
.tr-filters button{height:34px;padding:0 14px;border:1px solid var(--al-line);border-radius:4px;background:none;color:#d0d0d0;font:600 13px Manrope,sans-serif}
.tr-filters button[aria-pressed="true"]{background:var(--al-white);color:var(--al-black);border-color:var(--al-white)}
.tr-filters span{margin-left:auto;font:400 12px "IBM Plex Mono",monospace;color:var(--al-muted)}
.tr-table{display:grid;border-top:1px solid var(--al-line)}
.tr-row{display:grid;grid-template-columns:34px 1fr 110px 40px;align-items:center;gap:14px;padding:12px 6px;border:0;border-bottom:1px solid var(--al-line);background:none;color:var(--al-white);text-align:left;font-family:Manrope,sans-serif}
.tr-row:hover{background:#121212}
.tr-pos{font:400 12px "IBM Plex Mono",monospace;color:var(--al-muted)}
.tr-name b{display:block;font-size:15px;font-weight:600}
.tr-name em{font:500 10px "IBM Plex Mono",monospace;font-style:normal;color:var(--al-orange);letter-spacing:.08em;text-transform:uppercase;margin-left:6px;vertical-align:2px}
.tr-name small{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:12px;color:var(--al-muted)}
.tr-name small i{width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}
.tr-mini{display:flex;gap:4px;align-items:flex-end;height:22px}
.tr-mini i{width:14px;height:calc(var(--v)*20%);background:#3a3a3a;border-radius:2px}
.tr-row:hover .tr-mini i{background:var(--al-orange)}
@media(max-width:760px){
  .tr-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .tr-dialog-head{padding:18px 16px 0;gap:8px}.tr-dialog-head h2{font-size:24px;margin-bottom:8px}
  .tr-tabs{margin-left:0;width:100%}.tr-tabs button{flex:1;padding:0 6px;font-size:13px}
  .tr-dialog-body{padding:18px 16px 28px}
  .tr-numbers{grid-template-columns:1fr 1fr}.tr-forces{grid-template-columns:1fr}.tr-sources{columns:1}
  .tr-row{grid-template-columns:26px 1fr 36px;gap:10px}.tr-mini{display:none}
  .tr-bar{grid-template-columns:100px 1fr 14px}
}

/* ajustes de encaixe no motor */
.atlas-app-root .intro h1 span{color:var(--al-orange)}
.atlas-app-root .intro p{margin-bottom:0}
.atlas-app-root .tr-open{display:inline-flex;align-items:center;gap:.6rem;height:36px;margin:16px 0 22px;padding:0 14px;border:0;border-radius:4px;background:var(--al-orange);color:var(--al-black);font:700 13px/1 Manrope,sans-serif;cursor:pointer}
.atlas-app-root .tr-open:hover{background:var(--al-orange-hover)}
@media(max-height:760px) and (min-width:761px){.atlas-app-root .intro p{display:none}.atlas-app-root .intro h1{margin:12px 0 0}}
dialog.tr-dialog{position:fixed;inset:0;margin:auto;height:fit-content}
@media(max-width:760px){.tr-header-btn{display:none}dialog.tr-dialog{height:100dvh}}
