/* Órbita Blog — tema do APP (índigo neutro). As cores das MARCAS aparecem só como identificação nas listas,
   para não confundir o tema da ferramenta com a identidade do conteúdo. Tudo escopado em .orb. */
.orb {
  --o-bg: #f6f7fb; --o-card: #ffffff; --o-borda: #e3e6ef; --o-txt: #1c2233; --o-mudo: #667085; --o-ac: #4f46e5; --o-ac2: #eef0ff;
  --o-ok: #15803d; --o-ok-bg: #e8f7ee; --o-warn: #a15c07; --o-warn-bg: #fff4e0; --o-err: #b42318; --o-err-bg: #fdecea;
  --o-blue: #1d4ed8; --o-blue-bg: #e8efff; --o-plum: #7e22ce; --o-plum-bg: #f3e8ff; --o-lav-bg: #eef0f6;
  color: var(--o-txt); font-size: 14px; line-height: 1.45;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .orb { --o-bg: #12141c; --o-card: #1a1d28; --o-borda: #2b3040; --o-txt: #e7e9f0; --o-mudo: #9aa3b5; --o-ac: #8b85ff; --o-ac2: #262a45;
    --o-ok: #4ade80; --o-ok-bg: #12301f; --o-warn: #fbbf24; --o-warn-bg: #352a10; --o-err: #f87171; --o-err-bg: #3a1717; --o-blue: #93b4ff; --o-blue-bg: #1b2747;
    --o-plum: #d8b4fe; --o-plum-bg: #2e1a44; --o-lav-bg: #232737; }
}
:root[data-theme="dark"] .orb { --o-bg: #12141c; --o-card: #1a1d28; --o-borda: #2b3040; --o-txt: #e7e9f0; --o-mudo: #9aa3b5; --o-ac: #8b85ff; --o-ac2: #262a45;
  --o-ok: #4ade80; --o-ok-bg: #12301f; --o-warn: #fbbf24; --o-warn-bg: #352a10; --o-err: #f87171; --o-err-bg: #3a1717; --o-blue: #93b4ff; --o-blue-bg: #1b2747;
  --o-plum: #d8b4fe; --o-plum-bg: #2e1a44; --o-lav-bg: #232737; }
.orb *, .orb *::before, .orb *::after { box-sizing: border-box; }
.orb-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; background: var(--o-bg); border-radius: 14px; padding: 12px; min-height: 70vh; }
.orb-nav { display: flex; flex-direction: column; gap: 2px; position: sticky; top: 8px; align-self: start; }
.orb-brand { padding: 8px 10px 14px; display: flex; flex-direction: column; }
.orb-brand b { font-size: 16px; } .orb-brand span { color: var(--o-mudo); font-size: 12px; }
.orb-nav button { all: unset; cursor: pointer; display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 9px; color: var(--o-txt); font-weight: 500; }
.orb-nav button span { width: 18px; text-align: center; color: var(--o-mudo); }
.orb-nav button:hover { background: var(--o-ac2); }
.orb-nav button.on { background: var(--o-ac); color: #fff; } .orb-nav button.on span { color: #fff; }
.orb-nav button:focus-visible { outline: 2px solid var(--o-ac); outline-offset: 2px; }
.orb-main { min-width: 0; }
.orb-ctx { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 12px; padding: 10px 12px; margin-bottom: 14px; position: sticky; top: 4px; z-index: 3; }
.orb-ctx label { display: flex; flex-direction: column; gap: 2px; min-width: 140px; flex: 0 1 200px; }
.orb-ctx label span { font-size: 11px; color: var(--o-mudo); text-transform: uppercase; letter-spacing: .04em; }
.orb-sep { color: var(--o-mudo); padding-bottom: 6px; }
.orb select, .orb input, .orb textarea { font: inherit; color: var(--o-txt); background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 8px; padding: 7px 9px; width: 100%; min-width: 0; }
.orb textarea { resize: vertical; } .orb input[type=checkbox], .orb input[type=radio] { width: auto; }
.orb input[type=color] { padding: 2px; height: 36px; }
.orb select:focus, .orb input:focus, .orb textarea:focus { outline: 2px solid var(--o-ac); outline-offset: 0; border-color: transparent; }
.orb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.orb-chip, .orb-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: 12px; background: var(--o-lav-bg); color: var(--o-txt); white-space: nowrap; }
.orb-tag { font-size: 11px; padding: 1px 8px; font-weight: 600; }
.orb .ok { background: var(--o-ok-bg); color: var(--o-ok); } .orb .warn { background: var(--o-warn-bg); color: var(--o-warn); }
.orb .err { background: var(--o-err-bg); color: var(--o-err); } .orb .blue { background: var(--o-blue-bg); color: var(--o-blue); }
.orb .plum { background: var(--o-plum-bg); color: var(--o-plum); } .orb .lav { background: var(--o-lav-bg); color: var(--o-mudo); } .orb .mute { background: var(--o-lav-bg); color: var(--o-mudo); }
.orb-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.orb-cab h2 { margin: 0; font-size: 20px; }
.orb-acoes { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.orb-barra { margin: 8px 0 14px; }
.orb-btn { font: inherit; cursor: pointer; border: 1px solid var(--o-ac); background: var(--o-ac); color: #fff; padding: 8px 14px; border-radius: 9px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.orb-btn.sec { background: var(--o-card); color: var(--o-ac); }
.orb-btn.ghost { background: transparent; border-color: var(--o-borda); color: var(--o-txt); }
.orb-btn.perigo { background: var(--o-err); border-color: var(--o-err); }
.orb-btn.sm { padding: 5px 10px; font-size: 13px; }
.orb-btn:disabled { opacity: .55; cursor: wait; }
.orb-btn:focus-visible { outline: 2px solid var(--o-ac); outline-offset: 2px; }
.orb-upload { position: relative; overflow: hidden; } .orb-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.orb-card { background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; min-width: 0; }
.orb-card h3 { margin: 0 0 8px; font-size: 15px; display: flex; align-items: center; gap: 8px; } .orb-card h4 { margin: 12px 0 6px; font-size: 13px; }
.orb-linha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.orb-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.orb-grade > .orb-card { margin: 0; }
.orb-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-bottom: 14px; }
.orb-kpi { background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; }
.orb-kpi b { font-size: 24px; } .orb-kpi span { color: var(--o-mudo); font-size: 12px; }
.orb-kpi.ok b { color: var(--o-ok); } .orb-kpi.warn b { color: var(--o-warn); } .orb-kpi.err b { color: var(--o-err); } .orb-kpi.blue b { color: var(--o-blue); }
.orb-kpi.ok, .orb-kpi.warn, .orb-kpi.err, .orb-kpi.blue { background: var(--o-card); }
.orb-mudo { color: var(--o-mudo); } .orb-grande { font-size: 26px; font-weight: 700; margin: 4px 0; }
.orb-erro { color: var(--o-err); display: block; } .orb-aviso { color: var(--o-warn); font-size: 13px; margin: 4px 0; }
.orb-lista { list-style: none; padding: 0; margin: 0; } .orb-lista li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; padding: 7px 0; border-bottom: 1px solid var(--o-borda); }
.orb-lista li:last-child { border-bottom: 0; } .orb-lista small { width: 100%; color: var(--o-mudo); }
.orb a { color: var(--o-ac); } .orb-ext { font-size: 12px; word-break: break-all; }
.orb-alerta { border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; background: var(--o-lav-bg); }
.orb-alerta.info { background: var(--o-blue-bg); color: var(--o-txt); } .orb-alerta.ok { background: var(--o-ok-bg); } .orb-alerta.warn { background: var(--o-warn-bg); } .orb-alerta.err { background: var(--o-err-bg); }
.orb-vazio { text-align: center; padding: 40px 16px; background: var(--o-card); border: 1px dashed var(--o-borda); border-radius: 14px; }
.orb-vazio .ic { font-size: 30px; color: var(--o-ac); } .orb-vazio p { color: var(--o-mudo); max-width: 520px; margin: 6px auto 14px; }
.orb-carregando { padding: 30px; text-align: center; color: var(--o-mudo); }
.orb-bolinha { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.orb-blogs { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.orb-blog { border: 1px solid var(--o-borda); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; }
.orb-blog > div:first-child { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.orb-blog .orb-chips { margin-left: 0; }
.orb-form { display: flex; flex-direction: column; gap: 10px; }
.orb-campo { display: flex; flex-direction: column; gap: 4px; } .orb-campo > span { font-size: 12px; font-weight: 600; color: var(--o-mudo); }
.orb-campo small { color: var(--o-mudo); font-size: 11.5px; }
.orb-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .orb-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.orb-checks { display: flex; flex-direction: column; gap: 6px; justify-content: center; } .orb-checks.col { max-height: 50vh; overflow: auto; }
.orb-checks label, .orb-check { display: flex; gap: 6px; align-items: flex-start; font-size: 13px; }
.orb-fs { border: 1px solid var(--o-borda); border-radius: 10px; padding: 10px 12px; } .orb-fs legend { font-weight: 600; padding: 0 6px; } .orb-fs small { color: var(--o-mudo); }
.orb-inline { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .orb-inline > input, .orb-inline > select { flex: 1 1 140px; }
.orb-cores { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.orb-cor { position: relative; border: 1px solid var(--o-borda); border-radius: 10px; padding: 8px; display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.orb-cor > span { height: 34px; border-radius: 6px; border: 1px solid var(--o-borda); } .orb-cor small { color: var(--o-mudo); }
.orb-x { all: unset; cursor: pointer; color: var(--o-mudo); font-size: 18px; line-height: 1; padding: 0 4px; margin-left: auto; }
.orb-cor .orb-x { position: absolute; top: 4px; right: 4px; } .orb-x:hover { color: var(--o-err); }
.orb-logos, .orb-refs, .orb-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 8px; }
.orb-logos figure, .orb-refs figure, .orb-fotos figure { margin: 0; border: 1px solid var(--o-borda); border-radius: 10px; overflow: hidden; background: var(--o-bg); }
.orb-logos img, .orb-refs img, .orb-fotos img { width: 100%; height: 130px; object-fit: contain; display: block; background: repeating-conic-gradient(var(--o-lav-bg) 0% 25%, transparent 0% 50%) 50% / 16px 16px; }
.orb-refs figure.evitar { border-color: var(--o-err); } .orb-fotos figure.vigente { border-color: var(--o-ok); border-width: 2px; }
.orb-logos figcaption, .orb-refs figcaption, .orb-fotos figcaption { padding: 6px 8px; font-size: 12px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.orb-bb { border-top: 1px solid var(--o-borda); padding: 8px 0; } .orb-proposta { margin-top: 8px; padding: 10px; background: var(--o-bg); border-radius: 10px; }
.orb-item { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 13px; } .orb-item.mudo { opacity: .55; }
.orb-amostra { width: 16px; height: 16px; border-radius: 4px; border: 1px solid var(--o-borda); display: inline-block; }
.orb-prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; } .orb-prod { margin: 0; }
.orb-sub { font-size: 14px; color: var(--o-mudo); margin: 14px 0 8px; }
.orb-pauta { background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.orb-pauta p { margin: 4px 0; } .orb-pal { display: flex; flex-wrap: wrap; gap: 4px; } .orb-pal span { background: var(--o-ac2); border-radius: 6px; padding: 1px 7px; font-size: 12px; }
.orb-perg { margin: 4px 0 4px 18px; padding: 0; font-size: 13px; color: var(--o-mudo); }
.orb-tabela { overflow-x: auto; border: 1px solid var(--o-borda); border-radius: 10px; background: var(--o-card); }
.orb-tabela table { width: 100%; border-collapse: collapse; font-size: 13px; } .orb-tabela th, .orb-tabela td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--o-borda); vertical-align: top; }
.orb-tabela th { font-size: 12px; color: var(--o-mudo); font-weight: 600; } .orb-tabela tbody tr[onclick] { cursor: pointer; } .orb-tabela tbody tr[onclick]:hover { background: var(--o-ac2); }
.orb-tabela td b { display: inline; } .orb-tabela td small { display: block; }
.orb-mini { width: 48px; height: 30px; object-fit: cover; border-radius: 4px; vertical-align: middle; margin-right: 8px; display: inline-block; background: var(--o-lav-bg); }
.orb .sobe { color: var(--o-ok); } .orb .desce { color: var(--o-err); }
.orb-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; } .orb-filtros > * { flex: 0 1 200px; }
.orb-art-topo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.orb-art { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 12px; align-items: start; }
.orb-leitura { padding: 0 0 14px; overflow: hidden; }
.orb-capa { margin: 0 0 12px; } .orb-capa img { width: 100%; display: block; } .orb-capa figcaption { font-size: 12px; color: var(--o-mudo); padding: 4px 16px; }
.orb-capa.vazia { padding: 40px; text-align: center; color: var(--o-mudo); background: var(--o-lav-bg); }
.orb-h1-previa { font-size: 26px; margin: 4px 16px 8px; line-height: 1.25; }
.orb-texto { padding: 0 16px; font-size: 15px; line-height: 1.7; max-width: 72ch; }
.orb-texto h2 { font-size: 20px; margin: 22px 0 8px; } .orb-texto h3 { font-size: 17px; margin: 16px 0 6px; } .orb-texto img { max-width: 100%; }
.orb-texto blockquote { border-left: 3px solid var(--o-ac); margin: 10px 0; padding: 4px 12px; color: var(--o-mudo); }
.orb-lado .orb-card p { margin: 4px 0; font-size: 13px; } .orb-lado code, .orb code { font-size: 12px; background: var(--o-lav-bg); padding: 1px 5px; border-radius: 5px; word-break: break-all; }
.orb-verif { list-style: none; padding: 0; margin: 0; font-size: 13px; } .orb-verif li { padding: 4px 0; border-bottom: 1px solid var(--o-borda); }
.orb-hist { list-style: none; padding: 0; margin: 0; max-height: 360px; overflow: auto; font-size: 13px; }
.orb-hist li { padding: 5px 0 5px 10px; border-left: 2px solid var(--o-ok); margin-bottom: 4px; } .orb-hist li.ruim { border-left-color: var(--o-err); }
.orb-hist small { display: block; color: var(--o-mudo); font-size: 11px; }
.orb-checklist { list-style: none; padding: 0; margin: 8px 0; font-size: 13px; } .orb-checklist li { padding: 4px 0; }
.orb-checklist li.ok b { color: var(--o-ok); } .orb-checklist li.ruim b { color: var(--o-err); } .orb-checklist li.aviso b { color: var(--o-warn); }
.orb-checklist small { color: var(--o-mudo); }
.orb-tutorial { margin: 8px 0 12px 20px; padding: 0; } .orb-tutorial li { margin: 4px 0; }
.orb-det { margin-top: 10px; } .orb-det summary { cursor: pointer; color: var(--o-ac); font-weight: 600; } .orb-det ol { margin: 8px 0 0 20px; padding: 0; }
.orb-cal { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.orb-dia { background: var(--o-card); border: 1px solid var(--o-borda); border-radius: 12px; padding: 10px; } .orb-dia h3 { margin: 0 0 8px; font-size: 14px; }
.orb-evento { all: unset; cursor: pointer; display: grid; grid-template-columns: 46px 1fr; gap: 2px 8px; padding: 8px; border-radius: 8px; border: 1px solid var(--o-borda); margin-bottom: 6px; width: 100%; box-sizing: border-box; }
.orb-evento:hover, .orb-evento:focus-visible { background: var(--o-ac2); } .orb-evento > span { font-weight: 700; color: var(--o-ac); }
.orb-evento .orb-tag, .orb-evento small { grid-column: 2; justify-self: start; } .orb-evento small { color: var(--o-mudo); }
.orb-codigo { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; }
.orb-modal .box { max-height: 92vh; overflow: auto; } .orb-modal h3 { display: flex; align-items: center; gap: 8px; }
.orb-modal-body { padding-top: 4px; } .orb-modal .orb-x { font-size: 24px; }
details.orb-card summary { cursor: pointer; font-weight: 600; }
@media (max-width: 900px) {
  .orb-shell { grid-template-columns: 1fr; padding: 8px; gap: 10px; }
  .orb-nav { flex-direction: row; overflow-x: auto; position: static; gap: 4px; padding-bottom: 4px; scrollbar-width: thin; }
  .orb-brand { display: none; } .orb-nav button { white-space: nowrap; padding: 7px 10px; font-size: 13px; }
  .orb-art { grid-template-columns: 1fr; }
  .orb-ctx { position: static; } .orb-chips { margin-left: 0; }
}
@media (max-width: 600px) {
  .orb-2, .orb-3 { grid-template-columns: 1fr; } .orb-ctx label { flex: 1 1 100%; } .orb-sep { display: none; }
  .orb-grade { grid-template-columns: 1fr; } .orb-h1-previa { font-size: 21px; }
}
