/* CRM TRIVALENT · manual de marca v2: Preto, Branco Gelo, Roxo, Roxo Profundo, Lilás, Lavanda · Inter */
:root {
  --preto: #0A0A0F; --gelo: #F6F5FA; --roxo: #7C3AED; --roxo-p: #4C1D95; --lilas: #A78BFA; --lavanda: #ECE9F4;
  --bg: #F6F5FA; --sup: #FFFFFF; --sup-2: #FAF9FC; --linha: #E6E3EF; --linha-2: #D6D1E3;
  --tx: #0A0A0F; --tx-2: #45434F; --tx-3: #76738A;
  --ok: #11734A; --ok-bg: #E3F3EA; --al: #9A5200; --al-bg: #FCEFDD; --er: #B0222B; --er-bg: #FBE7E8;
  --r: 14px; --r-s: 10px;
  --sombra: 0 1px 2px rgba(10, 10, 15, .04), 0 6px 20px rgba(10, 10, 15, .04);
  --sombra-alta: 0 24px 60px rgba(10, 10, 15, .22);
  --fonte: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --lateral: 248px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--fonte); font-optical-sizing: auto; font-size: 14.5px; line-height: 1.5; color: var(--tx); background: var(--bg); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { margin: 0; line-height: 1.15; letter-spacing: -.015em; font-weight: 650; }
p { margin: 0 0 .6em; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; }
code { font-size: .9em; background: var(--lavanda); padding: 1px 5px; border-radius: 5px; }
:focus-visible { outline: 2px solid var(--roxo); outline-offset: 2px; }
[hidden] { display: none !important; }

.ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ic--s { width: 14px; height: 14px; }
.mudo { color: var(--tx-3); }
.atrasado { color: var(--er) !important; font-weight: 600; }
.alerta { color: var(--al); font-weight: 600; }
.ok { color: var(--ok); font-weight: 600; }
.flex1 { flex: 1; }
.pre { white-space: pre-line; }
.lede { font-size: 15.5px; color: var(--tx-2); max-width: 70ch; }
.sobrelinha { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--roxo); margin: 0 0 8px; }
.mini-rot { font-size: 11px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-3); margin: 10px 0 6px; }
.nada { padding: 40px; text-align: center; color: var(--tx-3); }

/* símbolo */
.simbolo { display: block; width: 40px; height: auto; flex: none; }
.simbolo--xs { width: 26px; }
.simbolo--l { width: 92px; }
.simbolo--pulsa path { animation: pulsa 1.8s ease-in-out infinite; transform-origin: 220px 236px; }
.simbolo--pulsa path:nth-child(2) { animation-delay: .3s; }
.simbolo--pulsa path:nth-child(3) { animation-delay: .6s; }
@keyframes pulsa { 0%, 100% { fill-opacity: 1; transform: scale(1); } 50% { fill-opacity: .25; transform: scale(.94); } }
@media (prefers-reduced-motion: reduce) { .simbolo--pulsa path { animation: none; } }
.marca-tv { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .3em; font-size: 13px; color: var(--gelo); }
.marca-tv .simbolo { width: 28px; }
.marca-tv--escura { color: var(--preto); }

/* botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 0 14px; border-radius: var(--r-s); border: 1px solid var(--linha-2); background: var(--sup); color: var(--tx); font-weight: 560; font-size: 14px; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s, transform .1s; }
.btn:hover { border-color: var(--tx-3); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .55; cursor: progress; }
.btn--roxo { background: var(--roxo); border-color: var(--roxo); color: #fff; }
.btn--roxo:hover { background: #6D28D9; border-color: #6D28D9; }
.btn--s { min-height: 32px; padding: 0 10px; font-size: 13px; border-radius: 8px; }
.btn--l { min-height: 46px; font-size: 15px; width: 100%; }
.btn--perigo { background: var(--er); border-color: var(--er); color: #fff; }
.btn--perigo-txt { border-color: transparent; background: none; color: var(--er); padding-left: 4px; }
.btn--perigo-txt:hover { border-color: var(--er-bg); background: var(--er-bg); }
.btn--gelo { background: var(--gelo); border-color: var(--gelo); color: var(--preto); }
.btn--ghost-claro { background: transparent; border-color: rgba(246, 245, 250, .28); color: var(--gelo); }
.btn--ghost-claro:hover { border-color: var(--gelo); }
.btn-ic { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; border: 0; background: none; color: inherit; cursor: pointer; }
.btn-ic:hover { background: rgba(124, 58, 237, .1); }
.link { background: none; border: 0; padding: 0; color: var(--roxo-p); cursor: pointer; text-decoration: none; text-align: left; }
.link:hover { text-decoration: underline; }

/* chips e tags */
.chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 99px; font-size: 12px; font-weight: 600; background: var(--lavanda); color: var(--roxo-p); white-space: nowrap; }
.chip--s { font-size: 11px; padding: 1px 7px; }
.chip--alvo { background: #EFEDF4; color: var(--tx-2); }
.chip--lead { background: #EDE4FD; color: #5B21B6; }
.chip--cliente { background: var(--roxo-p); color: #fff; }
.chip--inativo { background: #F1F0F3; color: var(--tx-3); }
.chip--etapa-ganho, .chip--prop-aceita, .chip--rit-entregue { background: var(--ok-bg); color: var(--ok); }
.chip--etapa-perdido, .chip--prop-recusada { background: var(--er-bg); color: var(--er); }
.chip--prop-enviada, .chip--rit-confirmado { background: #EDE4FD; color: #5B21B6; }
.chip--prop-rascunho, .chip--rit-ideia { background: #F1F0F3; color: var(--tx-2); }
.chip--rit-proposto { background: var(--al-bg); color: var(--al); }
.tag { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: 6px; font-size: 11.5px; font-weight: 560; background: #F1F0F5; color: var(--tx-2); text-decoration: none; white-space: nowrap; }
a.tag:hover { background: var(--lavanda); }
.tag--ok { background: var(--ok-bg); color: var(--ok); }
.tag--alerta { background: var(--al-bg); color: var(--al); }
.tag--nao { background: #F4F3F6; color: var(--tx-3); }
.tag--8bit { background: var(--preto); color: #fff; letter-spacing: .04em; }

/* formulários */
.form { display: grid; gap: 14px; }
.campo { display: grid; gap: 5px; min-width: 0; }
.campo > span { font-size: 12.5px; font-weight: 600; color: var(--tx-2); }
.campo input, .campo select, .campo textarea, .filtros select, .filtros input, select, textarea.msg-pronta, .tabela--itens input, .tabela--itens select { width: 100%; min-height: 38px; padding: 8px 11px; border: 1px solid var(--linha-2); border-radius: 9px; background: var(--sup); font-size: 14px; }
textarea { resize: vertical; line-height: 1.5; }
.campo input:focus, .campo select:focus, .campo textarea:focus, select:focus, textarea:focus { outline: none; border-color: var(--roxo); box-shadow: 0 0 0 3px rgba(124, 58, 237, .14); }
.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.grade-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 14px; }
.grade-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 14px; }
.span-2 { grid-column: span 2; }
.form-acoes { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.check { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.check input { width: 16px; height: 16px; accent-color: var(--roxo); }
.check--campo { align-self: end; min-height: 38px; }
.chips-campo { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.chips-campo legend { font-size: 12.5px; font-weight: 600; color: var(--tx-2); margin-bottom: 6px; padding: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.chip-check { position: relative; cursor: pointer; }
.chip-check input { position: absolute; opacity: 0; pointer-events: none; }
.chip-check span { display: inline-block; padding: 6px 12px; border: 1px solid var(--linha-2); border-radius: 99px; font-size: 13px; background: var(--sup); transition: all .12s; }
.chip-check input:checked + span { background: var(--roxo-p); border-color: var(--roxo-p); color: #fff; }
.chip-check input:focus-visible + span { outline: 2px solid var(--roxo); outline-offset: 2px; }
.pergunta { font-weight: 600; margin: 4px 0 8px; }
.tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; }
.tipo { position: relative; cursor: pointer; }
.tipo input { position: absolute; opacity: 0; }
.tipo span { font-size: 12px; }
.tipo { display: grid; justify-items: center; gap: 4px; padding: 10px 4px; border: 1px solid var(--linha); border-radius: 10px; text-align: center; color: var(--tx-2); }
.tipo:has(input:checked) { border-color: var(--roxo); background: #F5F0FF; color: var(--roxo-p); }
.seg { display: inline-flex; background: #EEECF4; border-radius: 10px; padding: 3px; gap: 2px; flex-wrap: wrap; }
.seg button { border: 0; background: none; padding: 6px 11px; border-radius: 8px; font-size: 13px; font-weight: 560; color: var(--tx-2); cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--sup); color: var(--tx); box-shadow: 0 1px 3px rgba(10, 10, 15, .1); }
.seg button:disabled { opacity: .35; cursor: not-allowed; }
.slider { display: grid; grid-template-columns: 1fr 140px 24px; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 13.5px; }
.slider input { accent-color: var(--roxo); }
.slider b { font-size: 16px; text-align: right; }

/* login */
.tela-login { background: var(--preto); }
.login { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.login-arte { position: relative; color: var(--gelo); padding: 56px 64px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; overflow: hidden; background: radial-gradient(80% 60% at 30% 30%, rgba(124, 58, 237, .22), transparent 70%); }
.login-simbolo { width: clamp(150px, 30vw, 420px); max-height: 48vh; filter: drop-shadow(0 30px 60px rgba(124, 58, 237, .35)); }
.login-manifesto { position: relative; }
.login-manifesto p { font-size: clamp(22px, 2.4vw, 34px); font-weight: 650; letter-spacing: -.025em; line-height: 1.15; margin: 0 0 4px; }
.login-manifesto p:nth-child(2) { color: var(--lilas); }
.login-assina { position: relative; margin-top: 22px; color: #A8A4B8; font-size: 14px; letter-spacing: .02em; }
.login-form { background: var(--gelo); display: grid; place-items: center; padding: 40px 24px; }
.login-form form { width: min(360px, 100%); display: grid; gap: 14px; }
.login-form h1 { font-size: 40px; letter-spacing: -.035em; margin-top: 26px; }
.login-erro { color: var(--er); min-height: 1.4em; margin: 0; font-size: 13.5px; }

/* casca */
.tela-app { padding-left: var(--lateral); }
.lateral { position: fixed; inset: 0 auto 0 0; width: var(--lateral); background: var(--preto); color: #C9C5D6; display: flex; flex-direction: column; padding: 18px 12px 12px; z-index: 30; overflow-y: auto; }
.lateral-marca { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px 18px; text-decoration: none; }
.lateral-marca small { font-size: 10.5px; font-weight: 700; letter-spacing: .18em; color: var(--lilas); border: 1px solid #2B2838; border-radius: 6px; padding: 2px 6px; }
.lateral-busca { position: relative; margin-bottom: 10px; }
.lateral-busca label { display: flex; align-items: center; gap: 8px; background: #16141F; border: 1px solid #24212F; border-radius: 10px; padding: 0 10px; color: #8D899D; }
.lateral-busca input { flex: 1; min-width: 0; background: none; border: 0; padding: 9px 0; color: var(--gelo); font-size: 13.5px; outline: none; }
.busca-res { position: absolute; left: 0; right: 0; top: calc(100% + 6px); background: var(--sup); color: var(--tx); border-radius: 12px; box-shadow: var(--sombra-alta); list-style: none; margin: 0; padding: 6px; z-index: 40; }
.busca-res a, .busca-res button { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; text-decoration: none; width: 100%; border: 0; background: none; cursor: pointer; font-size: 13.5px; text-align: left; }
.busca-res a:hover, .busca-res a.sel, .busca-res button:hover { background: var(--lavanda); }
.nav-grupo { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #6E6A80; margin: 16px 10px 6px; }
.lateral nav a, .lateral-pe > a { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 9px; text-decoration: none; font-size: 14px; font-weight: 500; color: #C9C5D6; position: relative; }
.lateral nav a:hover, .lateral-pe > a:hover { background: #17151F; color: #fff; }
.lateral nav a[aria-current="page"], .lateral-pe > a[aria-current="page"] { background: #1D1A29; color: #fff; }
.lateral nav a[aria-current="page"] .ic, .lateral-pe > a[aria-current="page"] .ic { color: var(--lilas); }
.lateral nav a em { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 700; background: var(--roxo); color: #fff; border-radius: 99px; padding: 0 7px; line-height: 18px; }
.lateral nav a em:empty { display: none; }
.lateral-pe { margin-top: auto; padding-top: 14px; border-top: 1px solid #1E1C28; display: grid; gap: 6px; }
.eu { display: flex; align-items: center; gap: 10px; padding: 8px 6px 2px; }
.eu div { flex: 1; min-width: 0; }
.eu b { display: block; color: #fff; font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu small { display: block; font-size: 11.5px; color: #8D899D; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eu .btn-ic { color: #8D899D; }
.barra-movel { display: none; }
.conteudo { padding: 28px 36px 80px; max-width: 1480px; outline: none; }

/* cabeçalho de página */
.pg-topo, .painel-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.pg-topo h1, .painel-topo h1 { font-size: 30px; letter-spacing: -.03em; font-weight: 700; }
.h1-sub { font-size: 17px; font-weight: 500; color: var(--tx-3); letter-spacing: -.01em; margin-left: 6px; }
.pg-sub { color: var(--tx-3); margin: 6px 0 0; }
.pg-acoes { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pg-acoes select { width: auto; min-width: 200px; }
.voltar { display: inline-flex; align-items: center; gap: 4px; color: var(--tx-3); text-decoration: none; font-size: 13.5px; margin-bottom: 14px; }
.voltar:hover { color: var(--roxo-p); }

/* cartões */
.card { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 18px 20px; box-shadow: var(--sombra); min-width: 0; }
.card + .card { margin-top: 0; }
.card-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.card-topo h3 { font-size: 15px; display: flex; align-items: center; gap: 8px; }
.card-topo .mudo { font-size: 12.5px; }

/* vazio / erros */
.vazio { text-align: center; padding: 56px 20px; display: grid; justify-items: center; gap: 8px; }
.vazio-simbolo { width: 76px; margin-bottom: 8px; }
.vazio h3 { font-size: 19px; }
.vazio p { color: var(--tx-3); max-width: 46ch; }
.vazio .btn { margin-top: 8px; }
.erro-box { display: flex; align-items: center; gap: 14px; padding: 24px; border-radius: var(--r); background: var(--er-bg); color: var(--er); }
.erro-box p { margin: 0; }
.confirma { font-size: 15px; margin: 4px 0; }

/* toasts */
#toasts { position: fixed; bottom: 20px; right: 20px; display: grid; gap: 8px; z-index: 100; }
.toast { display: flex; align-items: center; gap: 10px; background: var(--preto); color: var(--gelo); padding: 11px 16px; border-radius: 12px; box-shadow: var(--sombra-alta); font-size: 14px; animation: sobe .2s ease-out; max-width: 380px; }
.toast .ic { color: var(--lilas); }
.toast--erro .ic, .toast--alerta .ic { color: #F59E0B; }
.toast.sai { opacity: 0; transform: translateY(6px); transition: all .3s; }
@keyframes sobe { from { opacity: 0; transform: translateY(8px); } }

/* modal */
.modal-fundo { position: fixed; inset: 0; background: rgba(10, 10, 15, .5); backdrop-filter: blur(3px); display: grid; place-items: center; padding: 20px; z-index: 60; opacity: 0; transition: opacity .16s; }
.modal-fundo.entra { opacity: 1; }
.modal-fundo.sai { opacity: 0; }
.modal { background: var(--bg); border-radius: 18px; box-shadow: var(--sombra-alta); width: 100%; max-height: calc(100vh - 40px); display: flex; flex-direction: column; transform: translateY(8px) scale(.99); transition: transform .18s; }
.modal-fundo.entra .modal { transform: none; }
.modal--s { max-width: 440px; }
.modal--m { max-width: 640px; }
.modal--l { max-width: 940px; }
.modal-topo { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 6px 22px; }
.modal-topo h2 { font-size: 18px; }
.modal-corpo { padding: 10px 22px 22px; overflow-y: auto; }
.modal-rodape { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 22px 18px; }

/* filtros e lista de empresas */
.filtros { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.filtros select { width: auto; min-width: 150px; }
.busca { flex: 1 1 260px; display: flex; align-items: center; gap: 8px; background: var(--sup); border: 1px solid var(--linha-2); border-radius: 10px; padding: 0 11px; color: var(--tx-3); }
.busca input { border: 0 !important; padding: 9px 0 !important; min-height: 0 !important; box-shadow: none !important; background: none; flex: 1; outline: none; }
.tabela-emp { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; box-shadow: var(--sombra); }
.linha-emp { display: grid; grid-template-columns: 48px minmax(180px, 1.6fr) 96px minmax(120px, 1fr) 96px 34px 44px minmax(150px, 1.1fr) 32px; align-items: center; gap: 14px; padding: 11px 16px; text-decoration: none; border-top: 1px solid var(--linha); transition: background .12s; }
.linha-emp:first-child { border-top: 0; }
.linha-emp:hover { background: var(--sup-2); }
.le-nome { min-width: 0; }
.le-nome b, .le-nome small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.le-nome b { font-weight: 620; }
.le-nome small, .le-setor { color: var(--tx-3); font-size: 12.5px; }
.le-prox { display: flex; gap: 6px; align-items: flex-start; font-size: 12.5px; color: var(--tx-2); min-width: 0; }
.le-prox span { min-width: 0; }
.le-prox span > small { display: block; color: var(--tx-3); }
.le-prox > .ic { margin-top: 2px; color: var(--tx-3); }
.le-prox span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.logo-tile { display: inline-grid; place-items: center; flex: none; background: #fff; border: 1px solid var(--linha); border-radius: 10px; overflow: hidden; }
.logo-tile img { width: 100%; height: 100%; object-fit: contain; padding: 14%; }
.logo-tile--s { width: 28px; height: 28px; border-radius: 7px; }
.logo-tile--m { width: 44px; height: 44px; }
.logo-tile--xl { width: 96px; height: 96px; border-radius: 18px; }
.logo-tile--escuro { background: #16141F; border-color: #16141F; }
.logo-tile--mono { background: var(--lavanda); color: var(--roxo-p); font-weight: 700; border-color: transparent; font-size: 14px; }
.logo-tile--s.logo-tile--mono { font-size: 10px; }
.logo-tile--xl.logo-tile--mono { font-size: 30px; }
.cult-pontos { display: inline-flex; gap: 3px; }
.cult-pontos i { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; font-style: normal; font-size: 10.5px; font-weight: 700; background: #F1F0F4; color: #B5B1C3; }
.cult-pontos i.tem { background: var(--roxo-p); color: #fff; }
.cult-pontos i.nao { background: #fff; border: 1px dashed #CFCADC; color: #B5B1C3; }
.icp { display: inline-grid; place-items: center; min-width: 34px; height: 26px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.icp--alto { background: var(--roxo); color: #fff; }
.icp--medio { background: #EDE4FD; color: #5B21B6; }
.icp--baixo { background: #F1F0F4; color: var(--tx-3); }
.avatar { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 11px; font-weight: 700; color: #fff; flex: none; background: var(--roxo); }
.avatar--f1 { background: var(--roxo-p); }
.avatar--f2 { background: var(--lilas); color: var(--preto); }
.avatar--c { width: 36px; height: 36px; background: var(--lavanda); color: var(--roxo-p); font-size: 12.5px; }

/* busca na internet */
.modal--busca .modal-corpo { min-height: 320px; }
.buscando { display: grid; justify-items: center; text-align: center; padding: 26px 10px 10px; gap: 10px; }
.buscando .simbolo { width: 92px; }
.buscando h3 { font-size: 19px; }
.passos { list-style: none; padding: 0; margin: 6px 0; display: grid; gap: 6px; text-align: left; min-width: 300px; }
.passos li { display: flex; align-items: center; gap: 10px; color: var(--tx-3); font-size: 14px; }
.passos li::before { content: ''; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--linha-2); flex: none; }
.passos li.agora { color: var(--tx); font-weight: 600; }
.passos li.agora::before { border-color: var(--roxo); background: var(--roxo); box-shadow: 0 0 0 4px rgba(124, 58, 237, .18); }
.passos li.feito { color: var(--tx-2); }
.passos li.feito::before { background: var(--roxo-p); border-color: var(--roxo-p); }
.revisao { display: grid; gap: 12px; }
.rev-bloco { background: var(--sup); border: 1px solid var(--linha); border-radius: 12px; padding: 14px 16px; }
.rev-bloco h3 { font-size: 14px; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.rev-relatorio ul { list-style: none; padding: 0; margin: 0 0 6px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.rev-relatorio li { display: flex; gap: 7px; font-size: 13px; align-items: flex-start; }
.rev-relatorio li.ok .ic { color: var(--ok); }
.rev-relatorio li.nao { color: var(--tx-3); }
.rev-relatorio .ic { width: 15px; height: 15px; margin-top: 2px; }
.rev-alt { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; font-size: 13px; color: var(--tx-3); }
.rev-alt select, .rev-alt input { flex: 1 1 200px; width: auto; min-height: 32px; padding: 5px 9px; border: 1px solid var(--linha-2); border-radius: 8px; }
.rev-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 8px; }
.rev-logo { position: relative; display: grid; gap: 5px; cursor: pointer; }
.rev-logo input[type=radio] { position: absolute; opacity: 0; }
.rev-logo-img { display: grid; place-items: center; height: 84px; border: 2px solid var(--linha); border-radius: 10px; background: #E9E7EF linear-gradient(45deg, #DCD9E4 25%, transparent 25%, transparent 75%, #DCD9E4 75%) 0 0/14px 14px; padding: 10px; color: var(--tx-3); overflow: hidden; }
.rev-logo-img img { max-height: 60px; max-width: 100%; object-fit: contain; }
.rev-logo small { font-size: 11.5px; color: var(--tx-3); line-height: 1.3; }
.rev-logo:has(input:checked) .rev-logo-img { border-color: var(--roxo); box-shadow: 0 0 0 3px rgba(124, 58, 237, .16); }
.rev-cultura { display: grid; gap: 10px; }
.rev-cult-topo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 5px; font-size: 13.5px; cursor: pointer; }
.rev-cult-topo input { accent-color: var(--roxo); width: 16px; height: 16px; }
.rev-cult-topo a { font-size: 12px; margin-left: auto; text-decoration: none; }
.rev-cult textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--linha-2); border-radius: 9px; font-size: 13.5px; background: var(--sup-2); }
.rev-cult--vazio textarea { background: #fff; }
.ficha { display: grid; gap: 8px; margin: 0; }
.ficha > div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; font-size: 13.5px; }
.ficha dt { color: var(--tx-3); }
.ficha dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.ficha--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin-bottom: 10px; }
.ficha--2 > div { grid-template-columns: 90px 1fr; }
.redes { display: flex; gap: 5px; flex-wrap: wrap; }

/* ficha da empresa */
.emp-topo { display: grid; grid-template-columns: 1fr auto; gap: 18px 24px; align-items: start; margin-bottom: 18px; }
.emp-id { display: flex; gap: 20px; align-items: center; min-width: 0; }
.emp-id h1 { font-size: 32px; letter-spacing: -.035em; font-weight: 720; }
.emp-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 10px; color: var(--tx-3); font-size: 13.5px; align-items: center; }
.emp-meta a { display: inline-flex; align-items: center; gap: 4px; color: var(--roxo-p); text-decoration: none; font-weight: 560; }
.emp-status { display: flex; gap: 10px; align-items: center; }
.emp-status select { width: auto; min-height: 32px; padding: 4px 30px 4px 10px; font-size: 13px; font-weight: 600; }
.paleta-mini { display: inline-flex; border-radius: 7px; overflow: hidden; border: 1px solid var(--linha); }
.paleta-mini i { width: 20px; height: 22px; }
.emp-indices { display: flex; gap: 18px; align-items: center; background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 12px 18px; }
.emp-triade { display: flex; gap: 12px; align-items: center; }
.emp-triade .simbolo { width: 64px; }
.emp-triade ul { list-style: none; padding: 0; margin: 0; font-size: 12px; color: var(--tx-3); display: grid; gap: 1px; }
.emp-triade b { display: inline-block; width: 16px; color: var(--tx); font-size: 13px; }
.emp-icp { display: flex; align-items: center; gap: 10px; padding-left: 18px; border-left: 1px solid var(--linha); }
.emp-icp small { font-size: 11.5px; color: var(--tx-3); line-height: 1.3; }
.anel { --p: 0; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--roxo) calc(var(--p) * 1%), var(--lavanda) 0); }
.anel b { width: 44px; height: 44px; border-radius: 50%; background: var(--sup); display: grid; place-items: center; font-size: 16px; }
.emp-acoes { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.abas { display: flex; gap: 2px; border-bottom: 1px solid var(--linha); margin-bottom: 18px; overflow-x: auto; scrollbar-width: none; }
.abas a { padding: 10px 14px; text-decoration: none; color: var(--tx-3); font-weight: 560; font-size: 14px; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.abas a:hover { color: var(--tx); }
.abas a[aria-selected="true"] { color: var(--tx); border-bottom-color: var(--roxo); }
.abas small { font-size: 11px; background: var(--lavanda); color: var(--roxo-p); border-radius: 99px; padding: 0 6px; margin-left: 3px; font-weight: 700; }
.grade-ficha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grade-ficha > .card--leitura { grid-row: span 2; }
.card--leitura { background: var(--preto); color: var(--gelo); border-color: var(--preto); position: relative; overflow: hidden; }
.card--leitura::after { content: ''; position: absolute; width: 280px; height: 280px; right: -90px; top: -90px; background: radial-gradient(circle, rgba(124, 58, 237, .45), transparent 65%); pointer-events: none; }
.card--leitura .sobrelinha { color: var(--lilas); }
.card--leitura h2 { font-size: 24px; letter-spacing: -.025em; margin-bottom: 10px; max-width: 22ch; }
.card--leitura p { color: #CFCBDB; }
.card--leitura blockquote { margin: 16px 0; padding: 14px 16px; border-radius: 12px; background: #16141F; border: 1px solid #24212F; font-size: 15px; line-height: 1.5; color: #fff; }
.card--leitura blockquote span { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lilas); margin-bottom: 6px; }
.leitura-op { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-top: 1px solid #24212F; }
.leitura-op .ic { color: var(--lilas); margin-top: 2px; }
.leitura-op b { color: #fff; }
.leitura-pecas { list-style: none; padding: 0; margin: 4px 0 14px; display: grid; gap: 6px; }
.leitura-pecas li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: #CFCBDB; }
.leitura-pecas .ic { color: var(--lilas); margin-top: 1px; }
.leitura-pecas b { color: #fff; font-weight: 600; }
.leitura-acoes { display: flex; gap: 8px; flex-wrap: wrap; position: relative; z-index: 1; margin-top: 8px; }
.card--leitura-h { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; align-items: center; margin: 16px 0; }
.problema { position: relative; z-index: 1; background: #16141F; border: 1px solid #2B2838; border-radius: 12px; padding: 14px 16px; display: grid; gap: 4px; }
.problema span { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--lilas); font-weight: 700; }
.problema b { font-size: 17px; color: #fff; }
.problema small { color: #CFCBDB; font-size: 13px; }
.lista-ativ { list-style: none; padding: 0; margin: 0; display: grid; }
.ativ { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-top: 1px solid var(--linha); }
.ativ:first-child { border-top: 0; }
.ativ-check { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--linha-2); background: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; margin-top: 2px; flex: none; color: #fff; }
.ativ-check:hover { border-color: var(--roxo); }
.ativ--feita .ativ-check { background: var(--roxo-p); border-color: var(--roxo-p); }
.ativ-check .ic { width: 13px; height: 13px; stroke-width: 2.6; }
.ativ-corpo { flex: 1; min-width: 0; border: 0; background: none; padding: 0; text-align: left; cursor: pointer; display: grid; gap: 2px; }
.ativ-tit { display: flex; align-items: center; gap: 6px; font-weight: 560; font-size: 14px; }
.ativ-tit .ic { color: var(--tx-3); }
.ativ-corpo small { font-size: 12.5px; color: var(--tx-3); }
.ativ--feita .ativ-tit { color: var(--tx-3); text-decoration: line-through; text-decoration-color: var(--linha-2); }
.atalhos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.comite { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 6px; }
.comite li { display: flex; align-items: baseline; gap: 10px; font-size: 13.5px; padding: 8px 10px; border-radius: 9px; background: var(--sup-2); border: 1px dashed var(--linha-2); }
.comite li.ok { border-style: solid; border-color: var(--linha); }
.comite-n { flex: 1; min-width: 0; }
.comite-p { width: 128px; flex: none; font-weight: 600; font-size: 12.5px; color: var(--tx-2); }
.comite li.ok .comite-p::before { content: '●'; color: var(--roxo); margin-right: 6px; }
.escada { list-style: none; padding: 0; margin: 0 0 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; align-items: end; }
.escada li { display: grid; gap: 6px; padding: 10px; border-radius: 10px; background: var(--sup-2); border: 1px solid var(--linha); font-size: 12.5px; }
.escada li:nth-child(1) { min-height: 86px; } .escada li:nth-child(2) { min-height: 104px; } .escada li:nth-child(3) { min-height: 122px; } .escada li:nth-child(4) { min-height: 140px; }
.escada b { font-size: 17px; }
.escada small { display: block; color: var(--tx-3); font-size: 11.5px; }
.escada li.feito { background: var(--roxo-p); border-color: var(--roxo-p); color: #fff; }
.escada li.feito small { color: #CFC6F0; }
.escada li.prox { border: 1.5px dashed var(--roxo); }
.escada--dist b { font-size: 24px; }
.opo-resumo { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--tx-2); margin: 0; }
.motivos { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; font-size: 13.5px; }
.motivos b { display: inline-block; width: 38px; color: var(--roxo-p); }
.alerta-suave { display: flex; gap: 10px; align-items: center; background: #F5F0FF; border: 1px solid #E2D6FB; color: var(--roxo-p); border-radius: 12px; padding: 10px 14px; margin: 12px 0; font-size: 13.5px; }
.alerta-suave span { flex: 1; }
.alerta-suave .ic { flex: none; }

/* cultura */
.cult-topo, .rit-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.cult-topo p { margin: 0; }
.rit-topo .lede { margin: 0; }
.cult-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cult-card { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 16px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--sombra); min-width: 0; }
.cult-card header { display: flex; justify-content: space-between; align-items: center; gap: 6px; flex-wrap: wrap; }
.cult-card h3 { font-size: 16px; }
.cult-card p { font-size: 14px; line-height: 1.55; margin: 0; }
.cult-card--vazio { background: var(--sup-2); border-style: dashed; box-shadow: none; }
.valores { margin: 0; padding-left: 18px; display: grid; gap: 3px; font-size: 13.5px; }
.valores li::marker { color: var(--roxo); }
.fonte { margin-top: auto; display: inline-flex; gap: 5px; align-items: center; font-size: 12px; color: var(--tx-3); text-decoration: none; }
.fonte:hover { color: var(--roxo-p); }
.pecas-valor { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.peca-valor { border: 1px solid var(--linha); border-radius: 12px; padding: 14px; display: grid; gap: 6px; align-content: start; background: var(--sup-2); }
.peca-valor h4 { font-size: 15px; }
.peca-valor p { font-size: 13px; color: var(--tx-2); margin: 0; }
.peca-valor small { color: var(--tx-3); font-size: 12px; }
.peca-valor .btn { justify-self: start; margin-top: 4px; }
.pv-valor { font-size: 12px !important; color: var(--roxo-p) !important; }
.identidade { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: start; }
.ident-logo { display: flex; gap: 14px; align-items: center; }
.ident-logo > div { display: grid; gap: 6px; justify-items: start; }
.ident-logo p { margin: 0; font-size: 12.5px; }
.swatches { display: flex; flex-wrap: wrap; gap: 6px; }
.swatch { position: relative; width: 30px; height: 30px; border-radius: 9px; border: 1px solid rgba(10, 10, 15, .12); background: var(--c); cursor: pointer; padding: 0; display: grid; place-items: center; color: var(--tx-3); }
.swatch[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--roxo); }
.swatch input[type=color] { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.swatch--livre { background: #fff; border-style: dashed; }
.swatches--edit .swatch { width: 44px; height: 44px; border-radius: 11px; }
.grade-rel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grade-rel .span-2 { grid-column: 1 / -1; }
.contatos { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.contatos li { display: flex; gap: 12px; align-items: flex-start; }
.contatos small { display: block; color: var(--tx-3); font-size: 12.5px; }
.contato-links { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 0; font-size: 12.5px; }
.contato-links a { display: inline-flex; gap: 4px; align-items: center; color: var(--tx-2); text-decoration: none; }
.contato-links a:hover { color: var(--roxo-p); }
textarea.msg-pronta { font-size: 13.5px; background: var(--sup-2); margin: 8px 0 10px; }
.tabela { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tabela th { text-align: left; font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); padding: 8px 10px; border-bottom: 1px solid var(--linha); }
.tabela td { padding: 10px; border-bottom: 1px solid var(--linha); vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tabela .sub { display: block; color: var(--tx-3); font-size: 12px; }
.tabela--cards { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; box-shadow: var(--sombra); }
.tabela--cards tbody tr { cursor: pointer; }
.tabela--cards tbody tr:hover { background: var(--sup-2); }
.tabela--cards a { text-decoration: none; color: var(--roxo-p); }
.cel-emp { display: inline-flex; align-items: center; gap: 8px; }
.lista-simples { list-style: none; margin: 0; padding: 0; }
.lista-simples li { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 9px 0; border-top: 1px solid var(--linha); font-size: 13.5px; }
.lista-simples li:first-child { border-top: 0; }
.lista-simples a { text-decoration: none; color: var(--roxo-p); }
.lista-simples .num { margin-left: auto; font-weight: 600; }
.rituais { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.ritual { display: flex; gap: 14px; align-items: center; background: var(--sup); border: 1px solid var(--linha); border-radius: 12px; padding: 12px 16px; }
.rit-data { display: grid; justify-items: center; width: 62px; flex: none; font-size: 11.5px; color: var(--tx-3); text-transform: uppercase; letter-spacing: .04em; }
.rit-data b { font-size: 22px; color: var(--tx); letter-spacing: -.02em; }
.rit-corpo { flex: 1; min-width: 0; border: 0; background: none; text-align: left; cursor: pointer; display: grid; gap: 2px; padding: 0; }
.rit-corpo small { color: var(--tx-3); font-size: 12.5px; }
.rit-corpo span { font-size: 13px; color: var(--tx-2); }
.ritual--entregue { opacity: .7; }

/* diagnóstico */
.diag { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
.diag-guia { position: sticky; top: 20px; background: var(--preto); color: var(--gelo); border-radius: var(--r); padding: 20px; }
.diag-guia .sobrelinha { color: var(--lilas); }
.diag-guia h2 { font-size: 22px; margin-bottom: 8px; }
.diag-guia > p { color: #CFCBDB; font-size: 13.5px; }
.diag-passos { padding-left: 18px; color: #CFCBDB; font-size: 13px; margin: 0 0 14px; }
.diag-mapa { background: #16141F; border: 1px solid #24212F; border-radius: 12px; padding: 14px; }
.diag-mapa h3 { font-size: 14px; margin-bottom: 6px; }
.diag-mapa .mini-rot { color: #8D899D; }
.diag-mapa ul { margin: 0; padding-left: 16px; font-size: 13.5px; }
.diag-mapa p { font-size: 13.5px; margin: 0; }
.diag-mapa small { color: #8D899D; }
.mapa-prob { display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid #24212F; color: #CFCBDB; font-size: 12.5px !important; }
.mapa-prob b { color: var(--lilas); font-size: 14px; }
.diag-form { display: grid; gap: 14px; }
.diag-form .card h3 { font-size: 16px; display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.diag-form .card h3 span { width: 26px; height: 26px; border-radius: 8px; background: var(--lavanda); color: var(--roxo-p); display: grid; place-items: center; font-size: 13px; }
.diag-form .campo { margin-bottom: 10px; }
.triade-edit { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; margin-bottom: 10px; }
.triade-edit .simbolo { width: 110px; }
.form-acoes--fixas { position: sticky; bottom: 0; background: linear-gradient(transparent, var(--bg) 30%); padding: 18px 0 6px; }

/* estúdio vestível */
.estudio { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); gap: 18px; align-items: start; }
.estudio-palco { position: relative; background: radial-gradient(120% 90% at 50% 20%, #fff 0%, #EFEDF6 70%); border: 1px solid var(--linha); border-radius: 20px; padding: 24px; display: grid; justify-items: center; min-height: 480px; }
.estudio-peca { width: min(100%, 470px); }
.estudio-peca .peca-svg { width: 100%; height: auto; display: block; }
.estudio-legenda { font-size: 13px; color: var(--tx-2); text-align: center; margin: 8px 0 0; }
.estudio-aviso { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--linha); border-radius: 12px; padding: 10px 12px; font-size: 13px; color: var(--tx-2); z-index: 2; }
.estudio-aviso p { margin: 0; }
.estudio-painel { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 18px; display: grid; gap: 16px; box-shadow: var(--sombra); }
.estudio-grupo h4 { font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-3); margin-bottom: 8px; }
.estudio-grupo .mini-rot { margin: 6px 0 5px; font-size: 10.5px; }
.estudio-minis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.mini { border: 1px solid var(--linha); background: var(--sup-2); border-radius: 10px; padding: 4px 2px 5px; cursor: pointer; display: grid; justify-items: center; gap: 1px; }
.mini span { width: 100%; }
.mini svg { width: 100%; height: auto; display: block; }
.mini small { font-size: 10.5px; color: var(--tx-3); }
.mini[aria-pressed="true"] { border-color: var(--roxo); background: #F5F0FF; }
.estudio-duplo { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: end; }
.estudio-duplo input[type=range] { width: 100%; accent-color: var(--roxo); }
.estudio-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.estudio-nota { font-size: 12px; color: var(--tx-3); margin: 0; }

/* comercial */
.faixa-metas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 14px 18px; margin-bottom: 14px; box-shadow: var(--sombra); }
.meta { display: grid; gap: 5px; margin-bottom: 10px; }
.faixa-metas .meta { margin: 0; }
.meta-rot { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--tx-2); }
.meta-rot b { color: var(--tx); font-variant-numeric: tabular-nums; }
.meta-rot small { color: var(--tx-3); font-weight: 500; }
.meta-barra { height: 7px; border-radius: 99px; background: var(--lavanda); overflow: hidden; }
.meta-barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--roxo-p), var(--roxo)); border-radius: inherit; transition: width .4s; }
.dica-dnd { font-size: 12.5px; }
.kanban { display: grid; grid-template-columns: repeat(var(--cols), minmax(232px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 12px; align-items: start; }
.col { background: #EEECF4; border-radius: var(--r); padding: 10px; min-height: 240px; display: flex; flex-direction: column; gap: 8px; transition: background .15s, box-shadow .15s; }
.col.sobre { background: #E4DDF7; box-shadow: inset 0 0 0 2px var(--roxo); }
.col header { display: flex; align-items: baseline; gap: 6px; padding: 2px 4px 0; flex-wrap: wrap; }
.col header h3 { font-size: 13.5px; }
.col header span { font-size: 12px; font-weight: 700; color: var(--tx-3); }
.col header small { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--roxo-p); }
.col-dica { font-size: 11.5px; color: var(--tx-3); margin: 0 4px 2px; line-height: 1.35; }
.col-cards { display: grid; gap: 8px; }
.col-add { border: 1px dashed #CFCADC; background: none; border-radius: 10px; padding: 7px; font-size: 12.5px; color: var(--tx-3); cursor: pointer; display: flex; gap: 6px; justify-content: center; align-items: center; }
.col-add:hover { border-color: var(--roxo); color: var(--roxo-p); }
.kcard { background: var(--sup); border: 1px solid var(--linha); border-radius: 12px; padding: 11px 12px; cursor: grab; display: grid; gap: 6px; box-shadow: 0 1px 2px rgba(10, 10, 15, .05); }
.kcard:hover { border-color: var(--linha-2); box-shadow: 0 4px 14px rgba(10, 10, 15, .07); }
.kcard.arrastando { opacity: .45; }
.kcard-emp { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--tx-2); font-weight: 560; }
.kcard-emp span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kcard-emp .avatar { width: 22px; height: 22px; font-size: 9px; }
.kcard h4 { font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.kcard-val { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0; flex-wrap: wrap; }
.kcard-val b { white-space: nowrap; }
.kcard-val b { font-size: 15px; font-variant-numeric: tabular-nums; }
.kcard-val b small { font-size: 11.5px; color: var(--tx-3); font-weight: 500; }
.kcard-rodape { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0; font-size: 11.5px; }
.kcard-rodape span { display: inline-flex; gap: 4px; align-items: center; }
.kcard .mudo { margin: 0; font-size: 12px; }
.ck-barra { height: 4px; background: var(--lavanda); border-radius: 99px; overflow: hidden; }
.ck-barra i { display: block; height: 100%; background: var(--roxo); }
.motivos-perda { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.lede--faixa { margin-bottom: 14px; }
.grade-agenda { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.grade-agenda aside { display: grid; gap: 14px; position: sticky; top: 20px; }
.grupo-ativ { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 12px 18px; margin-bottom: 12px; box-shadow: var(--sombra); }
.grupo-ativ h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--tx-2); margin: 4px 0 6px; }
.grupo-ativ h3 span { color: var(--tx-3); font-weight: 600; margin-left: 4px; }
.cadencia { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 7px; font-size: 13px; color: var(--tx-2); }
.cadencia b { display: inline-block; width: 50px; color: var(--roxo-p); }
.cal-wrap { overflow-x: auto; background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); box-shadow: var(--sombra); margin-bottom: 10px; }
.cal { border-collapse: collapse; width: 100%; min-width: 1040px; font-size: 12.5px; table-layout: fixed; }
.cal th, .cal td { border-bottom: 1px solid var(--linha); border-left: 1px solid var(--linha); padding: 6px; vertical-align: top; }
.cal thead th { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--tx-3); font-weight: 650; text-align: left; padding: 9px 6px; }
.cal tbody th { text-align: left; font-weight: 560; width: 200px; border-left: 0; }
.cal tbody th a { display: flex; gap: 8px; align-items: center; text-decoration: none; }
.cal tbody th span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.cal td, .cal thead th + th { width: auto; }
.cal .mes-atual { background: #FAF7FF; }
.cal thead .mes-atual { color: var(--roxo); }
.pill { display: flex; align-items: center; gap: 3px; width: 100%; border: 0; text-align: left; border-radius: 7px; padding: 3px 6px; margin-bottom: 3px; font-size: 11.5px; font-weight: 560; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: #F1F0F4; color: var(--tx-2); }
.pill--proposto { background: var(--al-bg); color: var(--al); }
.pill--confirmado { background: var(--roxo); color: #fff; }
.pill--entregue { background: var(--ok-bg); color: var(--ok); }
.pill--sugestao { background: #fff; border: 1px dashed var(--lilas); color: var(--roxo-p); }
.cal-legenda { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.cal-legenda .pill { width: auto; cursor: default; }

/* propostas */
.proposta { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.prop-form { display: grid; gap: 14px; }
.prop-resumo { position: sticky; top: 20px; display: grid; gap: 10px; }
.resumo-emp { display: flex; gap: 10px; align-items: center; }
.resumo-total { display: flex; justify-content: space-between; align-items: baseline; background: var(--preto); color: var(--gelo); border-radius: 12px; padding: 14px 16px; margin: 0; }
.resumo-total b { font-size: 22px; letter-spacing: -.02em; }
.prop-resumo .mudo { font-size: 12.5px; margin: 0; }
.salvo { font-size: 12px; color: var(--ok); margin: 0; }
.tabela--itens td { padding: 6px 4px; }
.tabela--itens input, .tabela--itens select { min-height: 34px; padding: 5px 8px; font-size: 13px; }
.tabela--itens td.num input { width: 84px; text-align: right; }
.servicos-prop { display: grid; gap: 8px; }
.serv { display: grid; grid-template-columns: auto 1fr 130px; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--linha); border-radius: 11px; cursor: pointer; }
.serv input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--roxo); }
.serv b { display: block; font-size: 14px; }
.serv small { color: var(--tx-3); font-size: 12px; }
.serv input[type=number] { min-height: 34px; padding: 5px 8px; border: 1px solid var(--linha-2); border-radius: 8px; text-align: right; }
.serv.on { border-color: #D6C6FA; background: #FAF7FF; }

/* painel */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.kpi { background: var(--sup); border: 1px solid var(--linha); border-radius: var(--r); padding: 16px 18px; text-decoration: none; display: grid; gap: 4px; box-shadow: var(--sombra); }
a.kpi:hover { border-color: var(--linha-2); }
.kpi span { font-size: 12.5px; color: var(--tx-3); font-weight: 560; }
.kpi b { font-size: 28px; letter-spacing: -.03em; font-weight: 700; font-variant-numeric: tabular-nums; }
.kpi small { font-size: 12.5px; color: var(--tx-3); }
.kpi--meta { background: var(--preto); color: var(--gelo); border-color: var(--preto); }
.kpi--meta span, .kpi--meta small { color: #A8A4B8; }
.kpi--meta .meta-barra { background: #24212F; margin: 4px 0 2px; }
.kpi--meta .meta-barra i { background: linear-gradient(90deg, var(--roxo), var(--lilas)); }
.grade-painel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.alertas { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.al a { display: flex; gap: 9px; align-items: flex-start; text-decoration: none; padding: 8px 10px; border-radius: 9px; font-size: 13.5px; background: var(--sup-2); }
.al a:hover { background: var(--lavanda); }
.al .ic { margin-top: 2px; }
.al--erro .ic { color: var(--er); }
.al--alerta .ic { color: var(--al); }
.al--op .ic { color: var(--roxo); }
.al--info .ic { color: var(--tx-3); }
.pilha { display: flex; height: 14px; border-radius: 99px; overflow: hidden; gap: 2px; margin: 4px 0 12px; }
.pilha i { display: block; min-width: 0; }
.p-alto { background: var(--roxo-p); } .p-medio { background: var(--lilas); } .p-baixo { background: #DAD6E4; }
.legenda { list-style: none; padding: 0; margin: 0 0 10px; display: grid; gap: 4px; font-size: 13px; }
.legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; }

/* posicionamento */
.manifesto { display: grid; grid-template-columns: 200px 1fr; gap: 36px; align-items: center; background: var(--preto); color: var(--gelo); border-radius: 22px; padding: 36px 40px; margin-bottom: 16px; overflow: hidden; position: relative; }
.manifesto::after { content: ''; position: absolute; width: 420px; height: 420px; left: -120px; top: -120px; background: radial-gradient(circle, rgba(124, 58, 237, .4), transparent 65%); pointer-events: none; }
.manifesto-simbolo { width: 200px; position: relative; z-index: 1; }
.manifesto > div { position: relative; z-index: 1; }
.manifesto .sobrelinha { color: var(--lilas); }
.manifesto-l { font-size: clamp(20px, 2.2vw, 30px); font-weight: 680; letter-spacing: -.03em; line-height: 1.15; margin: 0 0 2px; }
.manifesto-l:nth-of-type(3) { color: var(--lilas); }
.manifesto-f { color: #CFCBDB; margin: 16px 0 6px; max-width: 60ch; }
.manifesto-a { font-weight: 700; letter-spacing: .02em; margin: 0; }
.gerador { margin-bottom: 16px; }
.gerador-saida { margin-top: 12px; }
.roteiro ol { margin: 0; padding: 0; list-style: none; counter-reset: r; display: grid; gap: 8px; }
.roteiro li { counter-increment: r; display: grid; grid-template-columns: 26px 1fr; gap: 2px 10px; font-size: 13.5px; }
.roteiro li::before { content: counter(r); grid-row: span 2; width: 24px; height: 24px; border-radius: 7px; background: var(--lavanda); color: var(--roxo-p); display: grid; place-items: center; font-weight: 700; font-size: 12px; }
.roteiro li span { color: var(--tx-2); }
.grade-pos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grade-pos .span-2 { grid-column: 1 / -1; }
.pitch { font-size: 15.5px; line-height: 1.6; margin: 0; }
.tabela--comp th:first-child { width: 120px; }
.tabela--comp tbody th { text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--tx-3); font-weight: 560; border-bottom: 1px solid var(--linha); }
.triade-pos { display: grid; grid-template-columns: 100px 1fr; gap: 18px; align-items: center; }
.triade-pos ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 13.5px; }
.triade-pos li { display: grid; grid-template-columns: 12px 74px 1fr; gap: 8px; align-items: baseline; color: var(--tx-2); }
.triade-pos li i { width: 12px; height: 12px; border-radius: 3px; }
.triade-pos li i.centro { background: var(--gelo); border: 2px solid var(--preto); border-radius: 50%; }
.triade-pos li b { color: var(--tx); }
.metodo { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.metodo li { border-top: 3px solid var(--roxo); padding-top: 10px; }
.metodo li:nth-child(2) { border-color: var(--roxo-p); } .metodo li:nth-child(3) { border-color: var(--lilas); }
.metodo span { font-size: 12px; color: var(--tx-3); font-weight: 700; }
.metodo b { display: block; font-size: 16px; margin: 2px 0 4px; }
.metodo p { font-size: 13px; color: var(--tx-2); margin: 0 0 6px; }
.metodo small { font-size: 12px; color: var(--roxo-p); }
.lista-ponto { margin: 0; padding-left: 18px; display: grid; gap: 7px; font-size: 14px; }
.lista-ponto li::marker { color: var(--roxo); }
.formatos { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.formatos li { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 10px 12px; border-radius: 11px; background: var(--sup-2); border: 1px solid var(--linha); }
.formatos b { font-size: 14.5px; }
.formatos span { justify-self: end; font-size: 13px; color: var(--roxo-p); font-weight: 600; }
.formatos p { grid-column: 1 / -1; margin: 0; font-size: 13px; color: var(--tx-2); }
.objecoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.objecoes details { border: 1px solid var(--linha); border-radius: 11px; padding: 10px 14px; background: var(--sup-2); }
.objecoes summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.objecoes p { margin: 8px 0 2px; font-size: 13.5px; color: var(--tx-2); }
.ganhos { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 13.5px; color: var(--tx-2); }
.ganhos b { display: block; color: var(--tx); font-size: 14.5px; }
.modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.modelos article { border: 1px solid var(--linha); border-radius: 12px; padding: 12px 14px; background: var(--sup-2); }
.modelos header { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.modelos p { font-size: 13px; color: var(--tx-2); margin: 0; max-height: 9.5em; overflow: hidden; }
.modelo-edit { border: 1px solid var(--linha); border-radius: 12px; padding: 12px; margin: 0; display: grid; gap: 8px; background: var(--sup); }

/* ajustes */
.grade-ajustes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grade-ajustes .span-2 { grid-column: 1 / -1; }
.equipe { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.equipe li { display: flex; align-items: center; gap: 12px; }
.equipe li div { flex: 1; min-width: 0; }
.equipe small { display: block; color: var(--tx-3); font-size: 12.5px; }
.log { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; font-size: 13px; max-height: 360px; overflow-y: auto; }
.log li { display: flex; gap: 8px; flex-wrap: wrap; padding: 4px 0; border-bottom: 1px solid var(--linha); }

/* responsivo */
@media (max-width: 1320px) {
  .linha-emp { grid-template-columns: 44px minmax(160px, 1.6fr) 90px 96px 34px 44px minmax(140px, 1fr) 30px; }
  .le-setor { display: none; }
  .cult-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .grade-ficha, .grade-painel, .grade-rel, .grade-pos, .grade-ajustes { grid-template-columns: minmax(0, 1fr); }
  .grade-ficha > .card--leitura { grid-row: auto; }
  .estudio, .proposta, .grade-agenda, .diag { grid-template-columns: minmax(0, 1fr); }
  .diag-guia, .prop-resumo, .grade-agenda aside { position: static; }
  .kpis, .faixa-metas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emp-topo { grid-template-columns: minmax(0, 1fr); }
  .emp-indices { justify-self: start; }
  .linha-emp { grid-template-columns: 44px minmax(0, 1fr) auto 44px; }
  .le-cult, .le-triade, .le-prox, .le-resp, .le-setor { display: none; }
  .objecoes { grid-template-columns: minmax(0, 1fr); }
  .card--leitura-h { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .tela-app { padding-left: 0; }
  .lateral { transform: translateX(-100%); transition: transform .22s; box-shadow: var(--sombra-alta); }
  .lateral.aberta { transform: none; }
  .barra-movel { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 20; background: var(--preto); color: var(--gelo); padding: 8px 12px; }
  .conteudo { padding: 18px 16px 60px; }
  .login { grid-template-columns: minmax(0, 1fr); }
  .login-arte { padding: 28px; gap: 20px; }
  .login-simbolo { width: 120px; }
  .grade-2, .grade-3, .grade-4 { grid-template-columns: minmax(0, 1fr); }
  .span-2 { grid-column: auto; }
  .cult-grade, .metodo, .escada { grid-template-columns: minmax(0, 1fr); }
  .escada li { min-height: 0 !important; }
  .kpis, .faixa-metas { grid-template-columns: minmax(0, 1fr); }
  .emp-id { flex-direction: column; align-items: flex-start; }
  .emp-id h1 { font-size: 26px; }
  .pg-topo h1, .painel-topo h1 { font-size: 25px; }
  .manifesto { grid-template-columns: minmax(0, 1fr); padding: 26px; }
  .manifesto-simbolo { width: 110px; }
  .rev-relatorio ul, .ficha--2 { grid-template-columns: minmax(0, 1fr); }
  .identidade, .triade-edit, .triade-pos { grid-template-columns: minmax(0, 1fr); }
  .estudio-minis { grid-template-columns: repeat(3, 1fr); }
  .serv { grid-template-columns: auto 1fr; }
  .serv input[type=number] { grid-column: 2; }
  .tabela--itens { display: block; overflow-x: auto; }
  .slider { grid-template-columns: 1fr; gap: 4px; }
  .modal-fundo { padding: 8px; }
}
