/* Conjoin · Empresa (cadastro, início, financeiro, capacitação) no padrão da prancha aprovada.
   Complementa ref.css; só composições desta área. */

/* ===== Início da empresa ===== */
.hh .hh-brand { padding: 0; border: 0; background: none; border-radius: 50%; }
.hh .hh-brand .brand { --br: 44px; border-radius: 50%; box-shadow: 0 0 0 2px var(--alva), 0 0 0 4px var(--ouro); }
.hh .hh-kicker { font-size: 0.75rem; line-height: 1rem; font-weight: 600; color: var(--ink-soft); letter-spacing: 0.01em; }
.hh-unit { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; padding: 0; border: 0; background: none; color: var(--azul); font: inherit; font-size: 0.8125rem; font-weight: 600; cursor: pointer; }
.hh-unit .ic { width: 14px; height: 14px; }

/* Lista de pendências dentro do navcard (após a primeira) */
.navcard-list { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; padding: 0 var(--s-4); z-index: 1; margin-top: calc(var(--s-2) * -1); }
.navcard-row { display: flex; align-items: center; gap: var(--s-2); width: 100%; min-height: 44px; padding: 6px var(--s-3); border: 0; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.10); color: var(--alva); font: inherit; font-size: var(--fs-label); font-weight: 600; text-align: left; cursor: pointer; }
.navcard-row .ic { width: 16px; height: 16px; color: var(--ouro); flex: none; }
.navcard-row .grow { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.navcard-row:hover { background: rgba(255, 255, 255, 0.18); }
.navcard-row:focus-visible { box-shadow: 0 0 0 2px var(--azul), 0 0 0 4px var(--alva); border-radius: var(--r-md); }
.navcard-body .navcard-steps { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.navcard-body .navcard-steps li { display: flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 600; }
.navcard-body .navcard-steps .ncs { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 255, 255, 0.16); color: var(--alva); }
.navcard-body .navcard-steps .ncs .ic { width: 12px; height: 12px; stroke-width: 3; }
.navcard-body .navcard-steps .ncs.is-ok { background: var(--agua); color: var(--noite); }
.navcard-body .navcard-steps .ncs.is-ok .ic { stroke: var(--noite); }

/* Vagas da empresa no início: linha com foto pequena */
.jobrow { display: flex; align-items: center; gap: var(--s-3); width: 100%; padding: var(--s-2); border: 0; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.jobrow .jr-photo { width: 56px; height: 56px; flex: none; border-radius: var(--r-md); overflow: hidden; background: var(--nevoa); }
.jobrow .jr-photo img { width: 100%; height: 100%; object-fit: cover; }
.jobrow .jr-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.jobrow .jr-title { font-weight: 700; color: var(--noite); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jobrow .jr-sub { font-size: 0.8125rem; line-height: 1.1rem; color: var(--ink-soft); }
.jobrow .jr-end { display: flex; align-items: center; gap: 6px; color: var(--costa); }

/* PJ Plus: convite discreto */
.plus-card { display: flex; align-items: center; gap: var(--s-3); width: 100%; padding: var(--s-3) var(--s-4); border: 0; border-radius: var(--r-lg); background: var(--azul-veu); color: var(--azul); font: inherit; text-align: left; cursor: pointer; }
.plus-card .pc-ic { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--alva); color: var(--azul); }
.plus-card strong { display: block; font-size: var(--fs-label); }
.plus-card small { display: block; font-size: 0.8125rem; color: var(--porto); }

/* ===== Cadastro em passos ===== */
.reg-progress { display: flex; flex-direction: column; gap: 6px; padding: 0 var(--gutter) var(--s-3); }
.reg-progress .rp-head { display: flex; justify-content: space-between; font-size: 0.8125rem; font-weight: 600; color: var(--ink-soft); }
.reg-progress .progress-track { height: 4px; }
.receita { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4); border-radius: var(--r-lg); background: var(--sucesso-veu); }
.receita .rc-head { display: flex; align-items: center; gap: var(--s-2); font-weight: 700; color: var(--sucesso-tinta); }
.receita .rc-head .ic { width: 20px; height: 20px; }
.receita dl { display: grid; grid-template-columns: auto 1fr; gap: 4px var(--s-3); font-size: var(--fs-label); line-height: var(--lh-label); }
.receita dt { color: var(--ink-soft); }
.receita dd { color: var(--noite); font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.emp-cnpj-row { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2); align-items: end; }
.emp-cnpj-row .btn { --btn-h: 56px; white-space: nowrap; }
@media (max-width: 359px) { .emp-cnpj-row { grid-template-columns: 1fr; } }

/* Linha do tempo do cadastro em análise, compacta */
.rev-steps { display: flex; flex-direction: column; gap: var(--s-2); }
.rev-step { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.rev-step .rs-ic { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--nevoa); color: var(--costa-tinta); }
.rev-step .rs-ic .ic { width: 18px; height: 18px; stroke-width: 2.6; }
.rev-step.is-done .rs-ic { background: var(--sucesso-veu); color: var(--sucesso-tinta); }
.rev-step.is-current .rs-ic { background: var(--ouro); color: var(--noite); }
.rev-step strong { display: block; font-size: var(--fs-label); color: var(--noite); }
.rev-step small { display: block; font-size: 0.8125rem; color: var(--ink-soft); }

/* Unidades: cartão com mapa */
.unit-card { display: flex; align-items: stretch; gap: var(--s-3); width: 100%; padding: var(--s-3); border: 0; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.unit-card .uc-map { width: 84px; flex: none; }
.unit-card .uc-map .map-sim { height: 100%; min-height: 72px; border-radius: var(--r-md); }
.unit-card .uc-map .map-label { display: none; }
.unit-card .uc-map .map-pin .ic { width: 24px; height: 24px; }
.unit-card .uc-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.unit-card .uc-text strong { font-weight: 700; color: var(--noite); }
.unit-card .uc-text small { font-size: 0.8125rem; line-height: 1.1rem; color: var(--ink-soft); }
.unit-card .uc-end { align-self: center; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; color: var(--costa); }

/* Perfil da empresa: capa + marca */
.emp-profile-hero { position: relative; margin: calc(var(--s-2) * -1) calc(var(--gutter) * -1) 0; aspect-ratio: 16 / 7; overflow: hidden; background: var(--nevoa); }
.emp-profile-hero img { width: 100%; height: 100%; object-fit: cover; }
.emp-logo-row { display: flex; align-items: flex-start; gap: var(--s-3); margin-top: -36px; }
.emp-logo-row .brand { --br: 72px; border-radius: 50%; box-shadow: 0 0 0 4px var(--alva), 0 8px 20px rgba(16, 28, 38, 0.18); }
.emp-logo-row .elr-text { flex: 1; min-width: 0; padding-top: 44px; }
.emp-logo-row .elr-text strong { display: block; font-size: var(--fs-title); line-height: var(--lh-title); color: var(--azul); }

/* Equipe: pessoas */
.people { display: flex; flex-direction: column; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); overflow: hidden; }
.person { display: flex; align-items: center; gap: var(--s-3); min-height: 64px; padding: var(--s-2) var(--s-4); border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; width: 100%; cursor: pointer; }
.person + .person { border-top: 1px solid var(--line); }
.person:hover { background: var(--bruma); }
.person .avatar { --av: 40px; }
.person .pe-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.person .pe-title { font-weight: 600; }
.person .pe-sub { font-size: 0.8125rem; line-height: 1.1rem; color: var(--ink-soft); }
.person .pe-end { display: flex; align-items: center; gap: 6px; color: var(--costa); }
.person:focus-visible { box-shadow: inset 0 0 0 3px var(--focus); border-radius: 0; }
.team-count { display: flex; align-items: baseline; justify-content: space-between; }
.team-count strong { font-size: var(--fs-title-lg); font-weight: 800; color: var(--azul); }
.team-count strong span { font-size: var(--fs-body); font-weight: 500; color: var(--ink-soft); }

/* 2FA: lista de ações protegidas */
.protected { display: flex; flex-direction: column; gap: 6px; padding: var(--s-3) var(--s-4); border-radius: var(--r-lg); background: var(--bruma); }
.protected li { display: flex; align-items: center; gap: var(--s-2); font-size: var(--fs-label); color: var(--porto); }
.protected li .ic { width: 16px; height: 16px; color: var(--azul); }

/* ===== Loja e financeiro ===== */
.plan-card { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.plan-card .pl-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ouro-veu); color: var(--ouro-tinta); }
.plan-card .pl-text { flex: 1; min-width: 0; }
.plan-card .pl-text small { display: block; font-size: 0.8125rem; color: var(--ink-soft); }
.plan-card .pl-text strong { display: block; color: var(--noite); }
.credit-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 var(--s-3); border: 0; border-radius: var(--r-pill); background: var(--ouro); color: var(--noite); font: inherit; font-size: var(--fs-label); font-weight: 700; cursor: pointer; }
.credit-pill .ic { width: 16px; height: 16px; }

