.b2b-shell {
    --b2b-ground: #FBFAF6;
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--b2b-ground);
    color: var(--cora-text);
    font-family: var(--cora-font-body);
}

:root[data-theme="dark"] .b2b-shell { --b2b-ground: var(--cora-surface); }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .b2b-shell { --b2b-ground: var(--cora-surface); }
}

.b2b-top {
    position: sticky; top: 0; z-index: 50;
    display: flex; align-items: center; gap: 10px;
    padding: 10px 16px;
    padding-top: calc(10px + env(safe-area-inset-top));
    background: var(--cora-card);
    border-bottom: 1px solid var(--cora-border-soft);
}
.b2b-top-logo { height: 44px; width: auto; display: block; margin: -8px 0 -8px -10px; }
.b2b-top-tag {
    font-family: var(--cora-font-display); font-weight: 700; font-size: 12px;
    letter-spacing: .04em; text-transform: uppercase;
    color: var(--cora-primary-dark); background: var(--cora-primary-soft);
    padding: 3px 9px; border-radius: var(--cora-radius-pill);
}
.b2b-top-spacer { flex: 1; }
.b2b-top-link, .b2b-top-sair {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 40px; padding: 0 12px;
    border-radius: var(--cora-radius-pill);
    border: 1px solid var(--cora-border);
    background: transparent; color: var(--cora-text);
    font: 600 13px var(--cora-font-body);
    text-decoration: none; cursor: pointer;
}
.b2b-top-link:hover, .b2b-top-sair:hover { background: var(--cora-surface); }

.b2b-main {
    max-width: 1360px; margin: 0 auto;
    padding: 20px 16px calc(40px + env(safe-area-inset-bottom));
}

.b2b-hero { margin-bottom: 18px; }
.b2b-hero-kicker { margin: 0 0 8px; min-height: 0; }
.b2b-hero-kicker:empty { display: none; }
.b2b-chip-empresa {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 600;
    color: var(--cora-text-soft); background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: var(--cora-radius-pill);
    padding: 4px 10px;
}
.b2b-hero-title {
    font-family: var(--cora-font-display); font-weight: 800;
    font-size: 26px; line-height: 1.2; margin: 0 0 6px;
    color: var(--cora-text);
}
.b2b-hero-sub { margin: 0; font-size: 15px; line-height: 1.5; color: var(--cora-text-soft); }
.b2b-hero-sub strong { font-family: var(--cora-font-display); color: var(--cora-primary-dark); }
.b2b-aviso-admin {
    display: flex; align-items: flex-start; gap: 8px;
    margin-top: 12px; padding: 10px 12px;
    font-size: 13px; line-height: 1.45;
    color: var(--info-deep); background: var(--info-soft-alt);
    border-radius: var(--cora-radius-sm);
}
.b2b-aviso-admin i { margin-top: 2px; }

.b2b-filtros { display: flex; flex-direction: column; gap: 12px; }
.b2b-busca {
    position: relative; display: flex; align-items: center;
}
.b2b-busca i {
    position: absolute; left: 16px; color: var(--cora-muted); font-size: 15px; pointer-events: none;
}
.b2b-busca input {
    width: 100%; height: 48px; padding: 0 16px 0 44px;
    font: 400 16px var(--cora-font-body); color: var(--cora-text);
    background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: var(--cora-radius-pill);
    outline: none; -webkit-appearance: none; appearance: none;
}
.b2b-busca input:focus { border-color: var(--cora-primary-dark); box-shadow: 0 0 0 3px var(--brand-alpha-12); }

