/* Fluxo local: capital → ativos → pesos → revisão → resultado. Usa os tokens do app. */
.sim-local { max-width:1280px; margin-inline:auto; gap:24px; }
.sim-kicker { color:var(--text-muted); font-size:12px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.sim-cabecalho { align-items:center; }
.sim-cabecalho .titulo-tela { margin-top:6px; }
.sim-intro { margin-top:8px; color:var(--text-muted); font-size:15px; }
.sim-privacidade { display:flex; align-items:center; gap:14px; padding:15px 18px; border:1px solid var(--border); border-left:3px solid var(--accent); background:var(--surface); }
.sim-privacidade p { font-size:13px; color:var(--text-muted); }
.sim-selo { display:inline-flex; width:max-content; flex:none; align-items:center; padding:5px 9px; color:var(--accent); background:var(--accent-soft); font-size:12px; font-weight:600; border-radius:4px; }
.sim-etapas { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid var(--border); }
.sim-etapas a { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 4px 16px; color:var(--text-muted); font-size:13px; }
.sim-etapas span { font-size:12px; color:var(--accent); font-variant-numeric:tabular-nums; }
.sim-dados { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--text-muted); font-size:13px; }
.sim-dados:has(#sim-tentar:not([hidden])) { color:var(--danger); }
.sim-universo { color:var(--text-muted); font-size:13px; }
.sim-universo summary { width:fit-content; padding-block:5px; cursor:pointer; }
.sim-universo p { margin-top:10px; max-width:100ch; line-height:1.65; }
.sim-editor { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:24px; }
.sim-editor > .empilha { gap:24px; min-width:0; }
.sim-secao { padding:24px; }
.sim-secao-titulo { display:flex; gap:12px; align-items:baseline; }
.sim-secao-titulo .pequeno { margin-top:5px; }
.sim-numero { color:var(--accent); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.sim-local section[id],.sim-local aside[id],#sim-pesos-etapa { scroll-margin-top:100px; }
.sim-campos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0 16px; }
.sim-campos label:first-child { grid-column:1/-1; }
.sim-local input:not([type=checkbox]),.sim-local select { display:block; width:100%; min-height:44px; margin-top:7px; font-size:14px; }
.sim-local label { min-width:0; font-size:13px; font-weight:500; }
.sim-local [aria-invalid=true] { border-color:var(--danger); }
.sim-erro { display:block; min-height:0; margin-top:5px; font-size:12px; font-weight:400; color:var(--danger); }
.sim-erro:empty { display:none; }
.sim-pesos-cabecalho { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-block:22px 12px; margin-top:6px; border-bottom:1px solid var(--border); }
#sim-ativos { gap:0; }
.sim-ativo { display:grid; grid-template-columns:minmax(0,1fr) 106px auto; align-items:start; gap:14px; padding:18px 0; border-bottom:1px solid var(--border); }
.sim-remover { align-self:start; margin-top:23px; min-height:44px; }
.sim-acoes { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:18px 0 12px; }
.sim-acoes button { min-height:44px; }
.sim-revisao { position:sticky; top:90px; padding:24px; }
.sim-resumo { margin:22px 0 14px; }
.sim-resumo > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 10px; margin:14px 0; }
.sim-resumo dt { color:var(--text-muted); font-size:12px; }
.sim-resumo dd { margin:0; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sim-composicao { padding-block:8px; border-block:1px solid var(--border); }
.sim-composicao li { display:flex; justify-content:space-between; gap:10px; padding-block:7px; font-size:13px; font-variant-numeric:tabular-nums; }
.sim-composicao strong { font-weight:500; }
.sim-total { display:flex; justify-content:space-between; gap:12px; padding:16px 0; font-size:13px; }
.sim-total strong { font-size:20px; font-weight:600; }
.sim-validacao { color:var(--text-muted); font-size:13px; margin-bottom:18px; line-height:1.6; }
.sim-validacao[data-valido=false] { color:var(--danger); }
.sim-revisao > .botao { width:100%; min-height:46px; justify-content:center; }
.sim-revisao > .pequeno { margin-top:14px; line-height:1.6; }
.sim-salvar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 24px; padding:22px 0; border-block:1px solid var(--border); }
.sim-salvar > div { grid-column:1/-1; }
.sim-salvar .pequeno { margin-top:5px; }
.sim-salvar label { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; }
.sim-salvar input { width:19px; height:19px; flex:none; accent-color:var(--accent); }
#sim-salvar-estado { grid-column:1/-1; margin:0; }
#sim-salvar-estado[data-erro=true] { color:var(--danger); }
.sim-resultado { padding:24px; }
.sim-resultado .sim-secao-titulo { flex-wrap:wrap; }
.sim-resultado .sim-selo { margin-left:auto; }
.sim-vazio { display:grid; gap:8px; padding:44px 12px; text-align:center; color:var(--text-muted); }
.sim-vazio p { color:var(--text); font-size:16px; font-weight:500; }
.sim-vazio span { font-size:13px; }
.sim-indicadores { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:26px 0 20px; border-block:1px solid var(--border); }
.sim-indicadores > div { min-width:0; padding:18px 18px 18px 0; }
.sim-indicadores span { color:var(--text-muted); font-size:12px; }
.sim-indicadores strong { display:block; margin-top:8px; font-size:22px; font-weight:500; letter-spacing:-.02em; overflow-wrap:anywhere; }
.sim-indicadores .sim-indicador-negativo { color:var(--negative,var(--danger)); }
.sim-grafico-cab { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:28px; }
.sim-grafico-cab .pequeno { margin-top:5px; }
.sim-legenda { display:flex; gap:18px; flex-wrap:wrap; font-size:12px; color:var(--text-muted); }
.sim-legenda li { display:flex; align-items:center; gap:7px; }
.sim-legenda li::before { content:""; width:22px; border-top:2px solid var(--chart-model,var(--accent)); }
.sim-legenda .sim-serie-ibov::before { border-top:2px dashed var(--chart-ibov,var(--growth)); }
.sim-legenda .sim-serie-cdi::before { border-top:2px dotted var(--chart-cdi,var(--warn)); }
#sim-grafico { display:block; width:100%; margin-top:18px; overflow:visible; }
#sim-grafico text { fill:var(--text-muted); font-family:inherit; font-size:12px; font-variant-numeric:tabular-nums; }
.sim-grade { stroke:var(--border); stroke-width:1; }
.sim-linha-modelo { stroke:var(--chart-model,var(--accent)); }
.sim-linha-ibov { stroke:var(--chart-ibov,var(--growth)); }
.sim-linha-cdi { stroke:var(--chart-cdi,var(--warn)); }
#sim-grafico-estado { margin:8px 0; }
.sim-detalhes { border-top:1px solid var(--border); margin-top:20px; }
.sim-detalhes summary { padding:16px 0; cursor:pointer; font-size:13px; font-weight:500; }
.sim-rolagem { max-width:100%; overflow:auto; margin-block:0 18px; }
.sim-rolagem table { min-width:550px; width:100%; }
.sim-rolagem td:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.sim-rolagem caption { text-align:left; padding:10px 0; font-size:12px; color:var(--text-muted); }
.sim-explicacao { display:grid; gap:12px; max-width:90ch; font-size:13px; color:var(--text-muted); line-height:1.7; }
@media(max-width:1100px) { .sim-editor { grid-template-columns:minmax(0,1fr) 290px; gap:18px; } .sim-secao,.sim-revisao { padding:20px; } .sim-ativo { grid-template-columns:minmax(0,1fr) 95px; } .sim-remover { grid-column:1/-1; justify-self:end; margin:0; } }
@media(max-width:850px) { .sim-editor { grid-template-columns:1fr; } .sim-revisao { position:static; } .sim-ativo { grid-template-columns:minmax(0,1fr) 106px auto; } .sim-remover { grid-column:auto; margin-top:23px; } .sim-cabecalho { align-items:flex-start; } }
@media(max-width:600px) { .sim-local { gap:20px; } .sim-cabecalho { flex-direction:column; gap:14px; } .sim-privacidade { align-items:flex-start; flex-direction:column; gap:10px; padding:14px; } .sim-etapas a { flex-direction:column; align-items:flex-start; gap:5px; font-size:12px; } .sim-campos { grid-template-columns:1fr; } .sim-ativo { grid-template-columns:minmax(0,1fr) 90px; gap:10px; } .sim-remover { grid-column:1/-1; margin:0; } .sim-secao,.sim-revisao,.sim-resultado { padding:18px; } .sim-salvar { grid-template-columns:1fr; } .sim-salvar > .botao-discreto { justify-self:start; min-height:44px; } .sim-indicadores { grid-template-columns:repeat(2,minmax(0,1fr)); } .sim-indicadores strong { font-size:19px; } .sim-resultado .sim-selo { margin-left:0; } #sim-grafico { min-height:180px; } .sim-legenda { gap:12px; } }