.product { display: flex; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--shadow-whisper); color: var(--ink); text-decoration: none; }
.product .pr-ic { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: var(--r-lg); background: var(--azul-veu); color: var(--azul); }
.product .pr-ic .ic { width: 28px; height: 28px; }
.product .pr-ic.is-ouro { background: var(--ouro-veu); color: var(--ouro-tinta); }
.product .pr-ic.is-destaque { background: var(--destaque-veu); color: var(--destaque-tinta); }
.product .pr-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.product .pr-title { font-size: var(--fs-title); line-height: var(--lh-title); font-weight: 700; color: var(--noite); }
.product .pr-desc { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.product .pr-price { margin-top: 4px; font-size: var(--fs-title-lg); line-height: 1.2; font-weight: 800; color: var(--azul); font-variant-numeric: tabular-nums; }
.product .pr-price small { font-size: var(--fs-label); font-weight: 500; color: var(--ink-soft); }
.product .pr-end { align-self: center; color: var(--costa); }

.product-hero { display: flex; flex-direction: column; align-items: center; gap: var(--s-2); text-align: center; padding-top: var(--s-2); }
.product-hero .ph-ic { display: grid; place-items: center; width: 80px; height: 80px; border-radius: 50%; background: var(--azul-veu); color: var(--azul); }
.product-hero .ph-ic .ic { width: 38px; height: 38px; stroke-width: 1.7; }
.product-hero h1 { font-size: var(--fs-title-lg); line-height: var(--lh-title-lg); font-weight: 800; color: var(--azul); }
.product-hero .price { margin-top: 4px; }
.gives { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.gives h2 { font-size: var(--fs-body); font-weight: 700; }
.gives li { display: flex; gap: var(--s-2); align-items: flex-start; }
.gives li .ic { width: 20px; height: 20px; color: var(--sucesso); stroke-width: 2.8; flex: none; margin-top: 2px; }
.facts2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); }
.fact2 { display: flex; flex-direction: column; gap: 4px; padding: var(--s-3); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.fact2 .f2-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ouro-veu); color: var(--ouro-tinta); }
.fact2 .f2-ic .ic { width: 16px; height: 16px; }
.fact2 strong { font-size: var(--fs-label); color: var(--noite); }
.fact2 small { font-size: 0.8125rem; line-height: 1.1rem; color: var(--ink-soft); }
@media (max-width: 359px) { .facts2 { grid-template-columns: 1fr; } }