.b2b-chips {
    display: flex; gap: 8px; overflow-x: auto;
    margin: 0 -16px; padding: 2px 16px 4px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.b2b-chips::-webkit-scrollbar { display: none; }
.b2b-chip {
    flex: 0 0 auto; min-height: 38px; padding: 0 14px;
    font: 600 13px var(--cora-font-body); white-space: nowrap;
    color: var(--cora-text); background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: var(--cora-radius-pill);
    cursor: pointer;
}
.b2b-chip--on { background: #1F262D; border-color: #1F262D; color: #FFFFFF; }

.b2b-filtros-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.b2b-select { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.b2b-select span { font-size: 12px; font-weight: 600; color: var(--cora-text-soft); }
.b2b-select select, .b2b-select input {
    width: 100%; height: 44px; padding: 0 8px;
    font: 500 16px var(--cora-font-body); color: var(--cora-text);
    background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: var(--cora-radius-sm);
}
.b2b-toggles { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.b2b-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 38px; padding: 0 14px;
    font: 600 13px var(--cora-font-body);
    color: var(--cora-text-soft); background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: var(--cora-radius-pill);
    cursor: pointer;
}
.b2b-toggle--on {
    color: var(--cora-primary-dark); background: var(--cora-primary-soft);
    border-color: var(--cora-primary-dark);
}

.b2b-contagem { margin: 0 0 10px; font-size: 13px; color: var(--cora-text-soft); }

.b2b-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) { .b2b-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .b2b-grid { grid-template-columns: repeat(3, 1fr); } }

.b2b-card {
    display: flex; flex-direction: column; gap: 10px;
    padding: 16px;
    background: var(--cora-card);
    border: 1px solid var(--cora-border-soft); border-radius: 16px;
    box-shadow: 0 2px 8px rgba(31, 38, 45, 0.05);
    cursor: pointer; text-align: left;
    transition: box-shadow .15s ease, transform .15s ease;
}
.b2b-card:hover { box-shadow: var(--cora-shadow-lg); }
.b2b-card:active { transform: scale(.99); }
.b2b-card:focus-visible { outline: 3px solid var(--brand-alpha-28); outline-offset: 2px; }

.b2b-card-top { display: flex; align-items: center; gap: 12px; }
.b2b-card-id { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.b2b-card-nome {
    margin: 0; font-family: var(--cora-font-display); font-weight: 700;
    font-size: 17px; line-height: 1.25; color: var(--cora-text);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;
}
.b2b-flag {
    flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--success-deep); background: var(--success-soft-alt);
}

.b2b-avatar {
    flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%;
    object-fit: cover; background: var(--cora-surface);
}
.b2b-avatar--lg { width: 72px; height: 72px; }
.b2b-avatar--iniciais {
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--cora-font-display); font-weight: 700; font-size: 17px;
    color: #FFFFFF; background: var(--cora-gradient);
}
.b2b-avatar--lg.b2b-avatar--iniciais { font-size: 22px; }

.b2b-tipo {
    display: inline-block; padding: 2px 10px;
    font-size: 12px; font-weight: 600;
    color: var(--cora-primary-dark); background: var(--cora-primary-soft);
    border-radius: var(--cora-radius-pill);
}

.b2b-card-nota { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-card-nota i { color: var(--cora-warning); }
.b2b-card-nota strong { font-family: var(--cora-font-display); font-size: 15px; color: var(--cora-text); }
.b2b-novo {
    font-size: 12px; font-weight: 600; color: var(--info-deep);
    background: var(--info-soft-alt); padding: 2px 10px; border-radius: var(--cora-radius-pill);
}

.b2b-card-stats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.b2b-card-stats li { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-card-stats i { color: var(--cora-muted); }

.b2b-card-esp {
    margin: 0; font-size: 13px; line-height: 1.45; color: var(--cora-text);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.b2b-card-local { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-card-local i { color: var(--cora-primary-dark); }
.b2b-card-cta {
    margin-top: auto; align-self: flex-end;
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 700; color: var(--cora-primary-dark);
}

.b2b-card--skel { cursor: default; min-height: 150px; }
.b2b-skel-avatar, .b2b-skel-linha {
    background: linear-gradient(90deg, var(--cora-surface) 25%, var(--cora-border-soft) 50%, var(--cora-surface) 75%);
    background-size: 200% 100%;
    animation: b2bSkel 1.2s ease-in-out infinite;
}
.b2b-skel-avatar { width: 56px; height: 56px; border-radius: 50%; }
.b2b-skel-linha { height: 12px; border-radius: 6px; width: 80%; }
.b2b-skel-linha--curta { width: 50%; }
@keyframes b2bSkel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.b2b-vazio {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    padding: 48px 16px; text-align: center; color: var(--cora-text-soft);
}
.b2b-vazio i { font-size: 32px; color: var(--cora-muted); }
.b2b-vazio p { margin: 0; font-size: 15px; }

.b2b-mais { display: flex; justify-content: center; margin-top: 18px; }

.b2b-btn-sec {
    min-height: 44px; padding: 0 20px;
    font: 700 14px var(--cora-font-body);
    color: var(--cora-primary-dark); background: var(--cora-card);
    border: 1px solid var(--cora-primary-dark); border-radius: var(--cora-radius-pill);
    cursor: pointer;
}
.b2b-btn-sec:disabled { opacity: .6; cursor: default; }

.b2b-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; min-height: 50px; padding: 0 20px;
    font: 700 15px var(--cora-font-body);
    color: #FFFFFF; background: var(--cora-primary-dark);
    border: 0; border-radius: var(--cora-radius-pill);
    cursor: pointer;
}
.b2b-btn:hover { filter: brightness(.95); }
.b2b-btn:disabled { opacity: .7; cursor: default; }

.b2b-sheet-fundo {
    position: fixed; inset: 0; z-index: 1300;
    background: rgba(0, 0, 0, .5);
}
.b2b-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1301;
    display: flex; flex-direction: column;
    max-height: 92vh; max-height: 92dvh;
    background: var(--cora-card); color: var(--cora-text);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -8px 32px rgba(31, 38, 45, .18);
    animation: b2bSheetIn .22s ease-out;
}
@keyframes b2bSheetIn { from { transform: translateY(24px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (min-width: 768px) {
    .b2b-sheet {
        left: 50%; right: auto; bottom: auto; top: 50%;
        width: 640px; max-width: calc(100vw - 32px); max-height: 86vh;
        transform: translate(-50%, -50%);
        border-radius: 20px;
        animation: none;
    }
}
.b2b-sheet-fechar {
    position: absolute; top: 12px; right: 12px; z-index: 1;
    width: 40px; height: 40px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 17px; color: var(--cora-text);
    background: var(--cora-surface); border: 0; cursor: pointer;
}
.b2b-sheet-carregando {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 56px 16px; font-size: 15px; color: var(--cora-text-soft);
}
.b2b-sheet-corpo { flex: 1; overflow-y: auto; padding: 24px 20px 16px; -webkit-overflow-scrolling: touch; }

.b2b-perfil-top { display: flex; align-items: center; gap: 14px; padding-right: 44px; margin-bottom: 16px; }
.b2b-perfil-top > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.b2b-perfil-nome {
    margin: 0; font-family: var(--cora-font-display); font-weight: 800;
    font-size: 22px; line-height: 1.2; color: var(--cora-text);
}

.b2b-perfil-stats {
    list-style: none; margin: 0 0 8px; padding: 0;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
}
.b2b-perfil-stats li {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 12px 6px; text-align: center;
    background: var(--cora-surface); border-radius: 12px;
}
.b2b-perfil-stats strong { font-family: var(--cora-font-display); font-size: 22px; color: var(--cora-primary-dark); }
.b2b-perfil-stats span { font-size: 12px; color: var(--cora-text-soft); line-height: 1.3; }

.b2b-sec {
    margin: 18px 0 6px;
    font-family: var(--cora-font-display); font-weight: 700;
    font-size: 12px; letter-spacing: .06em; text-transform: uppercase;
    color: var(--cora-text-soft);
}
.b2b-texto { margin: 0; font-size: 15px; line-height: 1.55; color: var(--cora-text); white-space: pre-line; }
.b2b-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-tag {
    padding: 5px 12px; font-size: 13px; color: var(--cora-text);
    background: var(--cora-surface); border: 1px solid var(--cora-border-soft);
    border-radius: var(--cora-radius-pill);
}
.b2b-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.b2b-lista li { display: flex; align-items: flex-start; gap: 8px; font-size: 15px; line-height: 1.4; color: var(--cora-text); }
.b2b-lista i { margin-top: 3px; width: 14px; color: var(--cora-primary-dark); }

.b2b-sheet-rodape {
    display: flex; flex-direction: column; gap: 10px;
    padding: 12px 20px calc(14px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--cora-border-soft);
    background: var(--cora-card);
    border-radius: 0 0 20px 20px;
}
.b2b-msg {
    width: 100%; resize: none; padding: 10px 12px;
    font: 400 16px var(--cora-font-body); color: var(--cora-text);
    background: var(--cora-surface);
    border: 1px solid var(--cora-border); border-radius: 12px;
    outline: none;
}
.b2b-msg:focus { border-color: var(--cora-primary-dark); box-shadow: 0 0 0 3px var(--brand-alpha-12); }
.b2b-rodape-ok, .b2b-rodape-info {
    margin: 0; display: flex; align-items: flex-start; gap: 8px;
    padding: 12px; font-size: 13px; line-height: 1.45; border-radius: 12px;
}
.b2b-rodape-ok { color: var(--success-deep); background: var(--success-soft-alt); font-weight: 600; }
.b2b-rodape-info { color: var(--info-deep); background: var(--info-soft-alt); }
.b2b-rodape-ok i, .b2b-rodape-info i { margin-top: 2px; }

.b2b-spinner-inline {
    border-color: var(--brand-alpha-20);
    border-top-color: var(--cora-primary-dark);
    vertical-align: middle;
}

@media (min-width: 768px) {
    .b2b-main { padding-top: 32px; }
    .b2b-hero-title { font-size: 32px; }
    .b2b-filtros-linha { grid-template-columns: 220px 220px 1fr; align-items: end; }
    .b2b-toggles { grid-column: auto; justify-content: flex-end; }
    .b2b-chips { margin: 0; padding: 2px 0 4px; flex-wrap: wrap; overflow: visible; }
}

.adm-perfil-forn { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.adm-convite-ok, .adm-convite-alerta {
    margin: 0; display: flex; align-items: flex-start; gap: 8px;
    padding: 10px 12px; border-radius: 10px; font-size: 0.9rem; line-height: 1.45;
}
.adm-convite-ok { color: var(--success-deep); background: var(--success-soft-alt); }
.adm-convite-alerta { color: var(--warning-deep); background: var(--warning-soft-alt); }
.adm-convite-ok i, .adm-convite-alerta i { margin-top: 3px; }
.adm-convite-link { display: flex; width: 100%; margin-top: 4px; }
.adm-convite-link .adm-input { flex: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.8rem; }
.adm-convite-link .adm-copy-btn { opacity: 1; }
.adm-perfil-forn .adm-badge { white-space: nowrap; }
.adm-perfil-forn-empresa { font-size: 0.82rem; font-weight: 600; color: var(--cora-text); }
.adm-convite-st { display: inline-flex; align-items: center; gap: 5px; font-size: 0.78rem; color: var(--cora-text-soft); white-space: nowrap; }
.adm-convite-st--pendente { color: var(--warning-deep); }
.adm-convite-st--expirado { color: var(--danger-deep); }

.b2b-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "local" "mapa" "resumo" "filtros" "lista";
    gap: 16px;
}
.b2b-local { grid-area: local; position: relative; display: flex; flex-direction: column; gap: 8px; }
.b2b-mapa-wrap { grid-area: mapa; }
.b2b-resumo { grid-area: resumo; }
.b2b-filtros { grid-area: filtros; }
.b2b-resultados { grid-area: lista; min-width: 0; display: flex; flex-direction: column; gap: 6px; }

.b2b-local-rotulo {
    font-family: var(--cora-font-display); font-weight: 700; font-size: 15px; color: var(--cora-text);
}
.b2b-local-campo {
    position: relative; display: flex; align-items: center;
    background: var(--cora-card);
    border: 1.5px solid var(--cora-border); border-radius: 14px;
    box-shadow: 0 2px 8px rgba(31, 38, 45, 0.05);
}
.b2b-local-campo:focus-within { border-color: var(--cora-primary-dark); box-shadow: 0 0 0 3px var(--brand-alpha-12); }
.b2b-local-campo > i { position: absolute; left: 16px; color: var(--cora-primary-dark); font-size: 17px; pointer-events: none; }
.b2b-local-campo input {
    flex: 1; min-width: 0; height: 54px; padding: 0 8px 0 44px;
    font: 500 16px var(--cora-font-body); color: var(--cora-text);
    background: transparent; border: 0; outline: none;
    -webkit-appearance: none; appearance: none;
}
.b2b-local-campo input::-webkit-search-cancel-button { display: none; }
.b2b-local-campo > .b2b-spinner-inline { margin: 0 16px; flex: 0 0 auto; }
.b2b-local-limpar {
    flex: 0 0 auto; width: 40px; height: 40px; margin-right: 6px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 50%; background: transparent; color: var(--cora-text-soft);
    font-size: 16px; cursor: pointer;
}
.b2b-local-limpar:hover { background: var(--cora-surface); }

.b2b-sugestoes {
    position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 60;
    list-style: none; margin: 0; padding: 6px;
    background: var(--cora-card);
    border: 1px solid var(--cora-border); border-radius: 14px;
    box-shadow: var(--cora-shadow-lg);
    max-height: 340px; overflow-y: auto;
}
.b2b-sugestao {
    width: 100%; display: flex; align-items: flex-start; gap: 12px;
    padding: 10px 12px; text-align: left;
    background: transparent; border: 0; border-radius: 10px; cursor: pointer;
    color: var(--cora-text); font-family: var(--cora-font-body);
}
.b2b-sugestao:hover, .b2b-sugestao--on { background: var(--cora-primary-soft); }
.b2b-sugestao > i { width: 18px; margin-top: 3px; color: var(--cora-primary-dark); text-align: center; }
.b2b-sugestao > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.b2b-sugestao strong { font-size: 15px; font-weight: 600; line-height: 1.3; }
.b2b-sugestao small { font-size: 13px; color: var(--cora-text-soft); line-height: 1.35; }
.b2b-sugestao-vazia { padding: 12px; font-size: 13px; color: var(--cora-text-soft); }

.b2b-raios { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.b2b-raios > span { font-size: 13px; font-weight: 600; color: var(--cora-text-soft); margin-right: 2px; }
.b2b-chip--sm { min-height: 34px; padding: 0 12px; }

.b2b-mapa-wrap { position: relative; }
.b2b-mapa-area { position: relative; }
.b2b-mapa-wrap .b2b-raios { margin-top: 10px; }
.b2b-mapa {
    position: relative; z-index: 0; isolation: isolate;
    height: 320px; width: 100%;
    border-radius: 16px; overflow: hidden;
    border: 1px solid var(--cora-border);
    background: #E9EEF1;
}
.b2b-mapa .leaflet-tile-pane img.leaflet-tile { filter: grayscale(1) contrast(0.92) brightness(1.04); }
.b2b-mapa .leaflet-tooltip { font-family: var(--cora-font-body); font-size: 13px; color: #1F262D; border-radius: 8px; }
.b2b-mapa .leaflet-control-attribution { font-size: 12px; }
.b2b-mapa-estado {
    position: absolute; inset: 0; z-index: 1;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    font-size: 15px; color: var(--cora-text-soft);
    border-radius: 16px; background: var(--cora-surface);
}
.b2b-mapa-legenda {
    position: absolute; right: 10px; top: 10px; z-index: 1;
    display: inline-flex; align-items: center; gap: 8px;
    padding: 5px 10px; font-size: 12px; font-weight: 600; color: #1F262D;
    background: rgba(255, 255, 255, 0.92); border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    pointer-events: none;
}
.b2b-legenda-ponto {
    width: 12px; height: 12px; border-radius: 50%;
    background: #DA483B; border: 1.5px solid #FFFFFF; box-shadow: 0 0 0 1px rgba(218, 72, 59, 0.4);
}

.b2b-pino { background: transparent; border: 0; }
.b2b-pino span {
    display: block; width: 24px; height: 24px; margin: 2px;
    background: #1F262D; border: 3px solid #FFFFFF;
    border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.b2b-resumo {
    display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
    padding: 14px 16px;
    background: var(--cora-card);
    border: 1px solid var(--cora-border-soft); border-radius: 16px;
}
.b2b-resumo:empty { display: none; }
.b2b-resumo-texto { margin: 0; font-size: 15px; line-height: 1.5; color: var(--cora-text); }
.b2b-resumo-num { font-family: var(--cora-font-display); font-size: 22px; color: var(--cora-primary-dark); }
.b2b-resumo-dica { display: block; margin-top: 4px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-resumo-tipos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-resumo-tipos li {
    padding: 4px 10px; font-size: 13px; color: var(--cora-text);
    background: var(--cora-surface); border-radius: 999px;
}
.b2b-resumo-tipos strong { color: var(--cora-primary-dark); }
.b2b-btn-sec--sm { min-height: 38px; padding: 0 16px; font-size: 13px; }

.b2b-vazio-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.b2b-card-local--perto { color: var(--cora-text); align-items: flex-start; }
.b2b-card-local--perto i { margin-top: 3px; }
.b2b-card-local--perto strong { color: var(--cora-primary-dark); white-space: nowrap; }

@media (min-width: 640px) {
    .b2b-mapa { height: 400px; }
}

@media (min-width: 1100px) {
    .b2b-layout {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 44%);
        grid-template-rows: auto auto auto 1fr;
        grid-template-areas:
            "local mapa"
            "resumo mapa"
            "filtros mapa"
            "lista mapa";
        column-gap: 24px;
        align-items: start;
    }
    .b2b-mapa-wrap { position: sticky; top: 76px; }
    .b2b-mapa { height: calc(100vh - 220px); min-height: 440px; }
    .b2b-mapa-wrap--com-raio .b2b-mapa { height: calc(100vh - 264px); min-height: 400px; }
    .b2b-resultados .b2b-grid { grid-template-columns: 1fr 1fr; }
    .b2b-filtros-linha { grid-template-columns: 200px minmax(0, 1fr); }
    .b2b-toggles { grid-column: 1 / -1; justify-content: flex-start; }
}
.b2b-local-caixa { position: relative; }

.b2b-nav { display: flex; gap: 4px; }
.b2b-nav-link {
    display: inline-flex; align-items: center; gap: 7px;
    min-height: 40px; padding: 0 12px;
    border-radius: var(--cora-radius-pill);
    font: 600 13px var(--cora-font-body); color: var(--cora-text-soft);
    text-decoration: none;
}
.b2b-nav-link:hover { background: var(--cora-surface); color: var(--cora-text); }
.b2b-nav-link.active { background: var(--cora-primary-soft); color: var(--cora-primary-dark); }
.b2b-nav--topo { display: none; margin-left: 8px; }
.b2b-nav--rodape {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    justify-content: space-around; gap: 0;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    background: var(--cora-card);
    border-top: 1px solid var(--cora-border-soft);
    box-shadow: 0 -4px 16px rgba(31, 38, 45, 0.06);
}
.b2b-nav--rodape .b2b-nav-link {
    flex: 1; flex-direction: column; gap: 3px;
    min-height: 52px; padding: 4px 2px; border-radius: 12px;
    font-size: 12px; justify-content: center;
}
.b2b-nav--rodape .b2b-nav-link i { font-size: 18px; }
.b2b-shell .b2b-main { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
@media (min-width: 1100px) {
    .b2b-nav--topo { display: flex; }
    .b2b-nav--rodape { display: none; }
    .b2b-shell .b2b-main { padding-bottom: 48px; }
}

.b2b-garantia {
    display: inline-flex; align-items: flex-start; gap: 8px;
    margin: 12px 0 0; padding: 8px 12px;
    font-size: 13px; line-height: 1.45; color: var(--success-deep);
    background: var(--success-soft-alt); border-radius: 12px;
}
.b2b-garantia i { margin-top: 2px; }
.b2b-garantia--form { display: flex; margin: 4px 0 0; }

.b2b-resumo-acoes { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.b2b-btn--auto { width: auto; min-height: 44px; padding: 0 18px; text-decoration: none; }
.b2b-btn-sec[disabled], .b2b-btn[disabled] { opacity: .6; cursor: default; }

.b2b-disp {
    display: flex; flex-direction: column; gap: 8px;
    padding: 12px; border-radius: 14px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft);
}
.b2b-disp-rotulo { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cora-text-soft); }
.b2b-disp-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.b2b-dia {
    width: 38px; height: 38px; border-radius: 50%;
    font: 700 13px var(--cora-font-body); color: var(--cora-text-soft);
    background: var(--cora-card); border: 1px solid var(--cora-border); cursor: pointer;
}
.b2b-dia--on { background: #1F262D; border-color: #1F262D; color: #FFFFFF; }

.b2b-selos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-selo {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 9px; font-size: 12px; font-weight: 600;
    color: var(--cora-text-soft); background: var(--cora-surface);
    border-radius: var(--cora-radius-pill);
}
.b2b-selo--ok { color: var(--success-deep); background: var(--success-soft-alt); }
.b2b-selos-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.b2b-selos-lista li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.4; }
.b2b-selos-lista i { width: 18px; margin-top: 3px; text-align: center; }
.b2b-selo-ok i { color: var(--success-deep); }
.b2b-selo-neutro i { color: var(--cora-text-soft); }
.b2b-selo-alerta { color: var(--warning-deep); }

.b2b-equipes-toggle { display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-chip--tracejado { border-style: dashed; color: var(--cora-primary-dark); }
.b2b-equipe-nova { display: inline-flex; gap: 6px; align-items: center; }
.b2b-equipe-nova input, .b2b-equipe-edicao input, .b2b-cancelar input {
    height: 38px; padding: 0 12px; min-width: 0;
    font: 400 16px var(--cora-font-body); color: var(--cora-text);
    background: var(--cora-card); border: 1px solid var(--cora-border); border-radius: 10px;
}

.b2b-sucesso { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding-top: 40px; }
.b2b-sucesso > i { font-size: 44px; color: var(--success-deep); }
.b2b-form-local { display: flex; gap: 8px; margin: 6px 0 4px; font-size: 15px; line-height: 1.4; }
.b2b-form-local i { color: var(--cora-primary-dark); margin-top: 3px; }
.b2b-form-dica { margin: 0 0 12px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-campo { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.b2b-campo > span { font-size: 13px; font-weight: 700; color: var(--cora-text); }
.b2b-campo select, .b2b-campo input, .b2b-campo textarea {
    width: 100%; min-height: 46px; padding: 10px 12px;
    font: 400 16px var(--cora-font-body); color: var(--cora-text);
    background: var(--cora-card); border: 1px solid var(--cora-border); border-radius: 12px;
}
.b2b-campo textarea { resize: vertical; }
.b2b-opcoes { display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-form-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.b2b-stepper { display: inline-flex; align-items: center; gap: 16px; }
.b2b-stepper button {
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid var(--cora-border); background: var(--cora-card); color: var(--cora-text);
    font-size: 15px; cursor: pointer;
}
.b2b-stepper strong { min-width: 28px; text-align: center; font-family: var(--cora-font-display); font-size: 22px; }
.b2b-form-erro {
    display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 10px 12px;
    font-size: 13px; color: var(--danger-deep); background: var(--danger-soft-alt); border-radius: 12px;
}

.b2b-pagina-topo { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.b2b-grid--lista { grid-template-columns: 1fr !important; }
@media (min-width: 900px) { .b2b-grid--lista { grid-template-columns: 1fr 1fr !important; } }
.b2b-vazio-dica { margin: 0; font-size: 13px; color: var(--cora-text-soft); }
.b2b-dica-card {
    display: flex; gap: 8px; margin: 0 0 16px; padding: 10px 12px;
    font-size: 13px; line-height: 1.45; color: var(--info-deep); background: var(--info-soft-alt); border-radius: 12px;
}

.b2b-contadores { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.b2b-contadores li {
    display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 6px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft); border-radius: 14px;
}
.b2b-contadores strong { font-family: var(--cora-font-display); font-size: 22px; color: var(--cora-primary-dark); }
.b2b-contadores span { font-size: 12px; color: var(--cora-text-soft); }

.b2b-demanda { cursor: default; gap: 8px; margin-top: 12px; }
.b2b-demanda-topo { display: flex; justify-content: space-between; align-items: center; }
.b2b-demanda-id { font-size: 13px; font-weight: 700; color: var(--cora-text-soft); }
.b2b-demanda-titulo { white-space: normal; }
.b2b-status { padding: 3px 10px; font-size: 12px; font-weight: 700; border-radius: var(--cora-radius-pill); }
.b2b-status--nova { color: var(--warning-deep); background: var(--warning-soft-alt); }
.b2b-status--cotacao { color: var(--info-deep); background: var(--info-soft-alt); }
.b2b-status--proposta { color: var(--cora-primary-dark); background: var(--cora-primary-soft); }
.b2b-status--fechada { color: var(--success-deep); background: var(--success-soft-alt); }
.b2b-status--cancelada { color: var(--muted-deep); background: var(--muted-soft-alt); }
.b2b-demanda-dados li { font-size: 13px; }
.b2b-demanda-ultima {
    display: flex; gap: 8px; margin: 0; padding: 10px 12px;
    font-size: 13px; line-height: 1.45; background: var(--cora-surface); border-radius: 12px;
}
.b2b-demanda-ultima small { color: var(--cora-text-soft); }
.b2b-demanda-acoes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.b2b-link {
    padding: 6px 0; border: 0; background: none; cursor: pointer;
    font: 700 13px var(--cora-font-body); color: var(--cora-primary-dark);
}
.b2b-link--perigo { color: var(--danger-deep); }
.b2b-btn-sec--perigo { color: var(--danger-deep); border-color: var(--danger-deep); }
.b2b-cancelar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.b2b-timeline { list-style: none; margin: 4px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--cora-border); display: flex; flex-direction: column; gap: 10px; }
.b2b-timeline li { font-size: 13px; line-height: 1.45; }
.b2b-timeline p { margin: 2px 0 0; }
.b2b-timeline-data { display: block; font-size: 12px; color: var(--cora-text-soft); }

.b2b-equipe-form { cursor: default; margin-bottom: 16px; }
.b2b-equipe-form .b2b-campo { margin-top: 0; }
.b2b-equipe { cursor: default; margin-top: 12px; }
.b2b-equipe-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.b2b-equipe-qtd { font: 600 12px var(--cora-font-body); color: var(--cora-text-soft); margin-left: 6px; }
.b2b-equipe-desc { margin: 4px 0 0; font-size: 13px; color: var(--cora-text-soft); }
.b2b-equipe-botoes { display: flex; align-items: center; gap: 6px; }
.b2b-equipe-edicao { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; }
.b2b-icone-btn {
    width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid var(--cora-border); background: var(--cora-card); color: var(--cora-text-soft); cursor: pointer;
}
.b2b-icone-btn--perigo { color: var(--danger-deep); }
.b2b-membros { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.b2b-membro { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--cora-border-soft); }
.b2b-avatar--sm { width: 42px; height: 42px; font-size: 13px; }
.b2b-membro-id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.b2b-membro-id > span { font-size: 13px; color: var(--cora-text-soft); }
.b2b-equipe-rodape { display: flex; justify-content: flex-end; }

.b2b-alerta { cursor: default; flex-direction: row; align-items: flex-start; gap: 12px; }
.b2b-alerta-icone {
    flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--cora-primary-dark); background: var(--cora-primary-soft);
}
.b2b-alerta-corpo { flex: 1; min-width: 0; }
.b2b-alerta-desc { margin: 4px 0 0; font-size: 13px; color: var(--cora-text-soft); }

.adm-b2b-obs { margin-top: 12px; }
.adm-b2b-texto { margin: 6px 0 0; line-height: 1.5; white-space: pre-line; }
.adm-b2b-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 16px 0; }
@media (min-width: 1100px) { .adm-b2b-grid { grid-template-columns: 1fr 1fr; } }
.adm-b2b-sep { margin-top: 20px; }
.adm-b2b-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.adm-b2b-timeline li { padding-left: 12px; border-left: 3px solid var(--cora-primary-soft); }
.adm-b2b-interno { border-left-color: var(--cora-border) !important; opacity: .85; }
.b2b-equipe-topo > div:first-child { flex: 1; min-width: 0; }
.b2b-equipe-botoes { flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; }
.b2b-equipe-topo .b2b-card-nome { white-space: normal; }
.adm-b2b-push { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 8px 0 14px; }
@media (min-width: 1100px) { .adm-b2b-push { grid-template-columns: 1fr 1fr; align-items: start; } }
.adm-b2b-push-cartao { display: flex; flex-direction: column; gap: 4px; margin: 6px 0; padding: 12px 14px; border-radius: 14px; background: var(--cora-surface); border: 1px solid var(--cora-border); font-size: 0.9rem; line-height: 1.45; }
.adm-b2b-push-cartao strong { font-size: 0.92rem; }
.adm-b2b-push-envio { display: flex; flex-direction: column; gap: 10px; }
.adm-b2b-push-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.adm-b2b-check { width: 36px; text-align: center; }
.adm-b2b-check input { width: 18px; height: 18px; cursor: pointer; }
.adm-b2b-linha-marcada td { background: var(--brand-alpha-04); }

@media (max-width: 1099.98px) {
    .b2b-shell ~ .adm-toasts { bottom: calc(84px + env(safe-area-inset-bottom)); }
    .auth-field input { font-size: 16px; }
}
@media (max-width: 480px) {
    .b2b-top-link span, .b2b-top-sair span { display: none; }
    .b2b-top-link, .b2b-top-sair { padding-left: 10px; padding-right: 10px; }
}

.b2b-btn-sec { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.b2b-btn-sec:hover:not(:disabled) { background: var(--cora-primary-soft); }

.b2b-carregando {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 20px; padding: 72px 16px; min-height: 45vh; text-align: center;
    animation: b2bSurge .25s ease both;
}
.b2b-carregando--tela {
    position: fixed; left: 0; right: 0; bottom: 0; top: 64px; z-index: 45;
    min-height: 0; background: var(--b2b-ground, #FBFAF6);
}
.b2b-carregando-marca { position: relative; width: 96px; height: 96px; display: grid; place-items: center; }
.b2b-carregando-marca img { position: relative; z-index: 1; width: 60px; height: 60px; object-fit: contain; animation: b2bRespira 1.6s ease-in-out infinite; }
.b2b-carregando-onda {
    position: absolute; inset: 0; border-radius: 50%;
    border: 2px solid rgba(218, 72, 59, .45);
    animation: b2bOnda 2.4s cubic-bezier(.2, .6, .3, 1) infinite;
}
.b2b-carregando-onda--2 { animation-delay: .8s; }
.b2b-carregando-onda--3 { animation-delay: 1.6s; }
.b2b-carregando-texto { margin: 0; font: 600 15px var(--cora-font-body); color: var(--cora-text-soft); }
@keyframes b2bOnda { from { transform: scale(.6); opacity: .9; } to { transform: scale(1.9); opacity: 0; } }
@keyframes b2bRespira { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@keyframes b2bSurge { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.b2b-vazio2 {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    max-width: 560px; margin: 24px auto; padding: 40px 24px 36px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft);
    border-radius: 24px; box-shadow: var(--cora-shadow);
    animation: b2bSurge .3s ease both;
}
.b2b-vazio2--compacto { margin: 12px auto; padding: 28px 20px; box-shadow: none; }
.b2b-vazio2-arte { position: relative; width: 120px; height: 120px; margin-bottom: 18px; display: grid; place-items: center; }
.b2b-vazio2-arco { position: absolute; border-radius: 50%; }
.b2b-vazio2-arco--1 { inset: 0; background: rgba(241, 180, 175, .35); }
.b2b-vazio2-arco--2 { inset: 16px; background: rgba(235, 113, 72, .16); }
.b2b-vazio2-icone {
    position: relative; width: 64px; height: 64px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--cora-gradient); color: #FFFFFF; font-size: 26px;
    box-shadow: 0 8px 20px rgba(198, 50, 59, .28);
}
.b2b-vazio2--erro .b2b-vazio2-arco--1 { background: rgba(139, 149, 161, .18); }
.b2b-vazio2--erro .b2b-vazio2-arco--2 { background: rgba(139, 149, 161, .14); }
.b2b-vazio2--erro .b2b-vazio2-icone { background: #5C6770; box-shadow: none; }
.b2b-vazio2-titulo { margin: 0 0 8px; font: 800 20px/1.25 var(--cora-font-display); color: var(--cora-text); }
.b2b-vazio2-texto { margin: 0; max-width: 420px; font-size: 15px; line-height: 1.5; color: var(--cora-text-soft); }
.b2b-vazio2-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }

.b2b-top-sino {
    position: relative; width: 42px; height: 42px; flex: 0 0 auto;
    display: inline-grid; place-items: center;
    border-radius: 50%; border: 1px solid var(--cora-border);
    color: var(--cora-text); background: transparent; text-decoration: none; font-size: 17px;
}
.b2b-top-sino:hover, .b2b-top-sino.active { background: var(--cora-primary-soft); color: var(--cora-primary-dark); border-color: transparent; }
.b2b-top-sino-badge {
    position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px;
    border-radius: 999px; background: var(--cora-primary-dark); color: #FFFFFF;
    font: 700 11px/18px var(--cora-font-body); text-align: center;
    border: 2px solid var(--cora-card);
}

.b2b-home-hero {
    position: relative; overflow: hidden;
    display: grid; grid-template-columns: 1fr; gap: 20px;
    padding: 28px 24px; border-radius: 24px;
    background: var(--cora-gradient); color: #FFFFFF;
    box-shadow: 0 16px 40px rgba(198, 50, 59, .22);
    margin-bottom: 22px;
}
.b2b-home-hero::before, .b2b-home-hero::after {
    content: ""; position: absolute; border-radius: 50%; pointer-events: none;
}
.b2b-home-hero::before { width: 260px; height: 260px; right: -90px; top: -110px; background: rgba(241, 180, 175, .22); }
.b2b-home-hero::after { width: 170px; height: 170px; right: -40px; top: -50px; background: rgba(255, 255, 255, .10); }
.b2b-home-hero > * { position: relative; z-index: 1; }
.b2b-home-kicker {
    display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px;
    font-size: 13px; font-weight: 700; letter-spacing: .02em;
    background: rgba(255, 255, 255, .16); padding: 5px 12px; border-radius: 999px;
}
.b2b-home-titulo { margin: 0 0 8px; font: 800 28px/1.15 var(--cora-font-display); }
.b2b-home-sub { margin: 0; max-width: 520px; font-size: 15px; line-height: 1.5; opacity: .92; }
.b2b-home-busca {
    display: flex; align-items: center; gap: 8px; margin-top: 18px; max-width: 560px;
    background: #FFFFFF; border-radius: 999px; padding: 6px 6px 6px 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.b2b-home-busca i { color: var(--cora-primary-dark); }
.b2b-home-busca input {
    flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
    font: 500 16px var(--cora-font-body); color: #1F262D;
}
.b2b-home-busca button {
    min-height: 42px; padding: 0 18px; border: 0; border-radius: 999px; cursor: pointer;
    background: var(--cora-primary-dark); color: #FFFFFF; font: 700 14px var(--cora-font-body);
}
.b2b-home-garantia { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 14px; opacity: .95; }
.b2b-home-radar { display: none; }

.b2b-radar-deco {
    position: relative; width: 220px; height: 220px; border-radius: 50%; overflow: hidden;
    background:
        repeating-radial-gradient(circle closest-side, transparent 0 calc(25% - 1px), rgba(255, 255, 255, .28) calc(25% - 1px) 25%),
        rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .35);
}
.b2b-radar-deco::before {
    content: ""; position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(from 0deg, rgba(255, 255, 255, 0) 0deg 290deg, rgba(255, 255, 255, .38) 355deg, rgba(255, 255, 255, .7) 360deg);
    animation: b2bRadarGira 3.6s linear infinite;
}
.b2b-radar-deco::after {
    content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px;
    border-radius: 50%; background: #FFFFFF; box-shadow: 0 0 0 4px rgba(255, 255, 255, .25);
}
.b2b-radar-blip {
    position: absolute; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%;
    background: #FFFFFF; box-shadow: 0 0 0 0 rgba(255, 255, 255, .7);
    animation: b2bBlip 3.6s ease-out infinite;
}
.b2b-radar-total { margin: 12px 0 0; text-align: center; font: 700 14px var(--cora-font-body); }
.b2b-radar-total strong { font: 800 22px var(--cora-font-display); display: block; }
@keyframes b2bRadarGira { to { transform: rotate(360deg); } }
@keyframes b2bBlip {
    0% { transform: scale(.6); opacity: .25; box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); }
    12% { transform: scale(1.25); opacity: 1; box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); }
    100% { transform: scale(.8); opacity: .35; box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

.b2b-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.b2b-kpi {
    display: flex; flex-direction: column; gap: 6px; padding: 16px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft); border-radius: 18px;
    box-shadow: var(--cora-shadow); text-decoration: none; color: inherit;
    transition: transform .15s ease, box-shadow .15s ease;
}
a.b2b-kpi:hover { transform: translateY(-2px); box-shadow: var(--cora-shadow-lg); }
.b2b-kpi-icone {
    width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center;
    background: var(--cora-primary-soft); color: var(--cora-primary-dark); font-size: 16px;
}
.b2b-kpi-valor { font: 800 26px/1 var(--cora-font-display); color: var(--cora-text); }
.b2b-kpi-rotulo { font-size: 13px; font-weight: 600; color: var(--cora-text-soft); }

.b2b-home-secao { margin-bottom: 24px; }
.b2b-home-secao-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.b2b-home-secao-titulo { margin: 0; font: 800 18px var(--cora-font-display); color: var(--cora-text); }
.b2b-home-secao-topo a { font-size: 14px; font-weight: 700; color: var(--cora-primary-dark); text-decoration: none; }
.b2b-atalhos { display: grid; grid-template-columns: 1fr; gap: 12px; }
.b2b-atalho {
    display: flex; align-items: center; gap: 14px; padding: 16px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft); border-radius: 18px;
    box-shadow: var(--cora-shadow); text-decoration: none; color: inherit;
    transition: transform .15s ease, box-shadow .15s ease;
}
.b2b-atalho:hover { transform: translateY(-2px); box-shadow: var(--cora-shadow-lg); }
.b2b-atalho-icone {
    flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
    background: var(--cora-gradient); color: #FFFFFF; font-size: 19px;
}
.b2b-atalho-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.b2b-atalho-texto strong { font: 700 15px var(--cora-font-body); color: var(--cora-text); }
.b2b-atalho-texto span { font-size: 13px; color: var(--cora-text-soft); }
.b2b-atalho > .fa-chevron-right { margin-left: auto; color: var(--cora-muted); }
.b2b-recentes { display: flex; flex-direction: column; gap: 10px; }
.b2b-recente {
    display: flex; align-items: center; gap: 12px; padding: 14px 16px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft); border-radius: 16px;
    text-decoration: none; color: inherit;
}
.b2b-recente-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.b2b-recente-texto strong { font-size: 15px; color: var(--cora-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b2b-recente-texto span { font-size: 13px; color: var(--cora-text-soft); }

@media (min-width: 720px) {
    .b2b-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .b2b-atalhos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
    .b2b-home-hero { grid-template-columns: 1fr auto; align-items: center; padding: 34px 36px; }
    .b2b-home-radar { display: flex; flex-direction: column; align-items: center; }
    .b2b-carregando--tela { top: 66px; }
}

.b2b-radar {
    position: absolute; left: 0; top: 0; border-radius: 50%; pointer-events: none; overflow: hidden;
    background: repeating-radial-gradient(circle closest-side, transparent 0 calc(25% - 1px), rgba(198, 50, 59, .22) calc(25% - 1px) 25%);
    box-shadow: inset 0 0 0 1px rgba(198, 50, 59, .35);
    transition: opacity .3s ease;
}
.b2b-radar::before {
    content: ""; position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(from 0deg, rgba(235, 113, 72, 0) 0deg 280deg, rgba(235, 113, 72, .20) 340deg, rgba(198, 50, 59, .42) 360deg);
    animation: b2bRadarGira 4s linear infinite;
}
.b2b-radar--ocioso { opacity: .75; }
.b2b-radar--oculto { opacity: 0; }
.b2b-mapa path.b2b-ponto-blip { animation: b2bBlipMapa 2.2s ease-in-out infinite; }
@keyframes b2bBlipMapa { 0%, 100% { stroke-width: 1.5; stroke-opacity: 1; } 50% { stroke-width: 7; stroke-opacity: .35; } }

@media (prefers-reduced-motion: reduce) {
    .b2b-carregando-onda, .b2b-carregando-marca img, .b2b-radar::before, .b2b-radar-deco::before,
    .b2b-radar-blip, .b2b-mapa path.b2b-ponto-blip { animation: none; }
}

.b2b-top-marca { display: inline-flex; align-items: center; }
.b2b-status--recusada { color: var(--danger-deep); background: var(--danger-soft-alt); }

.b2b-status-icone {
    flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px;
    display: grid; place-items: center; font-size: 16px;
    color: var(--muted-deep); background: var(--muted-soft-alt);
}
.b2b-status-icone--lg { width: 56px; height: 56px; border-radius: 16px; font-size: 22px; }
.b2b-status-icone--analise { color: var(--warning-deep); background: var(--warning-soft-alt); }
.b2b-status-icone--aberta { color: var(--info-deep); background: var(--info-soft-alt); }
.b2b-status-icone--fechada { color: var(--success-deep); background: var(--success-soft-alt); }
.b2b-status-icone--recusada { color: var(--danger-deep); background: var(--danger-soft-alt); }
.b2b-pilula-nova {
    flex: 0 0 auto; padding: 4px 10px; border-radius: 999px;
    font: 700 12px var(--cora-font-body); color: #FFFFFF; background: var(--cora-primary-dark);
}
.b2b-recente > .fa-chevron-right { color: var(--cora-muted); }

.b2b-voltar {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px;
    font: 700 14px var(--cora-font-body); color: var(--cora-text-soft); text-decoration: none;
}
.b2b-voltar:hover { color: var(--cora-primary-dark); }

.b2b-lista-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 16px; }
.b2b-busca-clientes {
    flex: 1 1 280px; display: flex; align-items: center; gap: 10px;
    padding: 0 16px; min-height: 48px; border-radius: 999px;
    background: var(--cora-card); border: 1px solid var(--cora-border);
}
.b2b-busca-clientes i { color: var(--cora-muted); }
.b2b-busca-clientes input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 500 16px var(--cora-font-body); color: var(--cora-text); }
.b2b-grid--clientes { grid-template-columns: 1fr; }
@media (min-width: 720px) { .b2b-grid--clientes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .b2b-grid--clientes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.b2b-cliente-card { text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 14px; }
.b2b-cliente-local { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; line-height: 1.4; color: var(--cora-text-soft); }
.b2b-cliente-local i { margin-top: 3px; color: var(--cora-primary-dark); }
.b2b-cliente-local .fa-triangle-exclamation { color: var(--warning-deep); }
.b2b-cliente-numeros { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.b2b-cliente-numeros li {
    display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px;
    border-radius: 12px; background: var(--cora-surface); text-align: center;
}
.b2b-cliente-numeros strong { font: 800 20px var(--cora-font-display); color: var(--cora-text); }
.b2b-cliente-numeros span { font-size: 12px; line-height: 1.3; color: var(--cora-text-soft); }
.b2b-cliente-numero--destaque { background: var(--cora-primary-soft) !important; }
.b2b-cliente-numero--destaque strong { color: var(--cora-primary-dark); }

.b2b-sheet-form { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.b2b-form-cep { align-items: end; }
.b2b-cep-status { display: flex; align-items: center; gap: 8px; min-height: 48px; font-size: 13px; }
.b2b-cep-ok, .b2b-cep-erro { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.b2b-cep-ok { color: var(--success-deep); }
.b2b-cep-erro { color: var(--danger-deep); }
.b2b-form-tres { display: grid; grid-template-columns: 1fr; gap: 0 12px; }
@media (min-width: 560px) { .b2b-form-tres { grid-template-columns: 1.2fr 1.2fr .5fr; } }
.b2b-toggle-linha {
    display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 12px 14px;
    border-radius: 12px; background: var(--cora-surface); font-size: 15px; font-weight: 600; cursor: pointer;
}
.b2b-toggle-linha input { width: 20px; height: 20px; accent-color: var(--cora-primary-dark); }
.b2b-form-acoes { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 16px; }

.b2b-ficha {
    padding: 22px; margin-bottom: 18px; border-radius: 24px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft); box-shadow: var(--cora-shadow);
}
.b2b-ficha-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.b2b-ficha-id { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.b2b-ficha-id .b2b-hero-title { margin: 0; }
.b2b-ficha-kicker { font-size: 13px; font-weight: 700; color: var(--cora-text-soft); }
.b2b-ficha-contato { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; color: var(--cora-text-soft); }
.b2b-ficha-contato li { display: inline-flex; align-items: center; gap: 6px; }
.b2b-ficha-contato i { color: var(--cora-primary-dark); }
.b2b-ficha-alerta, .b2b-ficha-alerta i { color: var(--warning-deep) !important; }
.b2b-ficha-acoes { display: flex; align-items: center; gap: 8px; }
.b2b-ficha-obs {
    display: flex; gap: 8px; margin: 16px 0 0; padding: 12px 14px; border-radius: 12px;
    background: var(--cora-surface); font-size: 14px; line-height: 1.5; color: var(--cora-text);
}
.b2b-ficha-obs i { margin-top: 3px; color: var(--cora-muted); }
.b2b-ficha-valor {
    display: flex; flex-direction: column; align-items: flex-end; gap: 2px; padding: 12px 16px;
    border-radius: 16px; background: var(--cora-primary-soft); text-align: right;
}
.b2b-ficha-valor span, .b2b-ficha-valor small { font-size: 12px; font-weight: 600; color: var(--cora-text-soft); }
.b2b-ficha-valor strong { font: 800 24px var(--cora-font-display); color: var(--cora-primary-dark); }
.b2b-avatar--saude { display: inline-grid; place-items: center; background: var(--cora-gradient); color: #FFFFFF; font-size: 26px; }
.b2b-confirmar, .b2b-confirmar-inline {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; color: var(--cora-text);
}
.b2b-confirmar { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--danger-soft-alt); }
.b2b-privacidade {
    display: flex; align-items: flex-start; gap: 8px; margin: 16px 0 0; padding: 10px 14px; border-radius: 12px;
    font-size: 13px; line-height: 1.45; color: var(--info-deep); background: var(--info-soft-alt);
}
.b2b-privacidade i { margin-top: 2px; }

.b2b-bloco {
    padding: 20px; margin-bottom: 18px; border-radius: 20px;
    background: var(--cora-card); border: 1px solid var(--cora-border-soft);
}
.b2b-bloco-topo { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.b2b-bloco-topo .b2b-home-secao-titulo { display: flex; align-items: center; gap: 8px; }
.b2b-bloco-topo .b2b-home-secao-titulo i { color: var(--cora-primary-dark); font-size: 16px; }
.b2b-bloco-sub { margin: 4px 0 0; font-size: 13px; color: var(--cora-text-soft); }
.b2b-bloco .b2b-vazio2 { margin: 0 auto; border: 0; }

.b2b-prof-lista { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 900px) { .b2b-prof-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.b2b-prof-item {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px;
    border-radius: 16px; border: 1px solid var(--cora-border-soft); background: var(--cora-surface-alt);
}
.b2b-prof-item--fixado { border-color: var(--cora-primary-light); background: var(--cora-primary-soft); }
.b2b-prof-item-id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.b2b-prof-item-id strong { font-size: 15px; color: var(--cora-text); }
.b2b-prof-item-id > span { font-size: 13px; color: var(--cora-text-soft); }
.b2b-prof-item-regiao { font-size: 12px !important; }
.b2b-fixado-icone { margin-left: 6px; font-size: 12px; color: var(--cora-primary-dark); }
.b2b-prof-item-acoes { display: flex; flex-direction: column; gap: 6px; }
.b2b-icone-btn--on { color: var(--cora-primary-dark); border-color: var(--cora-primary-dark); background: var(--cora-primary-soft); }
.b2b-escondidos { margin-top: 12px; font-size: 14px; color: var(--cora-text-soft); }
.b2b-escondidos summary { cursor: pointer; font-weight: 700; }
.b2b-escondido { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--cora-border-soft); }

.b2b-pacientes { display: flex; flex-direction: column; gap: 10px; }
.b2b-paciente {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px;
    border-radius: 16px; background: var(--cora-surface-alt); border: 1px solid var(--cora-border-soft);
}
.b2b-paciente-id { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 220px; }
.b2b-paciente-id strong { font-size: 15px; color: var(--cora-text); }
.b2b-paciente-id span { font-size: 13px; color: var(--cora-text-soft); }
.b2b-paciente-obs { font-style: italic; }
.b2b-paciente-acoes { display: flex; align-items: center; gap: 8px; }

.b2b-prontuario { display: grid; grid-template-columns: 1fr; gap: 0 18px; align-items: start; }
@media (min-width: 1100px) { .b2b-prontuario { grid-template-columns: 1fr 1fr; } }
.b2b-clinico { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.b2b-clinico-item { padding: 12px 14px; border-radius: 12px; background: var(--cora-surface); }
.b2b-clinico-item dt { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--cora-text-soft); }
.b2b-clinico-item dt i { color: var(--cora-primary-dark); }
.b2b-clinico-item dd { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--cora-text); white-space: pre-line; }
.b2b-clinico-item--alerta { background: var(--danger-soft-alt); }
.b2b-clinico-item--alerta dt, .b2b-clinico-item--alerta dt i { color: var(--danger-deep); }
.b2b-evolucao-form { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--cora-border-soft); }
.b2b-evolucao-form .b2b-campo:first-child { margin-top: 0; }
.b2b-sinais { margin-top: 10px; }
.b2b-sinais summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--cora-primary-dark); }
.b2b-sinais-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
@media (min-width: 640px) { .b2b-sinais-grade { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.b2b-evolucoes { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--cora-border); display: flex; flex-direction: column; gap: 14px; }
.b2b-evolucao { position: relative; }
.b2b-evolucao::before {
    content: ""; position: absolute; left: -23px; top: 4px; width: 12px; height: 12px; border-radius: 50%;
    background: var(--cora-card); border: 2px solid var(--cora-primary-dark);
}
.b2b-evolucao--prof::before { background: var(--cora-primary-dark); }
.b2b-evolucao-topo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.b2b-evolucao-topo strong { font-size: 14px; color: var(--cora-text); }
.b2b-evolucao-topo span { font-size: 12px; color: var(--cora-text-soft); }
.b2b-evolucao p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--cora-text); white-space: pre-line; }
.b2b-sinais-lista { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.b2b-sinais-lista li { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--info-deep); background: var(--info-soft-alt); }

.b2b-chips--rolagem { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; margin-bottom: 14px; scrollbar-width: none; }
.b2b-chips--rolagem::-webkit-scrollbar { display: none; }
.b2b-chips--rolagem .b2b-chip { flex: 0 0 auto; }
.b2b-chip-qtd {
    display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px;
    border-radius: 999px; font-size: 12px; font-weight: 700; background: rgba(0, 0, 0, .08);
}
.b2b-chip--on .b2b-chip-qtd { background: rgba(255, 255, 255, .25); }

.b2b-solicitacoes { display: flex; flex-direction: column; gap: 10px; }
.b2b-solicitacao-card {
    display: flex; align-items: center; gap: 14px; padding: 16px;
    border-radius: 18px; background: var(--cora-card); border: 1px solid var(--cora-border-soft);
    box-shadow: var(--cora-shadow); text-decoration: none; color: inherit;
    transition: transform .15s ease, box-shadow .15s ease;
}
.b2b-solicitacao-card:hover { transform: translateY(-1px); box-shadow: var(--cora-shadow-lg); }
.b2b-solicitacao-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.b2b-solicitacao-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.b2b-solicitacao-linha strong { font-size: 15px; color: var(--cora-text); }
.b2b-solicitacao-meta { font-size: 13px; color: var(--cora-text-soft); overflow: hidden; text-overflow: ellipsis; }
.b2b-valor { font-family: var(--cora-font-display); color: var(--cora-primary-dark); }
.b2b-solicitacao-seta { color: var(--cora-muted); }

.b2b-detalhes { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 720px) { .b2b-detalhes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.b2b-detalhes li {
    display: grid; grid-template-columns: 20px 92px 1fr; align-items: baseline; gap: 8px;
    padding: 10px 12px; border-radius: 12px; background: var(--cora-surface); font-size: 14px;
}
.b2b-detalhes i { color: var(--cora-primary-dark); }
.b2b-detalhes span { color: var(--cora-text-soft); font-size: 13px; }
.b2b-detalhes strong, .b2b-detalhes a { color: var(--cora-text); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.b2b-detalhes a { color: var(--cora-primary-dark); }

.b2b-etapa {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-bottom: 18px; padding: 16px 18px;
    border-radius: 18px; background: var(--muted-soft-alt); color: var(--muted-deep);
}
.b2b-etapa > i { font-size: 22px; }
.b2b-etapa > div { flex: 1 1 240px; display: flex; flex-direction: column; gap: 2px; }
.b2b-etapa strong { font: 800 16px var(--cora-font-display); }
.b2b-etapa span { font-size: 14px; line-height: 1.45; color: var(--cora-text); }
.b2b-etapa--analise { background: var(--warning-soft-alt); color: var(--warning-deep); }
.b2b-etapa--aberta { background: var(--info-soft-alt); color: var(--info-deep); }
.b2b-etapa--fechada { background: var(--success-soft-alt); color: var(--success-deep); }
.b2b-etapa--recusada { background: var(--danger-soft-alt); color: var(--danger-deep); }

.b2b-respostas { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 900px) { .b2b-respostas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.b2b-resposta {
    display: flex; flex-direction: column; gap: 12px; padding: 16px;
    border-radius: 18px; border: 1px solid var(--cora-border-soft); background: var(--cora-surface-alt);
}
.b2b-resposta--escolhida { border: 2px solid var(--success-deep); background: var(--success-soft-alt); }
.b2b-resposta--recusa { opacity: .65; }
.b2b-resposta-prof { display: flex; align-items: flex-start; gap: 12px; }
.b2b-resposta-sub { font-size: 13px; color: var(--cora-text-soft); }
.b2b-resposta-oferta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.b2b-resposta-oferta strong { font: 800 22px var(--cora-font-display); color: var(--cora-text); }
.b2b-resposta-oferta small { font-size: 12px; color: var(--cora-text-soft); }
.b2b-resposta-tipo { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.b2b-resposta-tipo--1 { color: var(--success-deep); background: var(--success-soft-alt); }
.b2b-resposta-tipo--2 { color: var(--warning-deep); background: var(--warning-soft-alt); }
.b2b-resposta-tipo--3 { color: var(--muted-deep); background: var(--muted-soft-alt); }
.b2b-resposta-msg { display: flex; gap: 8px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--cora-text); }
.b2b-resposta-msg i { margin-top: 3px; color: var(--cora-muted); }
.b2b-resposta-acoes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.b2b-resposta-data { font-size: 12px; color: var(--cora-text-soft); }
.b2b-escolhido { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--success-deep); }
.b2b-cancelar-bloco { margin: 8px 0 24px; text-align: center; }

.b2b-form-pagina { max-width: 860px; }
.b2b-form-passo { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font: 800 18px var(--cora-font-display); color: var(--cora-text); }
.b2b-form-passo span {
    width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    font-size: 14px; color: #FFFFFF; background: var(--cora-gradient);
}
.b2b-regiao-ok {
    display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 12px 14px; border-radius: 12px;
    font-size: 14px; color: var(--cora-text); background: var(--cora-primary-soft);
}
.b2b-regiao-ok i { color: var(--cora-primary-dark); }
.b2b-regiao-ok strong { font-family: var(--cora-font-display); color: var(--cora-primary-dark); }
.b2b-moeda {
    display: flex; align-items: center; gap: 8px; padding: 0 14px; min-height: 52px;
    border: 1px solid var(--cora-border); border-radius: 12px; background: var(--cora-card);
}
.b2b-moeda span { font: 800 18px var(--cora-font-display); color: var(--cora-primary-dark); }
.b2b-moeda input { flex: 1; min-width: 0; border: 0 !important; outline: 0; padding: 0 !important; background: transparent; font: 700 20px var(--cora-font-display) !important; color: var(--cora-text); }
.b2b-form-rodape { position: sticky; bottom: 0; padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); background: linear-gradient(to top, var(--b2b-ground, #FBFAF6) 70%, transparent); }
@media (max-width: 1099.98px) { .b2b-form-rodape { bottom: calc(64px + env(safe-area-inset-bottom)); } }
.b2b-rodape-duas { display: grid; grid-template-columns: auto 1fr; gap: 10px; width: 100%; }

.adm-b2b-oferta { margin-bottom: 16px; }
.adm-b2b-oferta-topo { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.adm-b2b-valor { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; padding: 10px 14px; border-radius: 12px; background: var(--cora-primary-soft); }
.adm-b2b-valor span, .adm-b2b-valor small { font-size: 12px; color: var(--cora-text-soft); }
.adm-b2b-valor strong { font: 800 22px var(--cora-font-display); color: var(--cora-primary-dark); }
.adm-b2b-analise { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--cora-border-soft); }
.adm-b2b-grow { flex: 1 1 320px; }

.b2b-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.b2b-abas { display: flex; gap: 6px; margin: 0 0 16px; padding: 4px; border-radius: var(--cora-radius-pill); background: var(--cora-surface-alt); width: fit-content; max-width: 100%; }
.b2b-aba {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 0; border-radius: var(--cora-radius-pill);
    background: transparent; color: var(--cora-text-soft); font: 600 14px var(--cora-font-body); cursor: pointer;
}
.b2b-aba--on { background: var(--cora-card); color: var(--cora-primary-dark); box-shadow: var(--cora-shadow); }
.b2b-escala-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 12px; }
.b2b-semana-nav { display: flex; align-items: center; gap: 10px; }
.b2b-semana-nav strong { font: 700 16px var(--cora-font-display); color: var(--cora-text); min-width: 150px; text-align: center; }
.b2b-campo--inline { margin: 0; min-width: 0; flex: 0 1 280px; }
.b2b-campo--inline select { width: 100%; }
.b2b-escala-kpis { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.b2b-escala-kpis li { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 14px; background: var(--cora-card); border: 1px solid var(--cora-border-soft); }
.b2b-escala-kpis strong { font: 800 22px var(--cora-font-display); color: var(--cora-text); }
.b2b-escala-kpis span { font-size: 13px; color: var(--cora-text-soft); }
.b2b-escala-kpi--ok strong { color: var(--success-deep); }
.b2b-escala-kpi--alerta strong { color: var(--danger-deep); }
.b2b-escala-kpis .b2b-escala-kpi--urgente { background: var(--danger-soft-alt); border-color: transparent; }
.b2b-escala-kpi--urgente strong, .b2b-escala-kpi--urgente span { color: var(--danger-deep); }
.b2b-escala-selecao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 12px; font-size: 14px; color: var(--cora-text-soft); }
.b2b-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; transition: opacity .2s; }
.b2b-semana--atualizando { opacity: .55; pointer-events: none; }
.b2b-escala-dia { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 8px; border-radius: 14px; background: var(--cora-card); border: 1px solid var(--cora-border-soft); }
.b2b-escala-dia--hoje { border-color: var(--cora-primary-dark); box-shadow: 0 0 0 1px var(--cora-primary-dark) inset; }
.b2b-escala-dia--passado { opacity: .72; }
.b2b-escala-dia-topo { display: flex; align-items: baseline; gap: 6px; padding: 2px 2px 4px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-escala-dia-topo strong { font: 700 15px var(--cora-font-display); color: var(--cora-text); }
.b2b-escala-dia-alerta {
    margin-left: auto; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--cora-radius-pill);
    display: inline-grid; place-items: center; font: 700 12px var(--cora-font-body); font-style: normal;
    color: var(--b2b-sobre-perigo); background: var(--danger-deep);
}
.b2b-escala-dia-vazio { margin: 4px 2px; font-size: 13px; color: var(--cora-muted); }
.b2b-turno {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; min-width: 0; padding: 8px 10px;
    border-radius: 10px; border: 1px solid transparent; border-left-width: 4px; cursor: pointer; text-align: left;
    font: 500 13px var(--cora-font-body); color: var(--cora-text); background: var(--cora-surface);
}
.b2b-turno:hover { filter: brightness(.97); }
.b2b-turno-hora { font: 700 13px var(--cora-font-display); }
.b2b-turno-quem { display: flex; align-items: center; gap: 6px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b2b-turno-quem i { font-size: 12px; flex: none; }
.b2b-turno-escala { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--cora-text-soft); }
.b2b-turno-marcas { display: flex; gap: 6px; font-size: 12px; color: var(--success-deep); }
.b2b-turno--vazio { border-color: var(--danger-deep); background: var(--danger-soft-alt); color: var(--danger-deep); }
.b2b-turno--urgente { border-color: var(--danger-deep); background: var(--danger-deep); color: var(--b2b-sobre-perigo); }
.b2b-turno--urgente .b2b-turno-escala { color: rgba(255, 255, 255, .85); }
.b2b-turno--furo-passado { border-color: var(--cora-border); background: var(--cora-surface-alt); color: var(--cora-text-soft); }
.b2b-turno--equipe { border-color: var(--success-deep); background: var(--success-soft-alt); color: var(--success-deep); }
.b2b-turno--pedido { border-color: var(--warning-deep); background: var(--warning-soft-alt); color: var(--warning-deep); }
.b2b-turno--coralink { border-color: var(--cora-primary-dark); background: var(--cora-primary-soft); color: var(--cora-primary-dark); }
.b2b-turno--dispensado { border-color: var(--cora-border); background: transparent; color: var(--cora-muted); text-decoration: line-through; }
.b2b-turno--marcado { outline: 3px solid var(--cora-text); outline-offset: 2px; }
.b2b-turno--apagado { opacity: .35; cursor: default; }
.b2b-legenda { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: var(--cora-text-soft); }
.b2b-legenda li { display: inline-flex; align-items: center; gap: 6px; }
.b2b-legenda-cor { width: 14px; height: 14px; border-radius: 4px; border-style: solid; border-width: 1px 1px 1px 4px; padding: 0; }
.b2b-barra-acao {
    position: sticky; bottom: 76px; z-index: 5; margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 14px 12px 18px; border-radius: 16px; background: var(--cora-card); box-shadow: var(--cora-shadow-lg); border: 1px solid var(--cora-border-soft);
}
.b2b-escalas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: 14px; }
.b2b-escala-card--encerrada { opacity: .7; }
.b2b-escala-previa { display: flex; align-items: center; gap: 8px; margin: 4px 0 14px; padding: 10px 14px; border-radius: 12px; font-size: 14px; color: var(--info-deep); background: var(--info-soft-alt); }
.b2b-opcoes--atalhos { margin-top: 6px; gap: 14px; }
.b2b-turno-situacao { display: flex; align-items: center; gap: 8px; margin: 6px 0 12px; padding: 10px 12px; border-radius: 12px; border-left-style: solid; border-left-width: 4px; font-weight: 600; }
.b2b-turno-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cora-border-soft); }
.b2b-selo-urgente { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; font-size: 13px; font-weight: 600; color: var(--danger-deep); background: var(--danger-soft-alt); }
.b2b-selo-confiavel { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 16px; padding: 10px 14px; border-radius: 12px; font-size: 14px; color: var(--success-deep); background: var(--success-soft-alt); }
.b2b-pedido-turnos { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: 220px; overflow-y: auto; }
.b2b-pedido-turnos li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 8px 12px; border-radius: 10px; background: var(--cora-surface); font-size: 14px; }
.b2b-pedido-turnos span { font-size: 12px; color: var(--cora-text-soft); }
.b2b-moeda-total { margin: -4px 0 12px; font-size: 14px; color: var(--cora-text-soft); }
.b2b-moeda-total strong { color: var(--cora-primary-dark); font-family: var(--cora-font-display); }
.b2b-membro-card--inativo { opacity: .7; }
.b2b-membro-contato { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 14px; color: var(--cora-text-soft); }
.b2b-membro-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; }
.b2b-toggle-linha--compacto { margin: 0; font-size: 14px; }
.b2b-turnos-pedido { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.b2b-turnos-pedido li { padding: 4px 10px; border-radius: var(--cora-radius-pill); font-size: 13px; background: var(--cora-surface); color: var(--cora-text); }
.b2b-chip-urgente { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: var(--cora-radius-pill); font: 700 12px var(--cora-font-body); color: var(--b2b-sobre-perigo); background: var(--danger-deep); }

@media (max-width: 900px) {
    .b2b-semana { grid-template-columns: 1fr; }
    .b2b-escala-dia { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
    .b2b-escala-dia-topo { flex: 1 1 100%; }
    .b2b-turno { flex: 1 1 150px; width: auto; }
    .b2b-barra-acao { bottom: 72px; }
}
@media (max-width: 480px) {
    .b2b-escala-kpis { gap: 6px; }
    .b2b-escala-kpis li { padding: 10px; }
    .b2b-escala-kpis strong { font-size: 18px; }
    .b2b-semana-nav strong { min-width: 0; }
}

.b2b-shell { --b2b-sobre-perigo: #FFFFFF; }
:root[data-theme="dark"] .b2b-shell { --b2b-sobre-perigo: #1A1214; }
:root[data-theme="dark"] .b2b-chip--on { background: #F2F2F2; border-color: #F2F2F2; color: #15181C; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .b2b-shell { --b2b-sobre-perigo: #1A1214; }
    :root:not([data-theme="light"]) .b2b-chip--on { background: #F2F2F2; border-color: #F2F2F2; color: #15181C; }
}
.b2b-filtro-ativo {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: -6px 0 14px;
    font-size: 14px; color: var(--cora-text-soft);
}
.b2b-filtro-ativo i { color: var(--cora-primary-dark); }
@media (min-width: 1100px) {
    .b2b-barra-acao { bottom: 16px; }
}
@media (max-width: 400px) {
    .b2b-top-tag { display: none; }
}