.order { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.order .or-row { display: flex; justify-content: space-between; gap: var(--s-3); font-size: var(--fs-label); }
.order .or-row dt { color: var(--ink-soft); }
.order .or-row dd { font-weight: 600; text-align: right; color: var(--noite); }
.order .or-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--s-2); border-top: 1px solid var(--line); }
.order .or-total strong { font-size: var(--fs-title-lg); font-weight: 800; color: var(--azul); font-variant-numeric: tabular-nums; }
.pix-code { padding: var(--s-3); border-radius: var(--r-md); background: var(--bruma); font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 0.8125rem; line-height: 1.2rem; color: var(--porto); word-break: break-all; }

.balance { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-5); border-radius: var(--r-xl); background: var(--azul); color: var(--alva); }
.balance .bl-kicker { font-size: var(--fs-label); font-weight: 600; color: var(--nevoa); }
.balance .bl-value { font-size: 3rem; line-height: 1; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.balance .bl-value span { font-size: var(--fs-title); font-weight: 600; letter-spacing: 0; }
.balance .bl-sub { font-size: var(--fs-label); color: var(--nevoa); }
.ledger { display: flex; flex-direction: column; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); overflow: hidden; }
.ledger-row { display: flex; align-items: center; gap: var(--s-3); min-height: 60px; padding: var(--s-2) var(--s-4); }
.ledger-row + .ledger-row { border-top: 1px solid var(--line); }
.ledger-row .lg-ic { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--nevoa); color: var(--porto); }
.ledger-row .lg-ic.is-plus { background: var(--sucesso-veu); color: var(--sucesso-tinta); }
.ledger-row .lg-ic .ic { width: 18px; height: 18px; stroke-width: 2.6; }
.ledger-row .lg-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ledger-row .lg-title { font-weight: 600; font-size: var(--fs-label); }
.ledger-row .lg-sub { font-size: 0.8125rem; color: var(--ink-soft); }
.ledger-row .lg-val { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--porto); }
.ledger-row .lg-val.is-plus { color: var(--sucesso-tinta); }

.invoice { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: 72px; padding: var(--s-3) var(--s-4); border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.invoice + .invoice { border-top: 1px solid var(--line); }
.invoice:hover { background: var(--bruma); }
.invoice .in-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ouro-veu); color: var(--ouro-tinta); }
.invoice .in-ic.is-erro { background: var(--erro-veu); color: var(--erro-tinta); }
.invoice .in-ic.is-ok { background: var(--sucesso-veu); color: var(--sucesso-tinta); }
.invoice .in-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.invoice .in-amount { font-weight: 800; color: var(--azul); font-variant-numeric: tabular-nums; }
.invoice .in-items { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--noite); }
.invoice .in-sub { font-size: 0.8125rem; color: var(--ink-soft); }
.invoice .in-end { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; color: var(--costa); }
.invoice:focus-visible { box-shadow: inset 0 0 0 3px var(--focus); border-radius: 0; }

/* ===== Capacitação ===== */
.course { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--shadow-whisper); }
.course .co-head { display: flex; gap: var(--s-3); align-items: flex-start; }
.course .co-ic { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: var(--r-md); background: var(--ouro-veu); color: var(--ouro-tinta); }
.course .co-ic .ic { width: 24px; height: 24px; }
.course .co-title { font-size: var(--fs-title); line-height: var(--lh-title); font-weight: 700; color: var(--noite); }
.course .co-desc { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.course .co-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.badge-row { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); }
.badge-row + .badge-row { border-top: 1px solid var(--line); }
.badge-row .bd-ic { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ouro); color: var(--noite); }
.badge-row .bd-ic.is-off { background: var(--nevoa); color: var(--costa-tinta); }
.badge-row .bd-ic .ic { width: 22px; height: 22px; }
.badge-row .bd-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.badge-row .bd-text strong { color: var(--noite); }
.badge-row .bd-text small { font-size: 0.8125rem; line-height: 1.1rem; color: var(--ink-soft); }

/* ===== Suporte ===== */
.faq-row { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: 56px; padding: var(--s-2) var(--s-4); border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.faq-row + .faq-row { border-top: 1px solid var(--line); }
.faq-row:hover { background: var(--bruma); }
.faq-row .fq-ic { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--azul-veu); color: var(--azul); }
.faq-row .fq-ic .ic { width: 16px; height: 16px; }
.faq-row .grow { font-weight: 600; font-size: var(--fs-label); }
.faq-row:focus-visible { box-shadow: inset 0 0 0 3px var(--focus); border-radius: 0; }
