﻿/**
 * Layout do sistema cliente â€” tela cheia, menu superior responsivo.
 */

/* Alinhado ao painel admin: tipografia e fundo em body.admin-body (admin.css) */
body.cliente-app-body {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    -webkit-font-smoothing: antialiased;
}

body.cliente-app-body.admin-body .cliente-app:not(.cliente-app--sidebar-layout) {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

body.cliente-app-body.admin-body .cliente-app.cliente-app--sidebar-layout {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: row;
}

.cliente-app {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

/* â€”â€”â€” Barra superior â€”â€”â€” */
.cliente-app__header {
    position: sticky;
    top: 0;
    z-index: 100;
    flex-shrink: 0;
    width: 100%;
    background: var(--pj-white, #fff);
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.cliente-app__header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0.5rem clamp(0.75rem, 3vw, 1.25rem);
    box-sizing: border-box;
}

.cliente-app__brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1 1 auto;
    min-width: 0;
}

.cliente-app__logo {
    display: block;
    width: auto;
    max-width: min(160px, 42vw);
    height: auto;
    aspect-ratio: 213 / 69;
    object-fit: contain;
}

.cliente-app__menu-btn {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    background: var(--pj-white, #fff);
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
}

.cliente-app__menu-btn:hover {
    background: var(--pj-bg, #f4f5f7);
}

.cliente-app__menu-icon {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--pj-navy, #001e74);
    border-radius: 1px;
    box-shadow:
        0 -6px 0 var(--pj-navy, #001e74),
        0 6px 0 var(--pj-navy, #001e74);
}

/* Nav principal */
.cliente-app__nav-wrap {
    flex: 1 1 100%;
    order: 3;
    width: 100%;
}

@media (min-width: 901px) {
    .cliente-app__header-inner {
        flex-wrap: nowrap;
        align-items: center;
    }

    .cliente-app__brand {
        order: 1;
        flex: 0 0 auto;
    }

    .cliente-app__nav-wrap {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
    }
}

.cliente-app__nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.cliente-app__header--nav-open .cliente-app__nav {
    max-height: min(85vh, 640px);
    overflow-y: auto;
    padding-bottom: 0.5rem;
}

@media (min-width: 901px) {
    .cliente-app__nav {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 0.15rem 0.25rem;
        max-height: none;
        overflow: visible;
        padding-bottom: 0;
    }

    .cliente-app__header--nav-open .cliente-app__nav {
        max-height: none;
    }

    .cliente-app__nav > .cliente-app__user-menu {
        align-self: center;
        margin-left: 0.2rem;
    }
}

.cliente-app__nav-link {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 44px;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    font-size: clamp(0.85rem, 2vw, 0.92rem);
    font-weight: 500;
    color: var(--pj-text, #1a1a1e);
    text-decoration: none;
    border: 1px solid transparent;
    white-space: nowrap;
}

.cliente-app__ico {
    flex-shrink: 0;
    display: block;
    opacity: 0.92;
}

.cliente-app__ico--sm {
    width: 18px;
    height: 18px;
}

.cliente-app__ico--lg {
    width: 22px;
    height: 22px;
}

.cliente-app__nav-link--active .cliente-app__ico,
.cliente-app__nav-folder--active > .cliente-app__nav-summary .cliente-app__ico {
    opacity: 1;
}

.cliente-app__nav-link:hover {
    background: var(--pj-bg, #f4f5f7);
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__nav-link--active {
    background: rgba(26, 43, 86, 0.08);
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

/* Cadastro â€” submenu */
.cliente-app__nav-folder {
    position: relative;
    width: 100%;
}

@media (min-width: 901px) {
    .cliente-app__nav-folder {
        width: auto;
    }
}

.cliente-app__nav-summary {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 44px;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    font-size: clamp(0.85rem, 2vw, 0.92rem);
    font-weight: 600;
    color: var(--pj-text, #1a1a1e);
    cursor: pointer;
    list-style: none;
    font-family: inherit;
    user-select: none;
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 901px) {
    .cliente-app__nav-folder > .cliente-app__nav-summary {
        width: auto;
    }
}

.cliente-app__nav-summary::-webkit-details-marker {
    display: none;
}

.cliente-app__nav-summary::after {
    content: "";
    display: inline-block;
    width: 0.35rem;
    height: 0.35rem;
    margin-left: auto;
    flex-shrink: 0;
    border-right: 2px solid var(--pj-muted, #52525b);
    border-bottom: 2px solid var(--pj-muted, #52525b);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.cliente-app__nav-folder[open] > .cliente-app__nav-summary::after {
    transform: rotate(225deg);
    margin-top: 0.2rem;
}

.cliente-app__nav-folder--active > .cliente-app__nav-summary {
    background: rgba(26, 43, 86, 0.08);
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__subnav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.35rem 0 0.5rem 0.75rem;
    margin: 0;
    border-left: 2px solid var(--pj-border, #e4e4e7);
    margin-left: 0.5rem;
}

@media (min-width: 901px) {
    .cliente-app__subnav {
        position: absolute;
        top: calc(100% + 2px);
        left: 0;
        min-width: min(100vw - 2rem, 22rem);
        max-height: min(75vh, 34rem);
        overflow-y: auto;
        padding: 0.5rem;
        margin: 0;
        border: 1px solid var(--pj-border, #e4e4e7);
        border-radius: 10px;
        background: var(--pj-white, #fff);
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
        z-index: 200;
    }
}

.cliente-app__subnav-link {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
    font-size: clamp(0.82rem, 2vw, 0.9rem);
    font-weight: 500;
    color: var(--pj-text, #1a1a1e);
    text-decoration: none;
}

.cliente-app__subnav-link--with-icon span {
    min-width: 0;
}

.cliente-app__subnav-link:hover {
    background: var(--pj-bg, #f4f5f7);
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__subnav-link--active {
    background: rgba(26, 43, 86, 0.1);
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

.cliente-app__subnav-nest {
    margin: 0;
    border: 0;
    padding: 0;
}

.cliente-app__subnav-nest__summary {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
    font-size: clamp(0.82rem, 2vw, 0.9rem);
    font-weight: 500;
    color: var(--pj-text, #1a1a1e);
    cursor: pointer;
    list-style: none;
}

.cliente-app__subnav-nest__summary::-webkit-details-marker {
    display: none;
}

.cliente-app__subnav-nest__summary::after {
    content: 'â–¾';
    margin-left: auto;
    font-size: 0.7rem;
    opacity: 0.7;
}

.cliente-app__subnav-nest[open] > .cliente-app__subnav-nest__summary::after {
    content: 'â–´';
}

.cliente-app__subnav-nest.is-open > .cliente-app__subnav-nest__summary,
.cliente-app__subnav-nest[open] > .cliente-app__subnav-nest__summary {
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

.cliente-app__subnav-nest__summary:hover {
    background: var(--pj-bg, #f4f5f7);
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__subnav-nest__items {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0 0 0.25rem 0.85rem;
}

.cliente-app__subnav-link--nested {
    min-height: 36px;
    font-size: 0.84rem;
    font-weight: 500;
    color: #334155;
}

/* Mobile: botÃ£o menu visÃ­vel */
@media (max-width: 900px) {
    .cliente-app__menu-btn {
        display: inline-flex;
    }

    .cliente-app__nav-wrap {
        order: 3;
    }

    .cliente-app__header:not(.cliente-app__header--nav-open) .cliente-app__nav {
        max-height: 0;
        padding: 0;
    }

    /* Evita cortar o dropdown da conta quando o painel do menu tem scroll */
    .cliente-app__header--nav-open .cliente-app__nav.cliente-app__nav--user-open {
        overflow: visible;
    }
}

@media (min-width: 901px) {
    .cliente-app__menu-btn {
        display: none;
    }
}

/* Menu da conta (Ã­cone usuÃ¡rio) */
.cliente-app__user-menu {
    position: relative;
    flex-shrink: 0;
    z-index: 150;
}

.cliente-app__user-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.35rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: var(--pj-white, #fff);
    color: var(--pj-navy, #1a2b56);
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cliente-app__user-btn:hover {
    background: var(--pj-bg, #f4f5f7);
    border-color: var(--pj-navy, #1a2b56);
}

.cliente-app__user-btn[aria-expanded="true"] {
    background: rgba(26, 43, 86, 0.08);
    border-color: var(--pj-navy, #1a2b56);
}

.cliente-app__user-btn-avatar {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    object-fit: cover;
    vertical-align: top;
}

.cliente-app__user-dropdown-avatar-wrap {
    margin-bottom: 0.5rem;
}

.cliente-app__user-dropdown-avatar {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid var(--pj-border, #e4e4e7);
}

.cliente-perfil-foto-preview {
    margin: 0.35rem 0 0.75rem;
}

.cliente-perfil-foto-preview__img {
    display: block;
    width: 120px;
    height: 120px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid var(--pj-border, #e4e4e7);
}

/* FormulÃ¡rios estreitos (ex.: alterar senha): coluna centralizada na Ã¡rea principal */
.cliente-form-narrow-wrap {
    width: 100%;
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto;
}

.cliente-app__user-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: min(100vw - 2rem, 16rem);
    padding: 0.35rem 0;
    margin: 0;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: var(--pj-white, #fff);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}

.cliente-app__user-dropdown[hidden] {
    display: none !important;
}

.cliente-app__user-dropdown-head {
    padding: 0.65rem 0.85rem 0.5rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    margin-bottom: 0.25rem;
}

.cliente-app__user-dropdown-name {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    line-height: 1.3;
    word-break: break-word;
}

.cliente-app__user-dropdown-email {
    display: block;
    font-size: 0.78rem;
    color: var(--pj-muted, #52525b);
    margin-top: 0.15rem;
    word-break: break-all;
}

.cliente-app__user-dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--pj-text, #1a1a1e);
    text-decoration: none;
}

.cliente-app__user-dropdown-item:hover {
    background: var(--pj-bg, #f4f5f7);
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__user-dropdown-item .cliente-app__ico {
    opacity: 0.85;
}

.cliente-app__user-dropdown-item--danger {
    color: #b91c1c;
    border-top: 1px solid var(--pj-border, #e4e4e7);
    margin-top: 0.25rem;
    padding-top: 0.65rem;
    font-weight: 600;
}

.cliente-app__user-dropdown-item--danger:hover {
    background: #fef2f2;
    color: #991b1b;
}

/* NotificaÃ§Ãµes da agenda (sino) â€” dropdown flutuante estilo referÃªncia */
.cliente-app__agenda-notif {
    position: relative;
    flex-shrink: 0;
    z-index: 160;
}

.cliente-app__agenda-notif-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.35rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: var(--pj-white, #fff);
    color: var(--pj-navy, #1a2b56);
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cliente-app__agenda-notif-btn:hover {
    background: var(--pj-bg, #f4f5f7);
    border-color: var(--pj-navy, #1a2b56);
}

.cliente-app__agenda-notif-btn[aria-expanded="true"] {
    background: rgba(26, 43, 86, 0.08);
    border-color: var(--pj-navy, #1a2b56);
}

.cliente-app__agenda-notif-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.2rem;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.15rem;
    text-align: center;
    color: #fff;
    background: #16a34a;
    border-radius: 999px;
    box-shadow: 0 0 0 2px var(--pj-white, #fff);
}

.cliente-app__agenda-notif-panel {
    position: fixed;
    z-index: 10050;
    width: min(22rem, calc(100vw - 1.25rem));
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    pointer-events: none;
}

.cliente-app__agenda-notif-panel:not([hidden]) {
    pointer-events: auto;
}

.cliente-app__agenda-notif-panel[hidden] {
    display: none !important;
}

.cliente-app__agenda-notif-drop {
    border-radius: 12px;
    background: var(--pj-white, #fff);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow:
        0 4px 6px -1px rgba(15, 23, 42, 0.08),
        0 10px 40px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.cliente-app__agenda-notif-header {
    padding: 0.65rem 0.85rem 0.5rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
}

.cliente-app__agenda-notif-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.cliente-app__agenda-notif-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pj-text, #18181b);
    letter-spacing: -0.02em;
}

.cliente-app__agenda-notif-count-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    background: #7c3aed;
    border-radius: 999px;
}

.cliente-app__agenda-notif-clear-all {
    display: block;
    width: 100%;
    margin: 0.35rem 0 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--pj-muted, #64748b);
    text-align: right;
    cursor: pointer;
    font-family: inherit;
}

.cliente-app__agenda-notif-clear-all:hover {
    color: var(--pj-navy, #1a2b56);
}

.cliente-app__agenda-notif-scroll {
    max-height: min(55vh, 22rem);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.cliente-app__agenda-notif-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cliente-app__agenda-notif-item {
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.cliente-app__agenda-notif-item:last-child {
    border-bottom: none;
}

.cliente-app__agenda-notif-link {
    display: flex;
    gap: 0.65rem;
    padding: 0.65rem 0.85rem;
    text-decoration: none;
    color: inherit;
    transition: background 0.12s ease;
}

.cliente-app__agenda-notif-link:hover {
    background: rgba(37, 99, 235, 0.05);
}

.cliente-app__agenda-notif-avatar {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #e4e4e7, #d4d4d8);
    color: var(--pj-navy, #1a2b56);
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.cliente-app__agenda-notif-body {
    flex: 1;
    min-width: 0;
}

.cliente-app__agenda-notif-row1 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.cliente-app__agenda-notif-name {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--pj-text, #18181b);
    line-height: 1.3;
    word-break: break-word;
}

.cliente-app__agenda-notif-time {
    flex-shrink: 0;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--pj-muted, #71717a);
}

.cliente-app__agenda-notif-preview {
    margin: 0.25rem 0 0;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--pj-muted, #64748b);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cliente-app__agenda-notif-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.cliente-app__agenda-notif-tag {
    display: inline-block;
    max-width: 100%;
    padding: 0.15rem 0.4rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 4px;
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cliente-app__agenda-notif-tag--tipo {
    background: #f4f4f5;
    color: #52525b;
}

.cliente-app__agenda-notif-tag--st-agendado {
    background: #dbeafe;
    color: #1d4ed8;
}

.cliente-app__agenda-notif-tag--st-confirmado {
    background: #dcfce7;
    color: #15803d;
}

.cliente-app__agenda-notif-tag--st-concluido {
    background: #ccfbf1;
    color: #0f766e;
}

.cliente-app__agenda-notif-tag--st-cancelado {
    background: #f4f4f5;
    color: #71717a;
}

.cliente-app__agenda-notif-tag--st-outro {
    background: #ede9fe;
    color: #5b21b6;
}

.cliente-app__agenda-notif-empty {
    margin: 0;
    padding: 1rem 0.85rem;
    font-size: 0.85rem;
    color: var(--pj-muted, #71717a);
    text-align: center;
}

.cliente-app__agenda-notif-footer {
    display: block;
    padding: 0.55rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
    color: var(--pj-primary, #2563eb);
    border-top: 1px solid var(--pj-border, #e4e4e7);
    text-decoration: none;
    background: #fafafa;
}

.cliente-app__agenda-notif-footer:hover {
    background: rgba(37, 99, 235, 0.06);
}

.cliente-app__nav > .cliente-app__agenda-notif {
    align-self: center;
}

@media (max-width: 900px) {
    .cliente-app__agenda-notif-panel {
        width: min(22rem, calc(100vw - 1rem));
    }
}

.cliente-app__cafe-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.35rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: var(--pj-white, #fff);
    color: var(--pj-navy, #1a2b56);
    cursor: pointer;
    font-family: inherit;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cliente-app__cafe-btn:hover {
    background: var(--pj-bg, #f4f5f7);
    border-color: var(--pj-navy, #1a2b56);
}

.cliente-app__cafe-btn--ativo {
    color: #b45309;
    border-color: #f59e0b;
    background: #fffbeb;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}

.cliente-app__cafe-btn--esgotado {
    color: #94a3b8;
}

.cliente-app__cafe-badge {
    position: absolute;
    top: -4px;
    right: -6px;
    min-width: 2.1rem;
    height: 1.15rem;
    padding: 0 0.28rem;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.15rem;
    text-align: center;
    color: #1a1203;
    background: #fbbf24;
    border-radius: 999px;
    box-shadow: 0 0 0 2px var(--pj-white, #fff);
    letter-spacing: 0.02em;
}

.cliente-app__cafe-btn--esgotado .cliente-app__cafe-badge {
    background: #94a3b8;
    color: #0f172a;
}

body.pjcrm-cafe-pausa-aberta {
    overflow: hidden;
}

.pjcrm-cafe-overlay {
    position: fixed;
    inset: 0;
    z-index: 420;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(6, 10, 20, 0.72);
    backdrop-filter: blur(4px);
}

.pjcrm-cafe-overlay[hidden] {
    display: none !important;
}

.pjcrm-cafe-dialog {
    width: min(22.5rem, 100%);
    padding: 1.6rem 1.35rem 1.35rem;
    border-radius: 22px;
    background: linear-gradient(165deg, #2a3142 0%, #1c2230 100%);
    color: #fff;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.pjcrm-cafe-dialog__icon {
    display: flex;
    justify-content: center;
    margin-bottom: 0.35rem;
}

.pjcrm-cafe-steam {
    animation: pjcrm-cafe-steam 2.4s ease-in-out infinite;
}

@keyframes pjcrm-cafe-steam {
    0%, 100% { opacity: 0.45; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-3px); }
}

.pjcrm-cafe-dialog__title {
    margin: 0.15rem 0 0.2rem;
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}

.pjcrm-cafe-dialog__sub {
    margin: 0 0 1.05rem;
    font-size: 0.92rem;
    color: #94a3b8;
}

.pjcrm-cafe-dialog__timer {
    padding: 0.95rem 1rem 1.05rem;
    margin-bottom: 0.75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.pjcrm-cafe-dialog__label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pjcrm-cafe-dialog__clock {
    margin: 0.15rem 0 0.65rem;
    font-size: 3.35rem;
    font-weight: 700;
    line-height: 1;
    color: #7df0b0;
    font-variant-numeric: tabular-nums;
}

.pjcrm-cafe-overlay--low .pjcrm-cafe-dialog__clock {
    color: #fbbf24;
}

.pjcrm-cafe-overlay--done .pjcrm-cafe-dialog__clock {
    color: #f87171;
}

.pjcrm-cafe-dialog__bar {
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.pjcrm-cafe-dialog__bar-fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: #e8c547;
    transition: width 0.4s linear;
}

.pjcrm-cafe-dialog__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.pjcrm-cafe-dialog__stat {
    padding: 0.7rem 0.6rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.pjcrm-cafe-dialog__stat strong {
    display: block;
    margin-top: 0.2rem;
    font-size: 1.15rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.pjcrm-cafe-dialog__voltar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 12px;
    background: #22c55e;
    color: #fff;
    font: inherit;
    font-size: 1.02rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(34, 197, 94, 0.35);
}

.pjcrm-cafe-dialog__voltar:hover {
    background: #16a34a;
}

.pjcrm-cafe-dialog__voltar:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.45);
}

.pjcrm-cafe-overlay--done .pjcrm-cafe-dialog__voltar {
    background: #64748b;
    box-shadow: none;
}

.pjcrm-cafe-overlay--done .pjcrm-cafe-dialog__voltar:hover {
    background: #475569;
}

/* ConteÃºdo principal â€” mesmo recorte que .admin-main (padding no main, nÃ£o duplicar no inner) */
.cliente-app__main {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.cliente-app__main.admin-main {
    /* Largura fluida: ocupa 100% da tela (padding vem do admin.css) */
    width: 100%;
    max-width: 100%;
}

.cliente-app__main-inner {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: clamp(1rem, 4vw, 1.75rem) clamp(0.75rem, 3vw, 1.5rem);
    box-sizing: border-box;
}

.cliente-app__main.admin-main .cliente-app__main-inner {
    padding: 0;
    width: 100%;
    min-width: 0;
}

.cliente-app__page-title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.35rem, 4vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pj-primary, #2563eb);
}

.cliente-app__lead {
    margin: 0;
    color: var(--pj-muted, #52525b);
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    max-width: 48rem;
}

/* Hub cadastro (index) */
.cliente-cadastro-hub {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
    gap: 0.75rem;
}

.cliente-cadastro-hub__item {
    margin: 0;
}

.cliente-cadastro-hub__link {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0.65rem 1rem;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.cliente-cadastro-hub__link:hover {
    border-color: var(--pj-navy, #1a2b56);
    background: var(--pj-bg, #f4f5f7);
}

/* RodapÃ© institucional */
.cliente-app__site-footer {
    flex-shrink: 0;
    width: 100%;
    margin-top: auto;
    border-top: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.04);
}

.cliente-app__site-footer-inner {
    max-width: 100%;
    margin: 0 auto;
    padding: clamp(0.85rem, 3vw, 1.1rem) clamp(0.75rem, 3vw, 1.5rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1.25rem;
    text-align: center;
    box-sizing: border-box;
}

.cliente-app__site-footer-copy,
.cliente-app__site-footer-site,
.cliente-app__site-footer-version {
    margin: 0;
    font-size: clamp(0.78rem, 2vw, 0.85rem);
    color: var(--pj-muted, #52525b);
    line-height: 1.45;
}

.cliente-app__site-footer-version {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.cliente-app__site-footer-copy strong {
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

.cliente-app__site-footer-link {
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
    text-decoration: none;
}

.cliente-app__site-footer-link:hover {
    text-decoration: underline;
}

@media (min-width: 640px) {
    .cliente-app__site-footer-inner {
        justify-content: space-between;
        text-align: left;
    }

    .cliente-app__site-footer-site {
        text-align: right;
    }
}

/* InÃ­cio â€” dashboard orÃ§amentos / vendas */
.tenant-dashboard-home__periodo-filtro {
    margin-bottom: 1rem;
}

.tenant-dashboard-home__periodo-form {
    align-items: flex-end;
}

.tenant-dashboard-home__periodo-filtro .admin-field label {
    font-weight: 600;
}

.tenant-dashboard-home__chart-12m {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.tenant-dashboard-home__chart-12m__hint {
    margin: 0 0 0.75rem;
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
}

.tenant-dashboard-home__chart-12m__canvas.cliente-dash__chart-wrap--bar-v {
    min-height: 240px;
    max-height: 320px;
}

.cliente-dash-charts--compact .tenant-dashboard-home__chart-12m__canvas.cliente-dash__chart-wrap--bar-v {
    min-height: 220px;
    max-height: 300px;
}

/* Dois painÃ©is lado a lado: .admin-card tem width:100% no admin.css e quebra grid/flex â€” forÃ§ar metade da linha */
.tenant-dashboard-home__pair-segmento-abv {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
}

@media (min-width: 640px) {
    .tenant-dashboard-home__pair-segmento-abv {
        flex-direction: row;
        align-items: stretch;
    }

    .tenant-dashboard-home__pair-segmento-abv > .admin-card {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        max-width: none;
    }
}

.tenant-dashboard-home__pair-segmento-abv .tenant-dashboard-home__chart-segmento {
    margin-bottom: 0;
}

.tenant-dashboard-home__pair-segmento-abv .tenant-dashboard-home__chart-abertos-vend__canvas.cliente-dash__chart-wrap--doughnut {
    max-width: 100%;
}

.cliente-app__main-inner.tenant-dashboard-home {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.tenant-dashboard-home .admin-page-head {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.tenant-dashboard-home__title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.75rem;
}

.tenant-dashboard-home__licenca-aviso {
    color: #dc2626;
    font-size: 0.72em;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    margin-left: 0.35rem;
    white-space: normal;
}

/* KPI: usa toda a largura do conteÃºdo; colunas iguais que se ajustam ao viewport */
.tenant-dashboard-home__kpis.admin-stats {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.8vw, 1rem);
    margin-bottom: 1.25rem;
    align-items: stretch;
}

@media (min-width: 900px) {
    .tenant-dashboard-home__kpis.admin-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.tenant-dashboard-home__kpis .admin-stat {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(0.85rem, 2vw, 1.25rem);
    box-sizing: border-box;
    height: 100%;
}

.tenant-dashboard-home__kpis .admin-stat__value {
    font-size: clamp(1.1rem, 2.4vw, 1.55rem);
    max-width: 100%;
}

.tenant-dashboard-home__kpis .admin-stat__value--currency {
    font-size: clamp(0.88rem, 1.9vw, 1.22rem);
    line-height: 1.25;
    word-break: break-word;
}

.tenant-dashboard-home__kpis .admin-stat__label {
    font-size: clamp(0.65rem, 1.4vw, 0.75rem);
    line-height: 1.35;
    max-width: 100%;
}

.cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.75rem, 1.8vw, 1rem);
    align-items: stretch;
}

.cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] > .admin-stat {
    min-width: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(0.95rem, 2vw, 1.25rem);
    box-sizing: border-box;
}

.cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] > .admin-stat .admin-stat__value {
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
    max-width: 100%;
}

.cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] > .admin-stat .admin-stat__label {
    line-height: 1.4;
}

.cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(0.75rem, 1.8vw, 1rem);
    align-items: stretch;
}

.cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] > .admin-stat {
    min-width: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(0.95rem, 2vw, 1.25rem);
    box-sizing: border-box;
}

.cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] > .admin-stat .admin-stat__value {
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
    max-width: 100%;
}

.cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] > .admin-stat .admin-stat__label {
    line-height: 1.4;
}

.cliente-cs-cenario-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: 1rem;
}

.cliente-cs-cenario-grid-wrap {
    overflow: hidden;
}

.cliente-cs-cenario-grid-table td,
.cliente-cs-cenario-grid-table th {
    vertical-align: middle;
}

.cliente-cs-cenario-grid-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.cliente-cs-cenario-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}

.cliente-cs-cenario-card--empty {
    min-height: 10rem;
    align-items: center;
    justify-content: center;
}

.cliente-cs-cenario-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.cliente-cs-cenario-card__title {
    margin: 0;
    font-size: 1.05rem;
}

.cliente-cs-cenario-card__meta {
    margin: 0.35rem 0 0;
    color: var(--pj-muted, #52525b);
    font-size: 0.88rem;
}

.cliente-cs-cenario-card__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.cliente-cs-cenario-card__stat {
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 14px;
    padding: 0.85rem 0.9rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cliente-cs-cenario-card__stat-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    line-height: 1;
}

.cliente-cs-cenario-card__stat-label {
    font-size: 0.82rem;
    color: var(--pj-muted, #52525b);
}

.cliente-cs-cenario-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.cliente-cs-cenario-card__template {
    display: none;
}

.cliente-cs-cenario-card__items {
    display: grid;
    gap: 0.75rem;
}

.cliente-cs-cenario-item {
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 14px;
    padding: 0.9rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.cliente-cs-cenario-item__top,
.cliente-cs-cenario-item__foot,
.cliente-cs-cenario-item__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    align-items: center;
    justify-content: space-between;
}

.cliente-cs-cenario-item__title {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.4;
}

.cliente-cs-cenario-item__facts {
    justify-content: flex-start;
    color: var(--pj-muted, #52525b);
    font-size: 0.88rem;
    gap: 0.65rem;
}

.cliente-cs-cenario-item__facts span {
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 8rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.04);
}

.cliente-cs-cenario-item__facts strong {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    opacity: 0.75;
    font-weight: 600;
}

.cliente-cs-cenario-item__details {
    display: grid;
    gap: 0.4rem;
    color: var(--pj-muted, #52525b);
    font-size: 0.88rem;
    line-height: 1.5;
}

.cliente-cs-cenario-item__sub,
.cliente-cs-cenario-item__obs {
    margin: 0;
    color: var(--pj-muted, #52525b);
    font-size: 0.88rem;
    line-height: 1.5;
}

.cliente-cs-cenario-item__foot {
    padding-top: 0.2rem;
    border-top: 1px dashed var(--pj-border, #e5e7eb);
    color: var(--pj-muted, #52525b);
    font-size: 0.82rem;
}

.cliente-cs-cenario-detail-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.cliente-cs-cenario-detail-body {
    display: grid;
    gap: 0.75rem;
}

.cliente-cs-cenario-detail-body .cliente-cs-cenario-card__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 900px) {
    .cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cliente-cs-cenario-detail-body .cliente-cs-cenario-card__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .cs-atendimentos-page div.admin-stats[aria-label^="Indicadores do per"] {
        grid-template-columns: 1fr;
    }

    .cliente-cs-cenario-page div.admin-stats[aria-label^="Indicadores do cenario"] {
        grid-template-columns: 1fr;
    }

    .cliente-cs-cenario-card__head {
        flex-direction: column;
    }

    .cliente-cs-cenario-card__summary {
        grid-template-columns: 1fr;
    }

    .cliente-cs-cenario-detail-head {
        flex-direction: column;
    }

    .cliente-cs-cenario-detail-body .cliente-cs-cenario-card__items {
        grid-template-columns: 1fr;
    }

    .cliente-cs-cenario-modal.cliente-modal-dialog--wide {
        width: calc(100vw - 1rem);
        max-width: calc(100vw - 1rem);
    }

    .cliente-cs-cenario-modal .cliente-modal-dialog__form-card .admin-form-grid {
        grid-template-columns: 1fr;
    }
}

/* Grid â€œfollow-up atrasadoâ€ â€” painel e listagem de orÃ§amentos */
.orcamentos-atraso-followup-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.orcamentos-atraso-followup-grid--dashboard {
    margin-bottom: 1.5rem;
}

.orcamentos-atraso-followup-grid--list {
    margin-bottom: 1rem;
}

/* CabeÃ§alho acima da tabela: alinhado ao padding dos cards e ao texto dos grÃ¡ficos do dashboard */
.orcamentos-atraso-followup-grid__toolbar {
    padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.1rem, 3vw, 1.5rem) 0.85rem;
    border-bottom: 1px solid var(--pj-border-soft, rgba(26, 43, 86, 0.08));
}

.orcamentos-atraso-followup-grid__toolbar .cliente-dash__card-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    letter-spacing: -0.01em;
}

.orcamentos-atraso-followup-grid__hint {
    margin: 0;
    max-width: 62rem;
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
}

.orcamentos-atraso-followup-grid__table-wrap {
    margin-top: 0;
}

.orcamentos-atraso-followup-grid--list .orcamentos-atraso-followup-grid__table-wrap {
    margin-top: 0;
}

.orcamentos-atraso-followup-grid .admin-table tbody td {
    vertical-align: middle;
}

.orcamentos-atraso-followup-grid__ref {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.orcamentos-atraso-followup-grid__footer {
    margin-top: 0;
    padding: 0.85rem clamp(1.1rem, 3vw, 1.5rem) clamp(1rem, 2.5vw, 1.25rem);
    border-top: 1px solid var(--pj-border-soft, rgba(26, 43, 86, 0.08));
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

.orcamentos-atraso-followup-grid__empty {
    margin: 0;
    padding: clamp(0.85rem, 2vw, 1.1rem) clamp(1.1rem, 3vw, 1.5rem) clamp(1rem, 2.5vw, 1.25rem);
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
}

.tenant-dashboard-home__chart-abertos-vend__hint {
    margin: 0 0 0.75rem;
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
}

.tenant-dashboard-home__chart-abertos-vend__canvas.cliente-dash__chart-wrap--doughnut {
    min-height: 200px;
    max-height: 240px;
    max-width: min(100%, 22rem);
    margin-inline: auto;
}

.cliente-dash-charts--compact .tenant-dashboard-home__chart-abertos-vend__canvas.cliente-dash__chart-wrap--doughnut {
    min-height: 180px;
    max-height: 210px;
}

.tenant-dashboard-home__charts-lead {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    color: var(--pj-muted, #52525b);
}

.tenant-dashboard-home__charts-lead--clientes {
    margin-top: 0.25rem;
}

.tenant-dashboard-home__charts-lead--hint {
    margin: 0 0 0.85rem;
    font-size: 0.86rem;
    color: var(--pj-muted, #64748b);
}

.dash-chart-filters {
    margin: 0 0 0.85rem;
}

.dash-chart-filters__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.55rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 12px;
    background: var(--pj-white, #fff);
}

.dash-chart-filters__label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #64748b);
    margin-right: 0.25rem;
}

.dash-chart-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid rgba(37, 99, 235, 0.28);
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.82rem;
    cursor: pointer;
    line-height: 1.3;
}

.dash-chart-filter-chip:hover {
    background: rgba(37, 99, 235, 0.18);
}

.tenant-dashboard-home.is-charts-loading .cliente-dash__chart-wrap {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.tenant-dashboard-home .cliente-dash__chart-wrap {
    width: 100%;
    min-width: 0;
}

.tenant-dashboard-home .cliente-dash__chart-wrap canvas {
    width: 100% !important;
    max-width: 100%;
}

/* Base de clientes no painel: mesmo grid de largura total que os grÃ¡ficos de orÃ§amento */
.tenant-dashboard-home__clientes-charts-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin-bottom: 1.25rem;
}

.tenant-dashboard-home__ca-charts {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin-bottom: 1.25rem;
}

.tenant-dashboard-home__ca-chart-wide {
    width: 100%;
    max-width: 100%;
}

.tenant-dashboard-home .tenant-dashboard-home__ca-chart-wide .cliente-dash__chart-wrap--bar-v {
    min-height: min(42vh, 320px);
    max-height: 420px;
}

.tenant-dashboard-home__clientes-charts-wrap .tenant-dashboard-home__charts-top {
    margin-bottom: 1rem;
}

.tenant-dashboard-home__charts-top {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
}

.tenant-dashboard-home__pair-uf-regiao {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    min-width: 0;
}

@media (min-width: 640px) {
    .tenant-dashboard-home__pair-uf-regiao {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tenant-dashboard-home__chart-wrap--pie {
    position: relative;
    width: 100%;
    min-height: 200px;
    max-height: 220px;
}

.cliente-dash-charts--compact .tenant-dashboard-home__chart-wrap--pie {
    min-height: 168px;
    max-height: 188px;
}

@media (min-width: 900px) {
    .tenant-dashboard-home__charts-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tenant-dashboard-home__chart-segmento {
    margin-bottom: 1rem;
}

.tenant-dashboard-home__chart-segmento .cliente-dash__chart-wrap--bar-v {
    min-height: min(55vh, 360px);
    max-height: 480px;
}

.tenant-dashboard-home__pair-segmento-abv .tenant-dashboard-home__chart-segmento .cliente-dash__chart-wrap--bar-v {
    min-height: min(45vh, 300px);
    max-height: 400px;
}

.tenant-dashboard-home__chart-cidade {
    margin-bottom: 0.5rem;
}

.tenant-dashboard-home__chart-cidade .cliente-dash__chart-wrap--bar-v {
    min-height: min(70vh, 420px);
    max-height: 520px;
}

/* Sobrescreve .cliente-dash-charts--compact (definido mais abaixo no arquivo) para barras em tela cheia no painel */
.tenant-dashboard-home .tenant-dashboard-home__chart-cidade .cliente-dash__chart-wrap--bar-v {
    min-height: min(70vh, 420px);
    max-height: 520px;
}

/* Painel cadastro â€” clientes (KPI + grÃ¡ficos) */
.cliente-clientes-dash .cliente-dash__kpi {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin: 1.25rem 0 1.5rem;
    padding: 1rem 1.15rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    max-width: 18rem;
}

.cliente-dash__kpi-value {
    font-size: clamp(2rem, 6vw, 2.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--pj-navy, #1a2b56);
    font-variant-numeric: tabular-nums;
}

.cliente-dash__kpi-label {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.cliente-dash__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    width: 100%;
    align-items: stretch;
}

@media (min-width: 900px) {
    .cliente-dash__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cliente-dash__card--wide {
        grid-column: 1 / -1;
    }
}

/* TrÃªs grÃ¡ficos na mesma linha (dashboard clientes) */
@media (min-width: 1100px) {
    .cliente-dash__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cliente-dash__card--wide {
        grid-column: auto;
    }
}

.cliente-dash__card {
    margin: 0;
    padding: 1rem 1.1rem 1.15rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.cliente-dash__card-title {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-dash__chart-wrap {
    position: relative;
    width: 100%;
    min-height: 260px;
}

.cliente-dash__chart-wrap--doughnut {
    min-height: 200px;
    max-height: 220px;
}

/* Barras verticais (top cidades) â€” altura fixa compacta */
.cliente-dash__chart-wrap--bar-v {
    min-height: 220px;
    max-height: 260px;
}

.cliente-dash__chart-wrap--bar {
    min-height: min(70vh, 520px);
}

@media (min-width: 1100px) {
    .cliente-dash__grid .cliente-dash__chart-wrap--bar {
        min-height: 260px;
        max-height: min(45vh, 380px);
    }
}

.cliente-dash__empty {
    margin: 0;
    padding: 1.5rem 0.5rem;
    text-align: center;
    font-size: 0.92rem;
    color: var(--pj-muted, #52525b);
}

.cliente-page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cliente-page-head__actions,
.admin-page-head__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.cliente-app .admin-page-head,
.cliente-app .cliente-page-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.cliente-app .admin-page-head > div:first-child,
.cliente-app .cliente-page-head > div:first-child {
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 100%;
}

.cliente-app .admin-page-head__actions,
.cliente-app .cliente-page-head__actions {
    flex: 0 1 auto;
    max-width: 100%;
    justify-content: flex-end;
}

.cliente-app .admin-page-head .admin-page-title,
.cliente-app .cliente-page-head .cliente-app__page-title {
    margin: 0 0 0.25rem;
    overflow-wrap: break-word;
    white-space: normal;
}

.cliente-app .admin-page-sub,
.cliente-app .cliente-app__lead {
    max-width: 42rem;
    width: 100%;
    line-height: 1.45;
    overflow-wrap: break-word;
    white-space: normal;
}

.cliente-app .admin-page-head__actions .admin-btn,
.cliente-app .cliente-page-head__actions .admin-btn,
.cliente-app .admin-form-filters .admin-field--actions .admin-btn {
    white-space: nowrap;
}

.cliente-app .admin-page-head__actions .admin-btn .cliente-app__ico,
.cliente-app .cliente-page-head__actions .admin-btn .cliente-app__ico {
    flex-shrink: 0;
}

.cliente-app .admin-form-filters .admin-field--actions {
    flex-wrap: wrap;
    min-width: 0;
}

.financeiro-head-form {
    margin: 0;
    display: contents;
}

@media (max-width: 900px) {
    .cliente-app .admin-page-head,
    .cliente-app .cliente-page-head {
        flex-direction: column;
        align-items: stretch;
    }

    .cliente-app .admin-page-head > div:first-child,
    .cliente-app .cliente-page-head > div:first-child {
        flex: 1 1 auto;
        width: 100%;
    }

    .cliente-app .admin-page-sub,
    .cliente-app .cliente-app__lead {
        max-width: none;
    }

    .cliente-app .admin-page-head__actions,
    .cliente-app .cliente-page-head__actions {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .cliente-app .admin-page-head__actions > *,
    .cliente-app .cliente-page-head__actions > * {
        flex: 1 1 9.5rem;
        min-width: 0;
    }

    .cliente-app .admin-page-head__actions .admin-btn,
    .cliente-app .cliente-page-head__actions .admin-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .cliente-cadastro-mais {
        display: block;
        width: 100%;
    }

    .cliente-cadastro-mais__btn {
        width: 100%;
        justify-content: center;
    }

    .cliente-app .admin-form-filters .admin-field--actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .cliente-app .admin-page-head__actions,
    .cliente-app .cliente-page-head__actions {
        display: flex;
    }

    .cliente-app .admin-page-head__actions > *,
    .cliente-app .cliente-page-head__actions > * {
        flex: 1 1 100%;
    }

    .cliente-app .admin-form-filters .admin-field--actions .admin-btn {
        flex: 1 1 100%;
        width: 100%;
        justify-content: center;
    }
}

.financeiro-page .admin-form-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.financeiro-receber-page .financeiro-receber-filters.admin-form-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.financeiro-receber-page .financeiro-receber-filters__busca {
    grid-column: 1 / -1;
    min-width: 0;
}

.financeiro-receber-page .financeiro-receber-filters .admin-field--actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.financeiro-receber-page .financeiro-receber-filters .admin-field--actions .admin-btn {
    flex: 0 1 auto;
    white-space: nowrap;
}

.financeiro-fechamento-page .financeiro-receber-filters.admin-form-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.financeiro-fechamento-page .financeiro-receber-filters .admin-field--actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    grid-column: 1 / -1;
}

.financeiro-fechamento-page .financeiro-receber-filters .admin-field--actions .admin-btn {
    flex: 0 1 auto;
    white-space: nowrap;
}

.financeiro-receber-page .financeiro-receber-kpis.admin-stats,
.financeiro-pagar-page .financeiro-receber-kpis.admin-stats,
.financeiro-fechamento-page .financeiro-receber-kpis.admin-stats {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.8vw, 0.85rem);
    margin: 1rem 0 0.75rem;
    align-items: stretch;
}

.financeiro-fechamento-page .fech-op-valor {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-variant-numeric: tabular-nums;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 0.18em;
    cursor: pointer;
}

.financeiro-fechamento-page .fech-op-valor:hover,
.financeiro-fechamento-page .fech-op-valor:focus-visible {
    color: var(--admin-link, #0b5cab);
    outline: none;
}

.fech-fin-charts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
}

@media (min-width: 960px) {
    .fech-fin-charts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.fech-fin-chart-box {
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.5rem;
    padding: 0.75rem 0.75rem 0.5rem;
    background: #fff;
}

.fech-fin-chart-title {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
}

.fech-fin-chart-canvas-wrap {
    position: relative;
    height: 240px;
}

.fech-fin-ia-analise {
    white-space: normal;
    line-height: 1.5;
    color: #1e293b;
    margin-bottom: 1rem;
}

.fech-fin-ia-h {
    margin: 1rem 0 0.35rem;
    font-size: 0.95rem;
    color: #0f172a;
}

.fech-fin-ia-list {
    margin: 0;
    padding-left: 1.2rem;
    color: #334155;
}

.fech-fin-ia-list li {
    margin: 0.25rem 0;
}

@media (min-width: 900px) {
    .financeiro-receber-page .financeiro-receber-kpis.admin-stats,
    .financeiro-pagar-page .financeiro-receber-kpis.admin-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.financeiro-receber-page .financeiro-receber-kpis--4.admin-stats,
.financeiro-pagar-page .financeiro-receber-kpis--4.admin-stats {
    margin-bottom: 0.55rem;
}

@media (min-width: 900px) {
    .financeiro-receber-page .financeiro-receber-kpis--4.admin-stats,
    .financeiro-pagar-page .financeiro-receber-kpis--4.admin-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.financeiro-receber-page .financeiro-receber-kpis--cat.admin-stats,
.financeiro-pagar-page .financeiro-receber-kpis--cat.admin-stats {
    margin-top: 0.35rem;
}

@media (min-width: 900px) {
    .financeiro-receber-page .financeiro-receber-kpis--cat.admin-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .financeiro-pagar-page .financeiro-receber-kpis--cat.admin-stats {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.financeiro-receber-page .financeiro-receber-kpis--cob.admin-stats,
.financeiro-pagar-page .financeiro-receber-kpis--cob.admin-stats {
    margin-top: 0.35rem;
}

@media (min-width: 900px) {
    .financeiro-receber-page .financeiro-receber-kpis--cob.admin-stats,
    .financeiro-pagar-page .financeiro-receber-kpis--cob.admin-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.financeiro-receber-page .financeiro-receber-kpis .admin-stat,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.2rem;
    padding: clamp(0.75rem, 1.6vw, 1.05rem);
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    border-top: 3px solid #94a3b8;
    height: 100%;
}

.financeiro-receber-page .financeiro-receber-kpis a.admin-stat:hover,
.financeiro-pagar-page .financeiro-receber-kpis a.admin-stat:hover {
    border-color: #64748b;
}

.financeiro-receber-page .financeiro-receber-kpis .admin-stat--danger,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat--danger { border-top-color: #dc2626; }
.financeiro-receber-page .financeiro-receber-kpis .admin-stat--warn,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat--warn { border-top-color: #d97706; }
.financeiro-receber-page .financeiro-receber-kpis .admin-stat--ok,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat--ok { border-top-color: #16a34a; }
.financeiro-receber-page .financeiro-receber-kpis .admin-stat--info,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat--info { border-top-color: #2563eb; }
.financeiro-receber-page .financeiro-receber-kpis .admin-stat--muted,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat--muted { border-top-color: #94a3b8; }

.financeiro-receber-page .financeiro-receber-kpis .admin-stat.is-active,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat.is-active {
    outline: 2px solid #2563eb;
    outline-offset: 1px;
}

.financeiro-receber-page .financeiro-receber-kpis .admin-stat__value,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat__value {
    font-size: clamp(1rem, 2.1vw, 1.35rem);
    font-weight: 700;
    line-height: 1.2;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.financeiro-receber-page .financeiro-receber-kpis .admin-stat__value--currency,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat__value--currency {
    font-variant-numeric: tabular-nums;
}

.financeiro-receber-page .financeiro-receber-kpis .admin-stat__label,
.financeiro-pagar-page .financeiro-receber-kpis .admin-stat__label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
    line-height: 1.3;
}

.financeiro-receber-page .financeiro-receber-kpi-cat,
.financeiro-pagar-page .financeiro-receber-kpi-cat {
    gap: 0.45rem;
    justify-content: flex-start;
}

.financeiro-receber-page .financeiro-receber-kpi-cat__title,
.financeiro-pagar-page .financeiro-receber-kpi-cat__title {
    margin-bottom: 0.15rem;
    color: inherit;
    font-size: 0.78rem;
}

.financeiro-receber-page .financeiro-receber-kpi-cat__row,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0.35rem 0.55rem;
    width: 100%;
    align-items: baseline;
    font-size: 0.78rem;
    line-height: 1.25;
}

.financeiro-receber-page .financeiro-receber-kpi-cat__row span,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row span {
    color: var(--pj-muted, #64748b);
}

.financeiro-receber-page .financeiro-receber-kpi-cat__row strong,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row strong {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-align: right;
}

.financeiro-receber-page .financeiro-receber-kpi-cat__row em,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row em {
    font-style: normal;
    font-weight: 700;
    min-width: 1.4rem;
    text-align: right;
    color: var(--pj-muted, #64748b);
}

.financeiro-receber-page .financeiro-receber-kpi-cat__row--ok strong,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row--ok strong { color: #16a34a; }
.financeiro-receber-page .financeiro-receber-kpi-cat__row--info strong,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row--info strong { color: #2563eb; }
.financeiro-receber-page .financeiro-receber-kpi-cat__row--danger strong,
.financeiro-pagar-page .financeiro-receber-kpi-cat__row--danger strong { color: #dc2626; }

@media (max-width: 720px) {
    .financeiro-receber-page .financeiro-receber-filters.admin-form-filters,
    .financeiro-pagar-page .financeiro-receber-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .financeiro-receber-page .financeiro-receber-filters__busca,
    .financeiro-receber-page .financeiro-receber-filters .admin-field--actions,
    .financeiro-pagar-page .financeiro-receber-filters .admin-field--actions,
    .financeiro-fechamento-page .financeiro-receber-filters .admin-field--actions {
        grid-column: 1 / -1;
    }

    .financeiro-fechamento-page .financeiro-receber-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .financeiro-receber-page .financeiro-receber-filters.admin-form-filters,
    .financeiro-pagar-page .financeiro-receber-filters.admin-form-filters,
    .financeiro-fechamento-page .financeiro-receber-filters.admin-form-filters {
        grid-template-columns: 1fr;
    }

    .financeiro-receber-page .financeiro-receber-kpis.admin-stats,
    .financeiro-pagar-page .financeiro-receber-kpis.admin-stats {
        grid-template-columns: 1fr;
    }
}

.financeiro-pagar-page .financeiro-charts--2 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.atendimento-lista-page .atendimentos-lista-filters.admin-form-filters {
    display: grid;
    grid-template-columns: minmax(12rem, 1.5fr) minmax(12rem, 1.5fr) repeat(3, minmax(8.5rem, 1fr));
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.atendimento-lista-page .atendimentos-lista-filters__busca {
    grid-column: 1 / span 2;
    min-width: 0;
}

.atendimento-lista-page .atendimentos-lista-filters__busca input[type="search"] {
    width: 100%;
    min-width: 0;
}

.atendimento-lista-page .atendimentos-lista-filters .admin-field--actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    grid-column: span 2;
}

.atendimento-lista-page .atendimentos-lista-filters .admin-field--actions .admin-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 6.5rem;
}

.atendimento-lista-page .admin-page-head {
    min-width: 0;
}

.atendimento-lista-page .admin-page-head__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.atendimento-lista-page .admin-page-head > div:first-child {
    min-width: 0;
}

.atendimento-lista-page .admin-page-sub {
    overflow-wrap: anywhere;
}

.atendimento-lista-table {
    min-width: 0;
}

.pj-zapshow-cell {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem 0.4rem;
}

.pj-zapshow-badge {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    padding: 0.12rem 0.28rem;
    border-radius: 6px;
    background: #111;
    line-height: 0;
    flex: 0 0 auto;
}

.pj-zapshow-badge img {
    display: block;
    height: 16px;
    width: auto;
}

@media (max-width: 1024px) {
    .atendimento-lista-page .admin-page-head {
        flex-direction: column;
        align-items: stretch;
    }

    .atendimento-lista-page .admin-page-head > div:first-child {
        flex: 1 1 auto;
        width: 100%;
    }

    .atendimento-lista-page .admin-page-sub {
        max-width: none;
    }

    .atendimento-lista-page .admin-page-head__actions {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .atendimento-lista-page .admin-page-head__actions > * {
        flex: 1 1 9.5rem;
        min-width: 0;
    }

    .atendimento-lista-page .admin-page-head__actions .admin-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
        white-space: normal;
        text-align: center;
        line-height: 1.25;
    }

    .atendimento-lista-table {
        overflow: visible;
        padding: 0.75rem;
    }

    .atendimento-lista-table table {
        min-width: 0;
        width: 100%;
    }

    .atendimento-lista-table thead {
        display: none;
    }

    .atendimento-lista-table tbody,
    .atendimento-lista-table tr,
    .atendimento-lista-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .atendimento-lista-table tr {
        border: 1px solid rgba(15, 23, 42, 0.1);
        border-radius: 10px;
        margin: 0 0 0.7rem;
        padding: 0.55rem 0.7rem 0.65rem;
        background: #fff;
    }

    .atendimento-lista-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .atendimento-lista-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.28rem 0;
        border: none;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .atendimento-lista-table td::before {
        content: attr(data-label);
        flex: 0 0 38%;
        max-width: 8.5rem;
        font-weight: 600;
        color: #516070;
        font-size: 0.78rem;
    }

    .atendimento-lista-table td.admin-table__empty {
        display: block;
        text-align: left;
    }

    .atendimento-lista-table td.admin-table__empty::before {
        display: none;
    }

    .atendimento-lista-table td.admin-table__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0.45rem;
        padding-top: 0.55rem;
    }

    .atendimento-lista-table td.admin-table__actions::before {
        display: none;
    }

    body[data-ui-modo="dark"] .atendimento-lista-table tr {
        background: var(--pj-surface, #111827);
        border-color: #334155;
    }
}

@media (max-width: 480px) {
    .atendimento-lista-page .admin-page-head__actions > * {
        flex: 1 1 100%;
    }

}

.financeiro-page .admin-form-filters .admin-field,
.atendimento-lista-page .admin-form-filters .admin-field {
    min-width: 0;
}

.financeiro-resumo {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
    gap: 0.75rem;
}

.financeiro-resumo > .admin-card {
    min-width: 0;
}

.financeiro-resumo .admin-page-title {
    margin: 0;
    font-size: 1.15rem;
    overflow-wrap: break-word;
}

.financeiro-resumo .admin-page-sub {
    margin: 0 0 0.35rem;
    max-width: none;
}

.financeiro-resumo .admin-page-sub--meta {
    margin: 0.35rem 0 0;
}

.financeiro-resumo__link {
    text-decoration: none;
    color: inherit;
}

.financeiro-resumo__link.is-active--carteira {
    outline: 2px solid #ca8a04;
}

.financeiro-resumo__link.is-active--asaas {
    outline: 2px solid #1d4ed8;
}

.financeiro-resumo__link.is-active--pixpdv {
    outline: 2px solid #0d9488;
}

.financeiro-resumo__link.is-active--tipo {
    outline: 2px solid #dc2626;
}

.financeiro-resumo__link.is-active--cat {
    outline: 2px solid #7c3aed;
}

.financeiro-resumo--categorias {
    margin-top: 0.75rem;
}

.admin-table tr.is-matriz-grupo td {
    background: rgba(15, 23, 42, 0.03);
}

.admin-table tr.is-matriz-grupo td strong {
    font-weight: 700;
}

.pjcrm-ac {
    position: relative;
}

.pjcrm-ac__list {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 40;
    max-height: 240px;
    overflow: auto;
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.pjcrm-ac__list li {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.88rem;
    line-height: 1.35;
}

.pjcrm-ac__list li:hover,
.pjcrm-ac__list li[aria-selected="true"] {
    background: var(--pj-bg, #f4f5f7);
}

.pjcrm-ac__hint {
    display: block;
    margin-top: 0.35rem;
}

.financeiro-section-head__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.financeiro-toolbar,
.financeiro-section-head {
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.admin-card.financeiro-toolbar,
.admin-card.financeiro-section {
    margin-top: 1rem;
}

.financeiro-section {
    margin-top: 1rem;
}

.financeiro-toolbar > div:first-child,
.financeiro-section-head > div:first-child {
    flex: 1 1 14rem;
    min-width: 0;
}

.admin-section-title {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pj-text, #0f172a);
}

.financeiro-toolbar .admin-section-title,
.financeiro-section-head .admin-section-title {
    margin: 0 0 0.25rem;
}

.financeiro-toolbar .admin-page-sub,
.financeiro-section-head .admin-page-sub {
    margin: 0;
    max-width: none;
}

.financeiro-charts .admin-page-sub {
    margin: 0 0 0.5rem;
    max-width: none;
}

.financeiro-charts {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: 1rem;
    align-items: start;
}

.financeiro-chart-box {
    height: 220px;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.financeiro-chart-box canvas {
    max-width: 100% !important;
}

.financeiro-page .admin-table-scroll {
    margin-top: 1rem;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 720px) {
    .financeiro-page .admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .financeiro-toolbar,
    .financeiro-section-head {
        flex-direction: column;
        align-items: stretch;
    }

    .financeiro-toolbar .admin-btn,
    .financeiro-section-head .admin-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 1100px) {
    .atendimento-lista-page .atendimentos-lista-filters.admin-form-filters {
        grid-template-columns: minmax(10rem, 1.3fr) minmax(10rem, 1.3fr) repeat(3, minmax(7.5rem, 1fr));
    }
}

@media (max-width: 900px) {
    .atendimento-lista-page .atendimentos-lista-filters.admin-form-filters {
        grid-template-columns: repeat(4, minmax(8rem, 1fr));
    }

    .atendimento-lista-page .atendimentos-lista-filters__busca {
        grid-column: 1 / -1;
    }

    .atendimento-lista-page .atendimentos-lista-filters .admin-field--actions {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .atendimento-lista-page .atendimentos-lista-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .atendimento-lista-page .atendimentos-lista-filters__busca,
    .atendimento-lista-page .atendimentos-lista-filters .admin-field--actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .financeiro-page .admin-form-filters {
        grid-template-columns: 1fr;
    }

    .atendimento-lista-page .atendimentos-lista-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .atendimento-lista-page .atendimentos-lista-filters .admin-field--actions .admin-btn {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    .financeiro-resumo {
        grid-template-columns: 1fr;
    }
}

/* Contrato: rÃ³tulo em uma linha, cÃ³digo (ORC-â€¦) na linha de baixo */
.pjcrm-contrato-link-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.15;
    gap: 0.05rem;
    text-align: left;
    white-space: normal;
}

.pjcrm-contrato-link-stack__line1 {
    font-weight: 600;
    font-size: 0.88em;
}

.pjcrm-contrato-link-stack__line2 {
    font-size: 0.8em;
    font-weight: 500;
    opacity: 0.88;
}

.pjcrm-contrato-title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    line-height: 1.2;
}

.pjcrm-contrato-title-stack__line2 {
    font-size: clamp(0.95rem, 2.5vw, 1.1rem);
    font-weight: 600;
    color: var(--pj-muted, #52525b);
    letter-spacing: 0.02em;
}

.proposta-ficha-doc__title.pjcrm-contrato-title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.proposta-ficha-doc__title.pjcrm-contrato-title-stack .pjcrm-contrato-title-stack__line2 {
    font-size: clamp(1.05rem, 3vw, 1.35rem);
    font-weight: 700;
    color: #475569;
    letter-spacing: 0.02em;
}

/* Dropdown "Mais" â€” cadastro rÃ¡pido */
.cliente-cadastro-mais {
    position: relative;
    display: inline-block;
}

.cliente-cadastro-mais__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cliente-cadastro-mais__chevron {
    font-size: 0.65rem;
    opacity: 0.85;
    margin-left: 0.1rem;
}

.cliente-cadastro-mais__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 60;
    min-width: 15rem;
    padding: 0.35rem 0;
    margin: 0;
    list-style: none;
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.cliente-cadastro-mais__item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.55rem 0.85rem;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.9rem;
    text-align: left;
    color: var(--pj-text, #18181b);
    cursor: pointer;
    border-radius: 6px;
}

.cliente-cadastro-mais__item:hover {
    background: #f4f4f5;
}

.cliente-cadastro-mais__item .cliente-app__ico {
    flex-shrink: 0;
    opacity: 0.88;
}

@media (max-width: 900px) {
    .cliente-cadastro-mais__menu {
        left: 0;
        right: auto;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

/* Modais cadastro rÃ¡pido (<dialog>) */
.cliente-modal-dialog {
    max-width: 26rem;
    width: calc(100vw - 2rem);
    padding: 0;
    border: none;
    border-radius: 12px;
    background: var(--pj-white, #fff);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.18);
}

/* <dialog> fechado: regras com display:flex no prÃ³prio dialog (ex.: perguntas CS) sobrescrevem o UA e o bloco aparece no fim da pÃ¡gina */
dialog.cliente-modal-dialog:not([open]) {
    display: none !important;
}

.cliente-modal-dialog--wide {
    max-width: 38rem;
}

.cliente-modal-dialog--recurso-form {
    width: min(96vw, 44rem);
    max-width: min(44rem, 96vw);
}

.cliente-modal-dialog--recurso-form .cliente-modal-dialog__inner {
    max-height: min(90vh, 52rem);
    overflow: auto;
    padding: 1.25rem 1.35rem 1.15rem;
}

.cliente-modal-dialog--recurso-form .admin-fieldset {
    margin-bottom: 1rem;
}

.cliente-modal-dialog--recurso-form .cliente-modal-dialog__actions {
    margin-top: 0.35rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.cliente-modal-dialog--acesso-remoto {
    width: min(96vw, 56rem);
    max-width: min(56rem, 96vw);
}

.acesso-remoto-modal__table-wrap {
    max-height: min(52vh, 28rem);
    overflow: auto;
}

.cliente-modal-dialog--acesso-remoto-form {
    width: min(94vw, 34rem);
    max-width: min(34rem, 94vw);
}

/* Filtros da lista de orÃ§amentos: campos se ajustam Ã  largura da pÃ¡gina */
.cliente-orcamentos-page .orcamentos-lista-filters.admin-form-filters {
    display: grid;
    grid-template-columns: minmax(min(100%, 14rem), 2fr) repeat(2, minmax(min(100%, 10.5rem), 1fr)) minmax(min(100%, 11rem), 1.1fr) minmax(min(100%, 11rem), 1.1fr) auto;
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.cliente-orcamentos-page .orcamentos-lista-filters .admin-field {
    min-width: 0;
}

.cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__actions .admin-btn {
    flex: 0 1 auto;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .cliente-orcamentos-page .orcamentos-lista-filters.admin-form-filters {
        grid-template-columns: minmax(12rem, 1.5fr) repeat(2, minmax(10rem, 1fr)) minmax(10.5rem, 1fr) minmax(10.5rem, 1fr);
    }

    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .cliente-orcamentos-page .orcamentos-lista-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__busca,
    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__status,
    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__vendedor,
    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .cliente-orcamentos-page .orcamentos-lista-filters.admin-form-filters {
        grid-template-columns: 1fr;
    }

    .cliente-orcamentos-page .orcamentos-lista-filters .orcamentos-lista-filters__actions .admin-btn {
        flex: 1 1 100%;
        width: 100%;
        justify-content: center;
    }
}

/* Filtros da lista de clientes: campos se ajustam Ã  largura */
.cliente-clientes-page .clientes-lista-filters.admin-form-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
    gap: 0.75rem 0.85rem;
}

.cliente-clientes-page .clientes-lista-filters .clientes-lista-filters__busca {
    grid-column: 1 / -1;
    min-width: 0;
}

.cliente-clientes-page .clientes-lista-filters .admin-field--actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.cliente-clientes-page .clientes-lista-filters .admin-field--actions .admin-btn {
    flex: 0 1 auto;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .cliente-clientes-page .clientes-lista-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .cliente-clientes-page .clientes-lista-filters .clientes-lista-filters__busca,
    .cliente-clientes-page .clientes-lista-filters .admin-field--actions {
        grid-column: 1 / -1;
    }

    .cliente-clientes-page .clientes-lista-filters .admin-field--actions {
        flex-wrap: wrap;
        min-width: 0;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .cliente-clientes-page .clientes-lista-filters.admin-form-filters {
        grid-template-columns: 1fr;
    }

    .cliente-clientes-page .clientes-lista-filters .admin-field--actions .admin-btn {
        flex: 1 1 100%;
        width: 100%;
        justify-content: center;
    }
}

.cliente-cs-cenario-modal.cliente-modal-dialog--wide {
    width: min(92vw, 68rem);
    max-width: min(68rem, 92vw);
}

.cliente-cs-cenario-modal .cliente-modal-dialog__inner {
    padding: clamp(1rem, 2vw, 1.5rem);
}

.cliente-cs-cenario-modal .cliente-modal-dialog__form-card .admin-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem 1rem;
}

.cliente-cs-cenario-modal .cliente-modal-dialog__form-card .admin-form-grid > .admin-field--full {
    grid-column: 1 / -1;
}

.cliente-modal-dialog--orcamentos-list {
    max-width: min(56rem, calc(100vw - 2rem));
    max-height: min(90vh, 640px);
}

.cliente-modal-dialog__orcamentos-scroll {
    overflow: auto;
    max-height: min(55vh, 420px);
    margin: 0 -0.25rem 0 0;
    padding-right: 0.25rem;
}

#modal-cliente-contas-receber.cliente-modal-dialog--orcamentos-list {
    width: min(56rem, calc(100vw - 2rem));
    max-width: min(56rem, calc(100vw - 2rem));
    max-height: min(92vh, 52rem);
    box-sizing: border-box;
}

#modal-cliente-contas-receber.cliente-modal-dialog[open] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#modal-cliente-contas-receber .cliente-modal-dialog__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

#modal-cliente-contas-receber .cliente-modal-dialog__title,
#modal-cliente-contas-receber .cliente-modal-dialog__lead,
#modal-cliente-contas-receber .admin-form-filters,
#modal-cliente-contas-receber #modal-cliente-contas-receber-loading,
#modal-cliente-contas-receber #modal-cliente-contas-receber-err,
#modal-cliente-contas-receber #modal-cliente-contas-receber-empty {
    flex-shrink: 0;
}

#modal-cliente-contas-receber .admin-form-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.7rem;
    align-items: flex-end;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.75rem;
}

#modal-cliente-contas-receber .admin-form-filters .admin-field {
    margin-bottom: 0;
    min-width: 8.5rem;
    flex: 1 1 8.5rem;
}

#modal-cliente-contas-receber .admin-form-filters .admin-field--actions {
    flex: 0 0 auto;
    min-width: auto;
}

#modal-cliente-contas-receber .cliente-modal-dialog__orcamentos-scroll {
    flex: 1 1 auto;
    min-height: 7rem;
    max-height: none;
    overflow: auto;
}

#modal-cliente-contas-receber .cliente-modal-dialog__actions {
    flex-shrink: 0;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--pj-border, #e5e7eb);
}

.cliente-modal-dialog::backdrop {
    background: rgba(15, 23, 42, 0.45);
}

.cliente-modal-dialog__inner {
    padding: 1.15rem 1.25rem 1.2rem;
}

.cliente-modal-dialog__title {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-modal-dialog__lead {
    margin: 0 0 1rem;
    font-size: 0.86rem;
    color: var(--pj-muted, #52525b);
    line-height: 1.45;
}

.cliente-modal-dialog__err {
    margin: 0.5rem 0 0;
}

.cliente-modal-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 0.25rem;
}

/* FormulÃ¡rios em modal: reutiliza .admin-form-card + regras do admin.css (grid, inputs, selects) */
.cliente-modal-dialog__form-card.admin-form-card {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.cliente-modal-dialog__form-card .admin-form {
    margin: 0;
}

/* EspaÃ§amento sÃ³ pelo gap do grid (evita soma com margin-bottom do .admin-field) */
.cliente-modal-dialog__form-card .admin-form-grid > .admin-field {
    margin-bottom: 0;
}

/* Modal perguntas CS â€” encaixa largura/altura ao viewport, conteÃºdo com rolagem interna */
.pjcrm-cs-pq-dialog.cliente-modal-dialog {
    width: min(44rem, calc(100vw - 1.5rem));
    max-width: min(44rem, calc(100vw - 1.5rem));
    max-height: min(92vh, 52rem);
    margin: auto;
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog.cliente-modal-dialog[open] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pjcrm-cs-pq-dialog .cliente-modal-dialog__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    flex: 1 1 auto;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog .cliente-modal-dialog__title,
.pjcrm-cs-pq-dialog .cliente-modal-dialog__lead {
    flex-shrink: 0;
}

.pjcrm-cs-pq-dialog .cliente-modal-dialog__form-card {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-right: 0.2rem;
}

.pjcrm-cs-pq-dialog .cliente-modal-dialog__actions {
    flex-shrink: 0;
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--pj-border, #e5e7eb);
}

/* Wizard CS: o passo (.cs-pq-step) deve ocupar todas as colunas do grid (senÃ£o auto-fill deixa ~metade da largura) */
.pjcrm-cs-pq-dialog .cliente-modal-dialog__form-card .admin-form-grid > .cs-pq-step {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog .cs-pq-step > .admin-field.cs-pq-q {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* CabeÃ§alho do grupo (tÃ­tulo + detalhamento) no modal de perguntas CS â€” em evidÃªncia */
.pjcrm-cs-pq-dialog .pjcrm-cs-pq-grupo-head {
    margin-bottom: 1rem !important;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, rgba(26, 43, 86, 0.1) 0%, rgba(248, 250, 252, 0.98) 45%, #fff 100%);
    border: 1px solid rgba(26, 43, 86, 0.14);
    border-radius: 10px;
    border-left: 4px solid var(--pj-navy, #1a2b56);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.07);
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-grupo-head .pjcrm-cs-pq-grupo-titulo {
    margin: 0 0 0.4rem;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-grupo-titulo {
    margin: 0 0 0.35rem;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--pj-navy, #1a2b56);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-grupo-detalhe {
    margin: 0 0 0.55rem;
    font-size: 0.92rem;
    line-height: 1.5;
    font-weight: 400;
    color: var(--pj-text, #334155);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-grupo-head > .admin-field-hint {
    margin-top: 0.35rem;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-navy, #1a2b56);
    opacity: 0.75;
}

.cliente-cs-atendimento-page .pjcrm-cs-pq-grupo-titulo {
    margin: 0 0 0.35rem;
    font-weight: 600;
    font-size: 1rem;
}

.cliente-cs-atendimento-page .pjcrm-cs-pq-grupo-detalhe {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--pj-muted, #64748b);
}

/* Texto da pergunta (tÃ­tulo do bloco) */
.pjcrm-cs-pq-dialog .pjcrm-cs-pq-qtext {
    margin: 0 0 0.5rem;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.38;
    color: var(--pj-navy, #1a2b56);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-qmeta-label {
    display: inline-flex;
    align-items: center;
    margin: 0.15rem 0 0.3rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #334155;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-qabordagem {
    margin: -0.15rem 0 0.45rem;
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
    border: 1px solid rgba(15, 23, 42, 0.08);
    font-size: 0.86rem;
    line-height: 1.5;
    color: #475569;
    font-style: italic;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-qbeneficios {
    margin: -0.15rem 0 0.65rem;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
    border: 1px solid rgba(37, 99, 235, 0.12);
    font-size: 0.86rem;
    line-height: 1.5;
    color: #334155;
    font-style: italic;
}

/* Sim / NÃ£o: opÃ§Ãµes em linha, controle antes do rÃ³tulo */
.pjcrm-cs-pq-dialog .pjcrm-cs-pq-sn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-sn__opt {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-weight: 500;
    font-size: 0.94rem;
    cursor: pointer;
    color: var(--pj-text, #18181b);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-sn__opt input[type="radio"] {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--pj-navy, #1a2b56);
}

/* Perguntas descritivas: largura total do conteÃºdo do modal e altura acompanhando o viewport */
.pjcrm-cs-pq-dialog .cliente-modal-dialog__form-card .admin-form-grid {
    width: 100%;
}

.pjcrm-cs-pq-dialog .cs-pq-q[data-ptipo="descritiva"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog textarea.pjcrm-cs-pq-textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: clamp(7rem, 32vh, 18rem);
    max-height: min(52vh, 24rem);
    box-sizing: border-box;
    resize: vertical;
    line-height: 1.45;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 8px;
    background: var(--pj-surface, #fff);
    font: inherit;
    font-size: 0.95rem;
    color: var(--pj-text, #18181b);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

@supports (field-sizing: content) {
    .pjcrm-cs-pq-dialog textarea.pjcrm-cs-pq-textarea {
        field-sizing: content;
        min-height: clamp(7rem, 28vh, 16rem);
    }
}

.pjcrm-cs-pq-dialog textarea.pjcrm-cs-pq-textarea:hover {
    border-color: #cbd5e1;
}

.pjcrm-cs-pq-dialog textarea.pjcrm-cs-pq-textarea:focus {
    outline: none;
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 0 0 3px rgba(26, 43, 86, 0.12);
}

/* MÃºltipla escolha: colunas fluidas em toda a largura do modal */
.pjcrm-cs-pq-dialog .pjcrm-cs-pq-mc-opts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 0.5rem 0.75rem;
    align-items: start;
    width: 100%;
    max-width: 100%;
}

@media (max-width: 22rem) {
    .pjcrm-cs-pq-dialog .pjcrm-cs-pq-mc-opts {
        grid-template-columns: minmax(0, 1fr);
    }
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-opt {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    padding: 0.35rem 0.4rem;
    border-radius: 6px;
    font-weight: 400;
    font-size: 0.88rem;
    line-height: 1.35;
    cursor: pointer;
    color: var(--pj-text, #18181b);
    min-width: 0;
    box-sizing: border-box;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-opt:hover {
    background: var(--pj-surface-muted, #f8fafc);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-opt input[type="checkbox"] {
    flex: 0 0 auto;
    order: 0;
    width: 0.95rem;
    height: 0.95rem;
    min-width: 0.95rem;
    margin: 0.1rem 0 0;
    padding: 0;
    vertical-align: top;
    accent-color: var(--pj-navy, #1a2b56);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-opt__text {
    flex: 1 1 auto;
    order: 1;
    min-width: 0;
}

/* Modo leitura â€” respostas texto */
.pjcrm-cs-pq-dialog .pjcrm-cs-pq-answer {
    margin: 0;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    border: 1px solid var(--pj-border, #e5e7eb);
    background: var(--pj-surface-muted, #f8fafc);
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--pj-text, #18181b);
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-answer--empty {
    color: var(--pj-muted, #52525b);
    font-style: normal;
    background: transparent;
    border-style: dashed;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-mc-opts--readonly .pjcrm-cs-pq-opt--readonly {
    cursor: default;
    padding: 0.3rem 0.35rem;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-mc-opts--readonly .pjcrm-cs-pq-opt--readonly:hover {
    background: transparent;
}

.pjcrm-cs-pq-dialog .pjcrm-cs-pq-opt--readonly input[type="checkbox"] {
    cursor: default;
    opacity: 0.85;
}

@supports (height: 100dvh) {
    .pjcrm-cs-pq-dialog.cliente-modal-dialog {
        max-height: min(92dvh, 52rem);
    }
}

/* RelatÃ³rio CS / EstratÃ©gia â€” alinhado ao cartÃ£o admin do tenant */
.cs-estrategia-relatorio-page .cs-estrategia-relatorio {
    margin-top: 1rem;
}

.cs-estrategia-relatorio-page .cs-estrategia-relatorio .admin-fieldset {
    margin-bottom: 1.35rem;
}

.cs-estrategia-relatorio .admin-field > label:first-child {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--pj-navy, #1a2b56);
}

.cs-estrategia-field-grid {
    width: 100%;
}

.cs-estrategia-relatorio .cs-estrategia-field-grid .admin-field--full {
    margin-bottom: 0;
}

.cs-estrategia-relatorio input[type="text"].cs-estrategia-input,
.cs-estrategia-relatorio input[type="date"].cs-estrategia-input,
.cs-estrategia-relatorio select.cs-estrategia-input,
.cs-estrategia-relatorio textarea.cs-estrategia-textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 8px;
    background: var(--pj-surface, #fff);
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--pj-text, #18181b);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cs-estrategia-relatorio textarea.cs-estrategia-textarea {
    min-height: 5.75rem;
    resize: vertical;
}

.cs-estrategia-relatorio textarea.cs-estrategia-textarea--tall {
    min-height: 10rem;
}

.cs-estrategia-relatorio input[type="text"].cs-estrategia-input:hover,
.cs-estrategia-relatorio input[type="date"].cs-estrategia-input:hover,
.cs-estrategia-relatorio select.cs-estrategia-input:hover,
.cs-estrategia-relatorio textarea.cs-estrategia-textarea:hover {
    border-color: #cbd5e1;
}

.cs-estrategia-relatorio input[type="text"].cs-estrategia-input:focus,
.cs-estrategia-relatorio input[type="date"].cs-estrategia-input:focus,
.cs-estrategia-relatorio select.cs-estrategia-input:focus,
.cs-estrategia-relatorio textarea.cs-estrategia-textarea:focus {
    outline: none;
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 0 0 3px rgba(26, 43, 86, 0.12);
}

.cs-estrategia-value {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
}

.cs-estrategia-readonly {
    margin: 0;
    padding: 0.65rem 0.85rem;
    white-space: pre-wrap;
    word-break: break-word;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 8px;
    background: var(--pj-surface-muted, #f8fafc);
    font-size: 0.95rem;
    line-height: 1.5;
    min-height: 2.75rem;
    color: var(--pj-text, #18181b);
}

.cs-estrategia-relatorio .admin-field-hint.cs-estrategia-hint {
    margin: 0 0 0.85rem;
    max-width: 52rem;
}

.cs-estrategia-relatorio .admin-field-hint:not(.cs-estrategia-hint) {
    margin: 0 0 0.75rem;
    max-width: 52rem;
}

.cs-estrategia-relatorio .cs-estrategia-proc-actions {
    margin: 0 0 0.75rem;
}

.cs-estrategia-relatorio .admin-table-wrap {
    overflow-x: auto;
}

.cs-estrategia-relatorio .cs-estrategia-proc-table input[type="text"],
.cs-estrategia-relatorio .cs-estrategia-proc-table select {
    width: 100%;
    min-width: 7.5rem;
    box-sizing: border-box;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 6px;
    background: var(--pj-surface, #fff);
    font: inherit;
    font-size: 0.9rem;
    color: var(--pj-text, #18181b);
}

.cs-estrategia-relatorio .cs-estrategia-proc-table input[type="text"]:focus,
.cs-estrategia-relatorio .cs-estrategia-proc-table select:focus {
    outline: none;
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 0 0 2px rgba(26, 43, 86, 0.1);
}

.cs-estrategia-relatorio .cs-estrategia-proc-table td {
    vertical-align: top;
}

.cs-estrategia-relatorio .cs-estrategia-proc-empty {
    padding: 0.75rem;
}

.cs-estrategia-detalhe {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 8px;
    background: var(--pj-surface-muted, #f8fafc);
}

.cs-estrategia-detalhe summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.cs-estrategia-detalhe__body {
    margin: 0.65rem 0 0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.cs-estrategia-detalhe__body p {
    margin: 0 0 0.4rem;
}

.cs-estrategia-detalhe__body p:last-child {
    margin-bottom: 0;
}

.cs-estrategia-classif-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
    gap: 0.5rem 1rem;
    align-items: start;
}

.cs-estrategia-classif-item {
    margin-bottom: 0;
}

.cs-estrategia-relatorio .cs-estrategia-classif-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
    font-size: 0.95rem;
    cursor: pointer;
    margin: 0;
    color: var(--pj-text, #18181b);
}

.cs-estrategia-relatorio .cs-estrategia-append-row {
    margin: 0.75rem 0 0;
}

.cs-estrategia-relatorio__pre {
    white-space: pre-wrap;
    font: inherit;
    margin: 0;
    padding: 0.75rem 1rem;
    background: var(--pj-surface-muted, #f8fafc);
    border-radius: 8px;
    border: 1px solid var(--pj-border, #e5e7eb);
    line-height: 1.5;
    font-size: 0.92rem;
}

.cs-estrategia-cat-summary {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
    color: var(--pj-text, #18181b);
}

.cs-estrategia-cat-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.cs-estrategia-cat-append-wrap {
    margin: 0.5rem 0 0;
}

.cs-rel-catalogo-dialog.cliente-modal-dialog {
    width: min(48rem, calc(100vw - 1.5rem));
    max-width: min(48rem, calc(100vw - 1.5rem));
    max-height: min(92vh, 44rem);
}

.cs-rel-catalogo-dialog .cliente-modal-dialog__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    max-height: min(88vh, 42rem);
}

.cs-rel-catalogo-filtro {
    margin-bottom: 0.75rem;
}

.cs-rel-catalogo-filtro .admin-input {
    max-width: 24rem;
}

.cs-rel-catalogo-scroll {
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(58vh, 22rem);
    overflow-y: auto;
    margin: 0 -0.15rem;
    padding: 0 0.15rem 0.5rem;
    -webkit-overflow-scrolling: touch;
}

.cs-rel-catalogo-scroll .admin-form-card {
    margin: 0;
    padding: 0.75rem 1rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 8px;
    background: var(--pj-surface, #fff);
}

.cs-rel-catalogo-prod {
    padding-bottom: 0.85rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px solid var(--pj-border, #e5e7eb);
}

.cs-rel-catalogo-prod:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.cs-rel-catalogo-prod__fab {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #52525b);
}

.cs-rel-catalogo-prod__titulo {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-weight: 600;
    margin: 0 0 0.4rem;
    cursor: pointer;
}

.cs-estrategia-rec-list {
    margin: 0.35rem 0 0 1.35rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
}

.cs-estrategia-rec-list__item {
    font-weight: 400;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
}

.cs-rel-catalogo-prod__sem-rec {
    margin: 0.25rem 0 0 1.35rem;
}

/* Modal orÃ§amento â€” anotaÃ§Ã£o: viewport + grid da agenda no padrÃ£o do sistema */
.orcamento-anotacao-dialog.cliente-modal-dialog {
    width: min(42rem, calc(100vw - 1.5rem));
    max-width: min(42rem, calc(100vw - 1.5rem));
    max-height: min(92vh, 52rem);
    margin: auto;
    box-sizing: border-box;
}

.orcamento-anotacao-dialog.cliente-modal-dialog[open] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.orcamento-anotacao-dialog .cliente-modal-dialog__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.orcamento-anotacao-dialog .cliente-modal-dialog__title,
.orcamento-anotacao-dialog .cliente-modal-dialog__lead {
    flex-shrink: 0;
}

.orcamento-anotacao-dialog form.admin-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    margin: 0;
}

.orcamento-anotacao-dialog .cliente-modal-dialog__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-right: 0.15rem;
}

.orcamento-anotacao-dialog .cliente-modal-dialog__actions {
    flex-shrink: 0;
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--pj-border, #e5e7eb);
}

.orcamento-anotacao-dialog .admin-fieldset {
    margin: 0.85rem 0 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.orcamento-anotacao-dialog .admin-fieldset__legend {
    margin-bottom: 0.35rem;
}

.orcamento-anotacao-dialog .admin-fieldset > .admin-field-hint {
    margin: 0 0 0.75rem;
}

.orcamento-anotacao-dialog .kanban-agenda-interna__group {
    display: contents;
}

.orcamento-anotacao-dialog .kanban-agenda-interna__group[hidden] {
    display: none;
}

.orcamento-anotacao-dialog .empresa-flag-field .admin-field-hint {
    display: block;
    margin: 0.2rem 0 0 1.75rem;
}

/* Modal: detalhes do item do catÃ¡logo (produto/serviÃ§o) */
.cliente-catalogo-item-modal.cliente-modal-dialog {
    max-width: min(36rem, calc(100vw - 2rem));
    max-height: min(90vh, 760px);
    width: calc(100vw - 2rem);
}

.cliente-catalogo-modal__inner {
    max-height: min(86vh, 720px);
    overflow-y: auto;
    padding: 1.15rem 1.25rem 1.2rem;
}

.cliente-catalogo-modal__head {
    position: relative;
    padding-right: 2.75rem;
    margin-bottom: 0.75rem;
}

.cliente-catalogo-modal__close {
    position: absolute;
    top: -0.15rem;
    right: 0;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--pj-muted, #52525b);
    cursor: pointer;
}

.cliente-catalogo-modal__close:hover,
.cliente-catalogo-modal__close:focus-visible {
    background: #f4f4f5;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-modal__badge {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-modal__title {
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-modal__cat {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-modal__media {
    margin: 0 0 1rem;
    text-align: center;
}

.cliente-catalogo-modal__img {
    display: inline-block;
    max-width: 100%;
    max-height: 14rem;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #f4f4f5;
}

.cliente-catalogo-modal__prices {
    margin-bottom: 1rem;
}

.cliente-catalogo-modal__block {
    margin: 0 0 1rem;
}

.cliente-catalogo-modal__block--video {
    margin-bottom: 0.75rem;
}

.cliente-catalogo-modal__h {
    margin: 0 0 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-modal__txt {
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-modal__actions {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

/* Modal Mais recursos: grupos expansÃ­veis + detalhamento por recurso */
.cliente-catalogo-recursos__tree {
    margin: 0 0 1rem;
    text-align: left;
}

.cliente-catalogo-recursos__grupo {
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    margin-bottom: 0.65rem;
    overflow: hidden;
    background: #fafafa;
}

.cliente-catalogo-recursos__grupo:last-child {
    margin-bottom: 0;
}

.cliente-catalogo-recursos__grupo-sum {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.cliente-catalogo-recursos__grupo-sum::-webkit-details-marker {
    display: none;
}

.cliente-catalogo-recursos__grupo-caret {
    display: inline-block;
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 0.18s ease;
    flex-shrink: 0;
    opacity: 0.75;
}

.cliente-catalogo-recursos__grupo[open] > .cliente-catalogo-recursos__grupo-sum .cliente-catalogo-recursos__grupo-caret {
    transform: rotate(45deg);
}

.cliente-catalogo-recursos__grupo-title {
    flex: 1 1 auto;
    min-width: 0;
}

.cliente-catalogo-recursos__grupo-meta {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-recursos__grupo-body {
    padding: 0.35rem 0.65rem 0.65rem 1.85rem;
    background: #fff;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.cliente-catalogo-recursos__recurso {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    margin-bottom: 0.45rem;
    background: #fafafa;
}

.cliente-catalogo-recursos__recurso:last-child {
    margin-bottom: 0;
}

.cliente-catalogo-recursos__recurso-sum {
    padding: 0.45rem 0.65rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-recursos__recurso-sum::-webkit-details-marker {
    display: none;
}

.cliente-catalogo-recursos__recurso-sum::before {
    content: '+';
    display: inline-block;
    width: 1.1rem;
    margin-right: 0.35rem;
    font-weight: 700;
    color: var(--pj-primary, #2563eb);
}

.cliente-catalogo-recursos__recurso[open] > .cliente-catalogo-recursos__recurso-sum::before {
    content: 'âˆ’';
}

.cliente-catalogo-recursos__recurso-det {
    padding: 0 0.65rem 0.55rem 1.5rem;
    font-size: 0.86rem;
    line-height: 1.55;
    color: var(--pj-muted, #52525b);
    border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.cliente-catalogo-recursos__recurso-flat {
    padding: 0.45rem 0.65rem;
    margin-bottom: 0.45rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 8px;
    background: #fff;
}

.cliente-catalogo-recursos__recurso-flat:last-child {
    margin-bottom: 0;
}

.cliente-catalogo-card__btn-modal {
    width: 100%;
    justify-content: center;
}

/* Filtros da lista de produtos: busca em linha inteira */
.cliente-produtos-page .admin-form-filters .admin-field--full {
    grid-column: 1 / -1;
}

/* Vendas: filtros na mesma linha e campos mais largos */
.cliente-vendas-page .vendas-lista-filters.admin-form-filters {
    display: grid;
    grid-template-columns: minmax(14rem, 2fr) minmax(8rem, 0.85fr) repeat(2, minmax(10.5rem, 1fr)) minmax(10rem, 1.1fr) auto;
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.cliente-vendas-page .vendas-lista-filters .admin-field {
    min-width: 0;
}

.cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    min-width: max-content;
    white-space: nowrap;
}

.cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__actions .admin-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .cliente-vendas-page .vendas-lista-filters.admin-form-filters {
        grid-template-columns: minmax(12rem, 1.6fr) minmax(7.5rem, 0.9fr) repeat(2, minmax(10rem, 1fr)) minmax(9.5rem, 1fr);
    }

    .cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .cliente-vendas-page .vendas-lista-filters.admin-form-filters {
        grid-template-columns: 1fr 1fr;
    }

    .cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__cliente,
    .cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__vend,
    .cliente-vendas-page .vendas-lista-filters .vendas-lista-filters__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .cliente-vendas-page .vendas-lista-filters.admin-form-filters {
        grid-template-columns: 1fr;
    }
}

.contratos-lista-filters.admin-form-filters > .admin-field--actions {
    flex-wrap: nowrap;
    gap: 0.5rem;
}

/* Base de conhecimento â€” filtros de artigos (sem encavalar botÃµes) */
.kb-artigos-filters.admin-form-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
}

.kb-artigos-filters .admin-field {
    margin: 0;
    min-width: 0;
}

.kb-artigos-filters__cat {
    flex: 1 1 14rem;
    min-width: 12rem;
}

.kb-artigos-filters__versao {
    flex: 1 1 12rem;
    min-width: 10rem;
}

.kb-artigos-filters__q {
    flex: 2 1 20rem;
    min-width: 16rem;
}

.kb-artigos-filters__actions.admin-field--actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.kb-artigos-filters__actions .admin-btn {
    flex: 0 0 auto;
}

/* Artigos KB â€” grÃ¡ficos + total na mesma linha */
.kb-artigos-dash {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 1rem;
    box-sizing: border-box;
}

.kb-artigos-dash__chart.admin-card {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0.75rem 0.85rem 0.85rem;
    box-sizing: border-box;
}

.kb-artigos-dash__chart .cliente-dash__card-title {
    margin: 0 0 0.45rem;
    font-size: 0.9rem;
}

.kb-artigos-dash__wrap.cliente-dash__chart-wrap--doughnut {
    min-height: 168px;
    max-height: 190px;
}

.kb-artigos-dash__kpi.admin-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 1rem 1.1rem;
    box-sizing: border-box;
}

.kb-artigos-dash__kpi .admin-stat__value {
    font-size: clamp(1.6rem, 3vw, 2.25rem);
    line-height: 1.15;
}

.kb-artigos-dash__kpi .admin-stat__label {
    max-width: 100%;
    line-height: 1.35;
}

@media (max-width: 1100px) {
    .kb-artigos-dash {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .kb-artigos-dash {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Atendimento â€” artigos sugeridos (abaixo do certificado) */
.atendimento-kb-sugeridos {
    margin-top: 0.85rem;
}

.atendimento-kb-sugeridos__list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.atendimento-kb-sugeridos__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: #fff;
}

.atendimento-kb-sugeridos__item-main {
    min-width: 0;
    flex: 1;
}

.atendimento-kb-sugeridos__title {
    font-weight: 600;
    font-size: 0.92rem;
    line-height: 1.3;
    color: var(--pj-text, #18181b);
}

.atendimento-kb-sugeridos__meta {
    margin-top: 0.2rem;
    font-size: 0.8rem;
    color: var(--pj-muted, #64748b);
}

.atendimento-kb-sugeridos__resumo {
    margin-top: 0.25rem;
    font-size: 0.8rem;
    line-height: 1.35;
    color: var(--pj-muted, #52525b);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.atendimento-kb-sugeridos__item .admin-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Vendas > Visualizar: padrao visual dos cards e resumo */
.vendas-view-page .vendas-view-card + .vendas-view-card {
    margin-top: 1rem;
}

.vendas-view-page .vendas-view-kv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.75rem 1.25rem;
}

.vendas-view-page .vendas-view-kv-item {
    min-width: 0;
    line-height: 1.45;
}

.vendas-view-page .vendas-view-kv-item strong {
    color: var(--pj-navy, #1a2b56);
}

.vendas-view-page .vendas-view-card--danger {
    border-color: rgba(180, 60, 60, 0.35);
}

.vendas-view-page .vendas-view-danger-note {
    margin-bottom: 0.75rem;
}

.vendas-view-page .vendas-view-delete-btn {
    background: #b43c3c;
    border-color: #b43c3c;
    color: #fff;
}

.vendas-view-page .vendas-view-delete-btn:hover {
    background: #9f2f2f;
    border-color: #9f2f2f;
}

/* Modal renovaÃ§Ã£o / cancelamento de contrato â€” mesmo padrÃ£o Agenda/Kanban */
.pjcrm-contrato-modal {
    z-index: 2200;
}

.pjcrm-contrato-modal__panel {
    width: min(100%, 32rem);
    max-height: min(92vh, 720px);
    overflow: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pjcrm-contrato-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.1rem 1.2rem 0;
}

.pjcrm-contrato-modal__header .kanban-modal__title {
    margin: 0;
    flex: 1;
    min-width: 0;
}

.pjcrm-contrato-modal__close {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin: -0.15rem -0.25rem 0 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}

.pjcrm-contrato-modal__close:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.pjcrm-contrato-modal .kanban-modal__sub {
    margin: 0.45rem 1.2rem 0.85rem;
}

.pjcrm-contrato-modal__card.admin-form-card {
    margin: 0 1.2rem 1.1rem;
    box-shadow: none;
    border: 1px solid var(--pj-border, #e4e4e7);
}

.pjcrm-contrato-modal__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #f1f5f9;
}

.pjcrm-contrato-modal__foot .kanban-modal__foot-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

@media (max-width: 520px) {
    .pjcrm-contrato-modal__foot {
        flex-direction: column;
        align-items: stretch;
    }

    .pjcrm-contrato-modal__foot .kanban-modal__foot-actions {
        margin-left: 0;
        width: 100%;
    }

    .pjcrm-contrato-modal__foot .admin-btn {
        width: 100%;
    }
}

/* Legado (caso alguma cÃ³pia ainda use a classe antiga) */
.pjcrm-modal-renovar {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.pjcrm-modal-renovar[hidden] {
    display: none !important;
}

.pjcrm-modal-renovar__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.pjcrm-modal-renovar__dialog {
    position: relative;
    z-index: 1;
    width: min(32rem, 100%);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.25rem 1rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.pjcrm-modal-renovar__title {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
}

.cliente-produtos-thumb {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #f4f4f5;
}

.cliente-produtos-col-media {
    width: 3.5rem;
    vertical-align: middle;
}

.cliente-produtos-video-link {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-primary, #2563eb);
    text-decoration: none;
}

.cliente-produtos-video-link:hover {
    text-decoration: underline;
}

.cliente-produtos-saiba-mais {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-primary, #2563eb);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cliente-produtos-saiba-mais:hover {
    text-decoration-thickness: 2px;
}

.cliente-recurso-grupo-novo__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    align-items: center;
}

.cliente-recurso-grupo-novo__row input[type="text"] {
    flex: 1;
    min-width: min(100%, 220px);
}

.cliente-recurso-detalhamento-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.35rem;
}

.cliente-recurso-detalhamento-head label {
    margin-bottom: 0;
}

.cliente-table__group-row td {
    background: #f4f4f5;
    font-size: 0.92rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.cliente-seg-picker__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

.cliente-seg-picker__select {
    flex: 1;
    min-width: min(100%, 280px);
}

.cliente-seg-picker__btn {
    flex-shrink: 0;
}

.cliente-seg-picker__btn-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.cliente-seg-picker__btn-spacer {
    display: block;
    min-height: 1.15rem;
}

.cliente-seg-picker__lista-wrap {
    margin-top: 0.85rem;
}

.cliente-seg-picker__lista {
    list-style: none;
    margin: 0.4rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.cliente-seg-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.5rem 0.25rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fafafa;
    font-size: 0.88rem;
    font-weight: 600;
}

.cliente-seg-picker__chip-remove {
    border: none;
    background: transparent;
    padding: 0 0.15rem;
    margin: 0;
    border-radius: 4px;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    color: var(--pj-muted-foreground, #71717a);
}

.cliente-seg-picker__chip-remove:hover {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

.cliente-seg-picker__vazio {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
}

.cliente-produtos-saiba-conteudo {
    margin: 0.5rem 0 1rem;
    max-height: min(60vh, 28rem);
    overflow-y: auto;
}

.cliente-produtos-saiba-sub {
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted-foreground, #71717a);
    margin: 0 0 0.45rem;
}

.cliente-produtos-saiba-text {
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    line-height: 1.55;
    font-size: 0.95rem;
}

.cliente-produtos-saiba-block + .cliente-produtos-saiba-block {
    margin-top: 1.25rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.cliente-produtos-edit-preview {
    margin-top: 0.35rem;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.cliente-produtos-edit-preview img:not([hidden]) {
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    object-fit: cover;
    background: #f4f4f5;
}

/* CatÃ¡logo + ativo lado a lado nos modais de produto */
.cliente-produtos-flags-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.75rem;
}

.cliente-produtos-flags-inline__item {
    margin: 0;
    flex: 1 1 auto;
    min-width: 10rem;
}

.cliente-servico-preco-ref .cliente-servico-valor-min {
    margin: 0.35rem 0 0.25rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-produtos-pagination {
    margin-top: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: center;
}

/* RodapÃ© de paginaÃ§Ã£o â€” alinhado ao card da lista (admin-card--table) */
.admin-card--table > .cliente-lista-pagination,
.cliente-lista-pagination {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.85rem 1.25rem;
    margin: 0;
    padding: 0.85rem 1rem 1rem;
    border-top: 1px solid var(--pj-border, #d8e1ec);
    background: #f8fafc;
    box-sizing: border-box;
    width: 100%;
}

.cliente-lista-pagination__form {
    margin: 0;
    min-width: 0;
}

.cliente-lista-pagination__field {
    margin: 0;
    min-width: 0;
}

.cliente-lista-pagination__field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--pj-muted, #64748b);
}

.cliente-lista-pagination__field select {
    display: block;
    width: 100%;
    max-width: 14rem;
    min-height: 40px;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--pj-border, #d8e1ec);
    border-radius: 8px;
    background: var(--pj-white, #fff);
    color: var(--pj-text, #0f172a);
    font-family: inherit;
    font-size: 0.9rem;
    box-sizing: border-box;
}

.cliente-lista-pagination__field select:focus-visible {
    outline: none;
    border-color: #2b6ce6;
    box-shadow: 0 0 0 3px rgba(43, 108, 230, 0.22);
}

.cliente-lista-pagination__info {
    margin: 0;
    padding-bottom: 0.45rem;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--pj-muted, #64748b);
    align-self: center;
}

.cliente-lista-pagination__page-label {
    white-space: nowrap;
}

.cliente-lista-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    margin: 0;
    min-width: 0;
}

.cliente-lista-pagination__pages .admin-btn {
    min-width: 2.25rem;
}

.cliente-lista-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 1.25rem;
    color: var(--pj-muted, #64748b);
    user-select: none;
}

body[data-ui-modo="dark"] .cliente-lista-pagination {
    background: #0f172a;
    border-top-color: #334155;
}

body[data-ui-modo="dark"] .cliente-lista-pagination__field select {
    background: #111827;
    border-color: #334155;
    color: #e2e8f0;
}

@media (max-width: 900px) {
    .admin-card--table > .cliente-lista-pagination,
    .cliente-lista-pagination {
        grid-template-columns: 1fr auto;
    }

    .cliente-lista-pagination__info {
        grid-column: 1 / -1;
        order: 3;
        padding-bottom: 0;
    }

    .cliente-lista-pagination__pages {
        justify-content: flex-end;
    }
}

@media (max-width: 560px) {
    .admin-card--table > .cliente-lista-pagination,
    .cliente-lista-pagination {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .cliente-lista-pagination__field select {
        max-width: none;
    }

    .cliente-lista-pagination__pages {
        justify-content: flex-start;
    }
}

/* CatÃ¡logo: busca por descriÃ§Ã£o + aÃ§Ãµes (mesmo estilo da faixa de grupos) */
.cliente-catalogo-vendas .cliente-catalogo-filters {
    margin: 0 0 1.25rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem 0.85rem;
}

.cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__q {
    flex: 1 1 16rem;
    min-width: 0;
    margin: 0;
}

.cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__q label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
}

.cliente-catalogo-vendas .cliente-catalogo-filters__input {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.5rem 0.85rem;
    font-size: 0.95rem;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fff;
    color: var(--pj-navy, #1a2b56);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cliente-catalogo-vendas .cliente-catalogo-filters__input:hover {
    border-color: rgba(37, 99, 235, 0.35);
}

.cliente-catalogo-vendas .cliente-catalogo-filters__input:focus {
    outline: none;
    border-color: rgba(37, 99, 235, 0.55);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    margin: 0;
    padding-bottom: 0.05rem;
}

.cliente-catalogo-vendas .cliente-catalogo-filters__btn {
    min-height: 2.65rem;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    border-radius: 10px;
}

@media (max-width: 640px) {
    .cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__q {
        flex-basis: 100%;
    }

    .cliente-catalogo-vendas .cliente-catalogo-filters--single .cliente-catalogo-filters__actions {
        width: 100%;
        justify-content: stretch;
    }

    .cliente-catalogo-vendas .cliente-catalogo-filters__btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

.cliente-catalogo-vendas--public .cliente-catalogo-filters,
.cliente-catalogo-vendas--public .admin-filters {
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}

.cliente-catalogo-vendas--public .admin-input,
.cliente-catalogo-vendas--public select,
.cliente-catalogo-vendas--public .cliente-catalogo-filters__input {
    min-height: 2.65rem;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #fff;
    font-size: 0.95rem;
}

.cliente-catalogo-vendas--public .admin-field label {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #475569;
}

.cliente-catalogo-vendas--public .cliente-catalogo-filters {
    background: #fff;
    border-color: rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}

/* Categorias do catálogo público — barra abaixo do banner (estilo portal) */
.cliente-catalogo-cats-bar {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    border-bottom: 3px solid #0b1b33;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.cliente-catalogo-cats-bar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.15rem 0.1rem;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0.4rem clamp(0.5rem, 2vw, 1.25rem);
    box-sizing: border-box;
}

.cliente-catalogo-cats-bar__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.4rem 0.85rem;
    font-size: 0.86rem;
    font-weight: 700;
    color: #0b1b33 !important;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}

.cliente-catalogo-cats-bar__link:hover {
    color: #123a6b !important;
    background: rgba(11, 27, 51, 0.06);
    border-radius: 8px;
    border-bottom-color: transparent;
}

.cliente-catalogo-cats-bar__link.is-active {
    color: #0b1b33 !important;
    border-bottom-color: #0b1b33;
    font-weight: 800;
}

@media (max-width: 720px) {
    .cliente-catalogo-cats-bar__inner {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
}

/* Catálogo de vendas: menu por grupo + Contato (app logado) */
.cliente-catalogo-vendas-nav {
    margin: 0 0 1.25rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cliente-catalogo-vendas-nav__scroll {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
}

.cliente-catalogo-vendas-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    text-decoration: none;
    border: 1px solid transparent;
    background: #fff;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cliente-catalogo-vendas-nav__link:hover {
    border-color: var(--pj-border, #e4e4e7);
    background: #f4f4f5;
}

.cliente-catalogo-vendas-nav__link--active {
    border-color: rgba(37, 99, 235, 0.35);
    background: rgba(37, 99, 235, 0.08);
    color: var(--pj-primary, #2563eb);
}

.cliente-catalogo-vendas-nav__link--contato {
    margin-left: auto;
    border-color: var(--pj-border, #e4e4e7);
}

.cliente-catalogo-vendas-nav__link--portal {
    border-color: rgba(37, 99, 235, 0.28);
    color: var(--pj-primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
}

#loja-institucional,
#catalogo,
#loja-drawer-contato {
    scroll-margin-top: 5rem;
}

@media (max-width: 720px) {
    .cliente-catalogo-vendas-nav__link--contato {
        margin-left: 0;
    }
}

.cliente-catalogo-share {
    margin-bottom: 1.25rem;
    padding: 1.15rem 1.25rem;
}

.cliente-catalogo-share__title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-share__hint {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    line-height: 1.45;
}

.cliente-catalogo-share__flash {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #166534;
    background: rgba(22, 163, 74, 0.12);
}

.cliente-catalogo-share__form {
    margin: 0;
}

.cliente-catalogo-share__row {
    margin: 0;
}

.cliente-catalogo-share__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-share__inputs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}

.cliente-catalogo-share__input {
    flex: 1 1 12rem;
    min-width: 0;
}

/* PÃ¡gina pÃºblica do catÃ¡logo (catalogo_publico.php) â€” vitrine / loja; mesma tipografia do app (Inter + admin.css) */
.cliente-catalogo-publico {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(15px, 2.5vw, 16px);
    line-height: 1.55;
    color: var(--pj-text, #1a1a1e);
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(ellipse 120% 80% at 50% -20%, rgba(37, 99, 235, 0.12), transparent 50%),
        linear-gradient(180deg, #f1f5f9 0%, #f8fafc 35%, #eef2f7 100%);
}

.cliente-catalogo-publico--loja {
    --cat-bg: #070b14;
    --cat-bg-2: #0b1220;
    --cat-menu-bg: #070b14;
    --cat-menu-text: #93a4c7;
    --cat-menu-active: #eaf0ff;
    --cat-text: #eaf0ff;
    --cat-muted: #93a4c7;
    --cat-brand: #4ea1ff;
    --cat-brand-2: #7dd3fc;
    --cat-btn-text: #07101f;
    --cat-content-bg: #f4f7fb;
    --cat-footer-bg: #050b16;
    font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
    background: var(--cat-content-bg);
    color: var(--cat-text);
}

.cliente-catalogo-publico--home,
.cliente-catalogo-publico--site {
    background: linear-gradient(180deg, var(--cat-bg), var(--cat-bg-2));
}

/* Menu superior: mesmo padrão da home em todas as páginas (produtos, treinamentos, quem somos…) */
.cliente-catalogo-publico--loja {
    position: relative;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__header--bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 40;
    padding: 0;
    overflow: visible;
    background: linear-gradient(180deg, rgba(5, 10, 20, 0.88) 0%, rgba(5, 10, 20, 0.62) 55%, rgba(5, 10, 20, 0.2) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__header--bar.is-scrolled {
    position: fixed;
    background: color-mix(in srgb, var(--cat-menu-bg) 92%, transparent);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link {
    color: #fff !important;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    border-bottom-color: transparent;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link--active {
    color: #fff !important;
    border-bottom-color: var(--cat-brand, #4ea1ff);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-portal {
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-contador {
    border: 1px solid #fff !important;
    background: #fff !important;
    color: #0b1b33 !important;
    text-shadow: none !important;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-contador:hover {
    background: #e8eef8 !important;
    color: #0b1b33 !important;
    filter: none;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-portal:hover {
    background: rgba(255, 255, 255, 0.24) !important;
    color: #fff !important;
    border-color: #fff !important;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-ligue {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    font-weight: 800;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__brand-text {
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__logo {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.cliente-catalogo-publico__header-inner--bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1.25rem;
    min-height: 4.35rem;
    max-width: 72rem;
    margin: 0 auto;
    padding: 0.55rem clamp(1rem, 3vw, 1.75rem);
    box-sizing: border-box;
}

.cliente-catalogo-publico__brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 3rem;
    text-decoration: none;
    color: #fff;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__logo {
    display: block;
    max-height: 2.85rem;
    width: auto;
    max-width: min(12rem, 38vw);
    height: auto;
    object-fit: contain;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-sizing: border-box;
}

.cliente-catalogo-publico__brand-text {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--cat-text);
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.1rem 0.15rem;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.cliente-catalogo-publico__nav-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex: 1 1 auto;
    margin-left: auto;
    min-width: 0;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.2rem;
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--cat-menu-text);
    text-decoration: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link:hover {
    background: transparent;
    color: var(--cat-menu-active);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-link--active {
    background: transparent;
    color: var(--cat-menu-active);
    border-bottom-color: var(--cat-brand);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-portal {
    border: 1px solid color-mix(in srgb, var(--cat-brand-2) 45%, transparent);
    border-radius: 999px;
    border-bottom-width: 1px;
    color: var(--cat-menu-active);
    padding-inline: 0.95rem;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-portal:hover {
    background: color-mix(in srgb, var(--cat-brand) 14%, transparent);
    color: var(--cat-menu-active);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-contador {
    border: 1px solid #fff !important;
    border-radius: 999px;
    border-bottom-width: 1px !important;
    background: #fff !important;
    color: #0b1b33 !important;
    text-shadow: none !important;
    font-weight: 800;
    padding-inline: 0.95rem;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-contador:hover {
    background: #e8eef8 !important;
    color: #0b1b33 !important;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-ligue {
    background: linear-gradient(90deg, var(--cat-brand), var(--cat-brand-2));
    border-radius: 12px;
    border-bottom-width: 0;
    color: var(--cat-btn-text);
    font-weight: 800;
    padding-inline: 1.05rem;
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__nav-ligue:hover {
    background: linear-gradient(90deg, var(--cat-brand), var(--cat-brand-2));
    filter: brightness(1.06);
    color: var(--cat-btn-text);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--cat-brand) 35%, transparent);
}

.cliente-catalogo-publico--loja .cliente-catalogo-publico__title--page {
    color: #e2e8f0;
    font-size: 1.15rem;
    margin: 0;
}

.cliente-catalogo-publico__page-title-wrap,
.cliente-catalogo-publico__flash-wrap {
    max-width: 72rem;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 1.75rem) 0.85rem;
}

@media (max-width: 960px) {
    .cliente-catalogo-publico__header-inner--bar {
        flex-wrap: wrap;
        min-height: 0;
        gap: 0.55rem 0.75rem;
    }

    .cliente-catalogo-publico--loja .cliente-catalogo-publico__nav {
        order: 3;
        flex: 1 1 100%;
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.15rem;
        -webkit-overflow-scrolling: touch;
    }

    .cliente-catalogo-publico__nav-cta {
        margin-left: auto;
    }
}

/* Home stage: hero full-bleed + barra de stats */
.cliente-catalogo-home-stage {
    background: var(--cat-bg);
    padding: 0;
    width: 100%;
}

.cliente-catalogo-publico--home .cliente-catalogo-home-stage {
    background: transparent;
}

.cliente-catalogo-hero {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #0b1220;
}

.cliente-catalogo-hero__viewport {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
}

.cliente-catalogo-hero__slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.55s ease, visibility 0.55s ease;
    background: #0b1220;
}

.cliente-catalogo-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.cliente-catalogo-hero__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    opacity: 0.92;
    transform: scale(1.02);
}

.cliente-catalogo-hero__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(105deg, rgba(7, 11, 20, 0.48) 0%, rgba(7, 11, 20, 0.22) 42%, rgba(7, 11, 20, 0.08) 72%, rgba(7, 11, 20, 0.18) 100%),
        linear-gradient(180deg, rgba(7, 11, 20, 0.28) 0%, rgba(7, 11, 20, 0.05) 38%, rgba(7, 11, 20, 0.35) 100%);
}

.cliente-catalogo-hero__slide--fallback {
    background: linear-gradient(135deg, var(--cat-bg), var(--cat-bg-2));
}

.cliente-catalogo-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 72rem;
    margin: 0 auto;
    padding: clamp(5.5rem, 14vh, 7.5rem) clamp(1.1rem, 3.5vw, 2rem) clamp(3.25rem, 8vh, 5rem);
    box-sizing: border-box;
}

.cliente-catalogo-hero__copy {
    max-width: min(42rem, 100%);
}

.cliente-catalogo-hero__eyebrow {
    margin: 0 0 0.65rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cat-brand, #f59e0b);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.cliente-catalogo-hero__title {
    margin: 0 0 0.9rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 5.2vw + 0.55rem, 4rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.4);
}

.cliente-catalogo-hero__lead {
    margin: 0 0 1.5rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 0.55vw + 0.95rem, 1.28rem);
    font-style: italic;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
    max-width: 34rem;
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.35);
}

.cliente-catalogo-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cliente-catalogo-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.35rem;
    border-radius: 8px;
    border: none;
    font-weight: 800;
    font-size: 0.95rem;
    text-decoration: none;
    background: var(--cat-brand, #f59e0b);
    color: var(--cat-btn-text, #07101f);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.cliente-catalogo-hero__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    color: var(--cat-btn-text, #07101f);
    filter: brightness(1.05);
}

.cliente-catalogo-hero__btn--ghost {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.75);
    color: #fff;
}

.cliente-catalogo-hero__btn--ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    filter: none;
}

.cliente-catalogo-hero__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(7, 11, 20, 0.45);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(6px);
}

.cliente-catalogo-hero__nav:hover {
    background: rgba(7, 11, 20, 0.7);
}

.cliente-catalogo-hero__nav--prev { left: clamp(0.5rem, 2vw, 1.25rem); }
.cliente-catalogo-hero__nav--next { right: clamp(0.5rem, 2vw, 1.25rem); }

.cliente-catalogo-hero__dots {
    position: absolute;
    left: 50%;
    bottom: 1.15rem;
    z-index: 3;
    transform: translateX(-50%);
    display: flex;
    gap: 0.45rem;
}

.cliente-catalogo-hero__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.cliente-catalogo-hero__dot.is-active {
    width: 1.35rem;
    background: var(--cat-brand, #4ea1ff);
}

/* Barra de indicadores — cards com ícone + contagem animada */
.cliente-catalogo-stats {
    width: 100%;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 55%, #fff 100%);
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    padding: 1.35rem clamp(0.85rem, 2.5vw, 1.5rem) 1.15rem;
}

.cliente-catalogo-stats__grid {
    display: grid;
    grid-template-columns: repeat(var(--stats-cols, 3), minmax(0, 1fr));
    gap: 0.85rem;
    max-width: 72rem;
    margin: 0 auto;
}

.cliente-catalogo-stats__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.2rem;
    padding: 1.25rem 1.1rem 1.15rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.cliente-catalogo-stats__item:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--cat-brand, #4ea1ff) 45%, #e2e8f0);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

.cliente-catalogo-stats__icon {
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    margin-bottom: 0.55rem;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, var(--cat-brand, #4ea1ff), var(--cat-brand-2, #7dd3fc));
    box-shadow: 0 8px 18px color-mix(in srgb, var(--cat-brand, #4ea1ff) 35%, transparent);
}

.cliente-catalogo-stats__icon svg {
    width: 1.45rem;
    height: 1.45rem;
    display: block;
}

.cliente-catalogo-stats__item--clientes .cliente-catalogo-stats__icon {
    background: linear-gradient(145deg, #2563eb, #38bdf8);
}

.cliente-catalogo-stats__item--cidades .cliente-catalogo-stats__icon {
    background: linear-gradient(145deg, #0d9488, #2dd4bf);
}

.cliente-catalogo-stats__item--estados .cliente-catalogo-stats__icon {
    background: linear-gradient(145deg, #ea580c, #fbbf24);
}

.cliente-catalogo-stats__item--usuarios .cliente-catalogo-stats__icon {
    background: linear-gradient(145deg, #7c3aed, #a78bfa);
}

.cliente-catalogo-stats__num {
    margin: 0;
    font-size: clamp(2.1rem, 2.6vw + 1rem, 2.9rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.cliente-catalogo-stats.is-animated .cliente-catalogo-stats__item {
    animation: cat-stats-pop 0.45s ease both;
}

.cliente-catalogo-stats.is-animated .cliente-catalogo-stats__item:nth-child(2) { animation-delay: 0.06s; }
.cliente-catalogo-stats.is-animated .cliente-catalogo-stats__item:nth-child(3) { animation-delay: 0.12s; }
.cliente-catalogo-stats.is-animated .cliente-catalogo-stats__item:nth-child(4) { animation-delay: 0.18s; }

@keyframes cat-stats-pop {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.cliente-catalogo-stats__label {
    margin: 0.45rem 0 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cat-brand, #2563eb);
}

.cliente-catalogo-stats__desc {
    margin: 0;
    font-size: 0.86rem;
    color: #64748b;
    line-height: 1.35;
}

.cliente-catalogo-stats__presenca {
    max-width: 72rem;
    margin: 0.95rem auto 0;
    padding: 0.85rem 1.1rem;
    text-align: center;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.cliente-catalogo-stats__presenca-title {
    margin: 0 0 0.25rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cat-brand, #2563eb);
}

.cliente-catalogo-stats__presenca-text {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 600;
    color: #0f172a;
}

@media (max-width: 900px) {
    .cliente-catalogo-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .cliente-catalogo-stats__grid {
        grid-template-columns: 1fr;
    }
}

/* legado (classes antigas do carrossel split — mantidas sem uso) */
.cliente-catalogo-banner-carousel__image img {
    width: 100%;
    max-width: 100%;
    max-height: min(62vh, 36rem);
    height: auto;
    border-radius: 16px;
    object-fit: contain;
    display: block;
}

.cliente-catalogo-banner-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--cat-text);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
    backdrop-filter: blur(10px);
    padding: 0;
}

.cliente-catalogo-banner-carousel__nav:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.1);
}

.cliente-catalogo-banner-carousel__nav--prev {
    left: clamp(0.5rem, 2vw, 1.5rem);
}

.cliente-catalogo-banner-carousel__nav--next {
    right: clamp(0.5rem, 2vw, 1.5rem);
}

.cliente-catalogo-banner-carousel__dots {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.cliente-catalogo-banner-carousel__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    padding: 0;
}

.cliente-catalogo-banner-carousel__dot:hover {
    background: rgba(255, 255, 255, 0.5);
}

.cliente-catalogo-banner-carousel__dot.is-active {
    background: var(--cat-brand);
    border-color: var(--cat-brand);
    box-shadow: 0 0 10px color-mix(in srgb, var(--cat-brand) 50%, transparent);
}

@keyframes clienteCatalogoBannerFade {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 900px) {
    .cliente-catalogo-banner-carousel__container,
    .cliente-catalogo-banner-carousel__slide {
        min-height: calc(100vh - 4.35rem);
        min-height: calc(100dvh - 4.35rem);
        height: auto;
    }

    .cliente-catalogo-banner-carousel__content {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 2.25rem clamp(1rem, 4vw, 1.5rem) 3.5rem;
        text-align: left;
    }

    .cliente-catalogo-banner-carousel__image img {
        max-height: min(42vh, 22rem);
        margin: 0 auto;
    }

    .cliente-catalogo-banner-carousel__title {
        font-size: 1.75rem;
    }

    .cliente-catalogo-banner-carousel__lead {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .cliente-catalogo-banner-carousel__nav {
        width: 40px;
        height: 40px;
        font-size: 24px;
    }

    .cliente-catalogo-banner-carousel__nav--prev {
        left: 0.5rem;
    }

    .cliente-catalogo-banner-carousel__nav--next {
        right: 0.5rem;
    }
}

.cliente-catalogo-secao--sales .cliente-catalogo-secao__eyebrow {
    margin: 0 0 0.4rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #2563eb;
}

/* legado: carrossel só-imagem (páginas antigas / cache) */
.cliente-catalogo-carousel {
    width: 100%;
    margin: 0;
    padding: 0 clamp(1rem, 3vw, 1.75rem);
    background: transparent;
    box-sizing: border-box;
}

.cliente-catalogo-carousel__viewport {
    position: relative;
    width: 100%;
    max-width: 72rem;
    margin: 0 auto;
    aspect-ratio: 1600 / 480;
    max-height: min(28rem, 44vw);
    overflow: hidden;
    background: #0b1220;
    border-radius: 1.35rem;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.cliente-catalogo-publico--site .cliente-catalogo-publico__main {
    --cat-on-content: #0f172a;
    --cat-on-content-muted: #475569;
    background: var(--cat-content-bg);
    color: var(--cat-on-content);
    border-radius: 1.5rem 1.5rem 0 0;
    margin-top: -0.35rem;
    position: relative;
    z-index: 1;
    min-height: 40vh;
    padding-top: 0.25rem;
    padding-bottom: 2.5rem;
}

.cliente-catalogo-publico--site .cliente-catalogo-publico__main .admin-page-title,
.cliente-catalogo-publico--site .cliente-catalogo-publico__main .cliente-app__page-title,
.cliente-catalogo-publico--site .cliente-catalogo-publico__main .cliente-dash__card-title {
    color: var(--cat-on-content);
}

.cliente-catalogo-publico--site .cliente-catalogo-publico__main .admin-page-sub,
.cliente-catalogo-publico--site .cliente-catalogo-publico__main .cliente-app__muted,
.cliente-catalogo-publico--site .cliente-catalogo-publico__main .cliente-app__lead {
    color: var(--cat-on-content-muted);
}

.cliente-catalogo-publico--home .cliente-catalogo-publico__main {
    background: var(--cat-content-bg, #f4f7fb);
    border-radius: 0;
    margin-top: 0;
    position: relative;
    z-index: 1;
    min-height: 0;
    padding-top: 0.5rem;
    padding-bottom: 2.5rem;
    --cat-on-content: #0f172a;
    --cat-on-content-muted: #475569;
}

.cliente-catalogo-home-stage--page {
    position: relative;
    overflow: hidden;
    padding: clamp(5.75rem, 12vh, 7.25rem) clamp(1rem, 3vw, 1.75rem) clamp(1.75rem, 4vw, 2.5rem);
    background: linear-gradient(180deg, var(--cat-bg) 0%, var(--cat-bg-2) 100%);
    width: 100%;
    min-height: clamp(14rem, 28vh, 20rem);
}

.cliente-catalogo-home-stage--page-bg {
    display: flex;
    align-items: flex-end;
    min-height: clamp(15.5rem, 32vh, 22rem);
}

.cliente-catalogo-page-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.cliente-catalogo-page-hero__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.9;
    transform: scale(1.02);
}

.cliente-catalogo-page-hero__scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(105deg, rgba(7, 11, 20, 0.52) 0%, rgba(7, 11, 20, 0.28) 45%, rgba(7, 11, 20, 0.14) 100%),
        linear-gradient(180deg, rgba(7, 11, 20, 0.35) 0%, rgba(7, 11, 20, 0.12) 45%, rgba(7, 11, 20, 0.42) 100%);
}

.cliente-catalogo-page-hero {
    position: relative;
    z-index: 1;
    max-width: 72rem;
    margin: 0 auto;
    width: 100%;
}

.cliente-catalogo-page-hero__eyebrow {
    margin: 0 0 0.75rem;
    display: inline-flex;
    padding: 0.3rem 0.85rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cat-brand, #4ea1ff);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.cliente-catalogo-page-hero__title {
    margin: 0 0 0.65rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw + 0.5rem, 3.1rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.cliente-catalogo-page-hero__lead {
    margin: 0;
    max-width: 40rem;
    font-size: clamp(1.02rem, 0.4vw + 0.95rem, 1.18rem);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.9);
}

/* Páginas internas: fundo/hero em tela cheia, conteúdo alinhado à largura do menu (72rem) */
.cliente-catalogo-publico--site .cliente-app__main-inner.cliente-catalogo-vendas--public,
.cliente-catalogo-publico--aprendizado .cliente-app__main-inner.cliente-catalogo-vendas--public {
    max-width: 72rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(1rem, 3vw, 1.75rem);
    padding-right: clamp(1rem, 3vw, 1.75rem);
    padding-top: clamp(1rem, 3vw, 1.5rem);
    padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
    box-sizing: border-box;
}

.cliente-catalogo-inst {
    max-width: none;
    width: 100%;
    margin: 0;
}

.cliente-catalogo-publico--site .cliente-catalogo-publico__inst-page {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* Me ligue — layout no padrão do site */
.cliente-catalogo-ligue {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
}

.cliente-catalogo-ligue__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
    gap: 1.25rem;
    align-items: start;
}

.cliente-catalogo-ligue__form-col,
.cliente-catalogo-ligue__team-col {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
    padding: clamp(1.15rem, 2.2vw, 1.55rem);
}

.cliente-catalogo-ligue__panel-head {
    margin-bottom: 1.1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e2e8f0;
}

.cliente-catalogo-ligue__panel-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.cliente-catalogo-ligue__panel-lead {
    margin: 0.35rem 0 0;
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.45;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-form--page {
    max-width: none;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue__flash {
    margin: 0;
    max-width: none;
}

.cliente-catalogo-ligue-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

.cliente-catalogo-ligue-field--full {
    grid-column: 1 / -1;
}

.cliente-catalogo-ligue-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-fieldset {
    margin: 0 0 1.15rem;
    padding: 0;
    border: 0;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-legend {
    margin: 0 0 0.75rem;
    padding: 0;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cat-brand, #2563eb);
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-label__text {
    color: #334155;
    font-weight: 600;
    font-size: 0.88rem;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.65rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font: inherit;
}

.cliente-catalogo-publico--site .cliente-catalogo-ligue-input:focus {
    outline: 2px solid color-mix(in srgb, var(--cat-brand, #4ea1ff) 45%, transparent);
    border-color: var(--cat-brand, #4ea1ff);
}

.cliente-catalogo-ligue-team {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cliente-catalogo-ligue-team-empty {
    padding: 1rem 1.1rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.45;
}

.cliente-catalogo-ligue-team-empty p {
    margin: 0;
}

.cliente-catalogo-ligue-card {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.cliente-catalogo-ligue-card__photo {
    flex: 0 0 auto;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 999px;
    overflow: hidden;
    background: linear-gradient(145deg, var(--cat-brand, #4ea1ff), var(--cat-brand-2, #7dd3fc));
    display: grid;
    place-items: center;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
}

.cliente-catalogo-ligue-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cliente-catalogo-ligue-card__initials {
    color: #fff;
    font-weight: 800;
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.cliente-catalogo-ligue-card__body {
    min-width: 0;
    flex: 1 1 auto;
}

.cliente-catalogo-ligue-card__name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.cliente-catalogo-ligue-card__role {
    margin: 0.15rem 0 0.55rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--cat-brand, #2563eb);
}

.cliente-catalogo-ligue-card__contacts {
    list-style: none;
    margin: 0 0 0.7rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.88rem;
    color: #475569;
}

.cliente-catalogo-ligue-card__contacts a {
    color: #1d4ed8;
    text-decoration: none;
    word-break: break-word;
}

.cliente-catalogo-ligue-card__contacts a:hover {
    text-decoration: underline;
}

.cliente-catalogo-ligue-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.cliente-catalogo-ligue-card__wa,
.cliente-catalogo-ligue-card__mail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.1rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.cliente-catalogo-ligue-card__wa {
    background: #16a34a;
    color: #fff;
}

.cliente-catalogo-ligue-card__wa:hover {
    filter: brightness(1.06);
    color: #fff;
}

.cliente-catalogo-ligue-card__mail {
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    border: 1px solid rgba(37, 99, 235, 0.28);
}

.cliente-catalogo-ligue-card__mail:hover {
    background: rgba(37, 99, 235, 0.16);
    color: #1d4ed8;
}

@media (max-width: 900px) {
    .cliente-catalogo-ligue__layout {
        grid-template-columns: 1fr;
    }

    .cliente-catalogo-ligue-grid {
        grid-template-columns: 1fr;
    }
}

.cliente-catalogo-publico__footer--loja {
    background: var(--cat-footer-bg);
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    color: var(--cat-muted);
}

.cliente-catalogo-publico__footer--loja .cliente-catalogo-publico__footer-empresa {
    color: var(--cat-text);
}

.cliente-catalogo-publico__footer--loja .cliente-catalogo-publico__footer-credit a {
    color: var(--cat-brand-2);
}

/* Blocos da home (CTA / funcionalidades / destaque / entregas) — faixa clara após stats */
.cliente-catalogo-home-blocks {
    color: var(--cat-on-content, #0f172a);
}

.cliente-catalogo-home-wrap {
    max-width: 72rem;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 1.75rem);
    box-sizing: border-box;
}

.cliente-catalogo-home-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin: 1.75rem 0;
    padding: 1.35rem 1.5rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.cliente-catalogo-home-cta__title {
    display: block;
    font-size: 1.25rem;
    color: var(--cat-on-content, #0f172a);
    margin-bottom: 0.35rem;
}

.cliente-catalogo-home-cta__text {
    margin: 0;
    font-size: 0.95rem;
    color: var(--cat-on-content-muted, #475569);
}

.cliente-catalogo-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.5rem;
    border-radius: 12px;
    font-weight: 800;
    font-size: 0.95rem;
    text-decoration: none;
    background: linear-gradient(90deg, var(--cat-brand), var(--cat-brand-2));
    color: var(--cat-btn-text);
    border: none;
    white-space: nowrap;
}

.cliente-catalogo-home-btn:hover {
    filter: brightness(1.05);
    color: var(--cat-btn-text);
}

.cliente-catalogo-home-btn--ghost {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: var(--cat-on-content, #0f172a);
    box-shadow: none;
}

.cliente-catalogo-home-btn--sm {
    padding: 0.55rem 1rem;
    font-size: 0.875rem;
}

.cliente-catalogo-home-section {
    margin: 2.5rem 0;
    padding: 2.5rem 0;
}

.cliente-catalogo-home-section__title {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    color: var(--cat-on-content, #0f172a);
    font-weight: 800;
}

.cliente-catalogo-home-section__title--center {
    text-align: center;
    margin-bottom: 1.5rem;
}

.cliente-catalogo-home-feat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.15rem;
}

.cliente-catalogo-home-feat-card {
    display: block;
    padding: 1.15rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.cliente-catalogo-home-feat-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--cat-brand) 40%, #e2e8f0);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

.cliente-catalogo-home-feat-card--span {
    grid-column: span 2;
}

.cliente-catalogo-home-feat-card__title {
    margin: 0 0 0.65rem;
    font-size: 1.05rem;
    color: var(--cat-on-content, #0f172a);
}

.cliente-catalogo-home-feat-card__desc {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--cat-on-content-muted, #475569);
    white-space: normal;
}
.cliente-catalogo-home-feat-card__desc br {
    display: block;
    content: "";
    margin-top: 0.35em;
}

.cliente-catalogo-home-dest-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.cliente-catalogo-home-pill {
    display: inline-flex;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--cat-brand, #2563eb);
    background: color-mix(in srgb, var(--cat-brand, #2563eb) 12%, #fff);
    border: 1px solid color-mix(in srgb, var(--cat-brand, #2563eb) 28%, #e2e8f0);
}

.cliente-catalogo-home-pill--warn {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.cliente-catalogo-home-dest-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 1.5rem;
    align-items: center;
}

.cliente-catalogo-home-dest-sub {
    margin: 0 0 1rem;
    font-size: 1.45rem;
    color: var(--cat-on-content, #0f172a);
}

.cliente-catalogo-home-dest-text,
.cliente-catalogo-home-dest-strong {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--cat-on-content-muted, #475569);
}

.cliente-catalogo-home-dest-strong {
    color: var(--cat-on-content, #0f172a);
    font-weight: 700;
}

.cliente-catalogo-home-dest-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.cliente-catalogo-home-note {
    padding: 0.85rem 1rem;
    border-radius: 14px;
    margin-bottom: 1.25rem;
}

.cliente-catalogo-home-note p {
    margin: 0;
    color: var(--cat-on-content, #0f172a);
    font-weight: 600;
    line-height: 1.55;
}

.cliente-catalogo-home-note--blue {
    background: color-mix(in srgb, var(--cat-brand, #2563eb) 10%, #fff);
    border: 1px solid color-mix(in srgb, var(--cat-brand, #2563eb) 28%, #e2e8f0);
}

.cliente-catalogo-home-note--green {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    margin-top: 1rem;
}

.cliente-catalogo-home-note--center {
    text-align: center;
}

.cliente-catalogo-home-dest-img {
    width: 100%;
    max-width: 900px;
    aspect-ratio: 900 / 700;
    object-fit: cover;
    height: auto;
    border-radius: 16px;
    display: block;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.cliente-catalogo-home-section--destaque {
    background: #fff;
    border-block: 1px solid #e2e8f0;
    margin: 0;
    padding: 2.75rem 0;
}

.cliente-catalogo-home-section--entregas {
    margin: 0;
    padding: 2.75rem 0 1rem;
}

.cliente-catalogo-hero--meio {
    margin: 0;
    max-width: none;
    border-radius: 0;
    min-height: clamp(16rem, 36vh, 24rem);
}

.cliente-catalogo-hero--meio .cliente-catalogo-hero__viewport,
.cliente-catalogo-hero--meio .cliente-catalogo-hero__slide {
    min-height: clamp(16rem, 36vh, 24rem);
}

.cliente-catalogo-hero--meio .cliente-catalogo-hero__title {
    font-size: clamp(1.45rem, 2.4vw + 0.6rem, 2.25rem);
}

.cliente-catalogo-home-entrega-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.85rem;
}

.cliente-catalogo-home-entrega-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 1.25rem 1.15rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.cliente-catalogo-home-entrega-card__title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    color: var(--cat-on-content, #0f172a);
}

.cliente-catalogo-home-entrega-card__desc {
    margin: 0 0 0.65rem;
    color: var(--cat-on-content-muted, #475569);
    font-size: 0.92rem;
    line-height: 1.55;
}

.cliente-catalogo-home-entrega-card__list {
    margin: 0.5rem 0 0 1.1rem;
    padding: 0;
    color: var(--cat-on-content-muted, #475569);
    line-height: 1.65;
    font-size: 0.9rem;
}

.cliente-catalogo-home-entrega-card__action {
    margin-top: 1rem;
}

@media (max-width: 900px) {
    .cliente-catalogo-home-feat-grid,
    .cliente-catalogo-home-dest-grid,
    .cliente-catalogo-home-entrega-grid {
        grid-template-columns: 1fr;
    }

    .cliente-catalogo-home-feat-card--span {
        grid-column: auto;
    }
}

/* Gate de login dos treinamentos (site → portal) */
.cliente-catalogo-trein-gate {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.5rem clamp(1rem, 3vw, 1.75rem) 0.5rem;
    box-sizing: border-box;
}
.cliente-catalogo-trein-gate__card {
    text-align: center;
    padding: 2.25rem 1.5rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}
.cliente-catalogo-trein-gate__eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cat-brand, #2563eb);
}
.cliente-catalogo-trein-gate__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.45rem, 2vw + 0.8rem, 1.85rem);
    font-weight: 800;
    color: #0f172a;
}
.cliente-catalogo-trein-gate__text {
    margin: 0 auto 1.35rem;
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.55;
    color: #475569;
}
.cliente-catalogo-trein-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.cliente-catalogo-trein-back {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
}

.cliente-catalogo-trein-count {
    opacity: 0.7;
    font-weight: 600;
    margin-left: 0.25rem;
}

.cliente-catalogo-mvv {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.35rem;
}

.cliente-catalogo-mvv__card {
    margin: 0;
    padding: 1.1rem 1.15rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
}

.cliente-catalogo-mvv__title {
    margin: 0 0 0.55rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #2563eb;
}

.cliente-catalogo-mvv__txt {
    font-size: 0.95rem;
    line-height: 1.55;
    color: #0f172a;
}

@media (max-width: 800px) {
    .cliente-catalogo-mvv {
        grid-template-columns: 1fr;
    }
}

/* Quem somos — layout institucional */
.cliente-catalogo-inst {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: none;
    width: 100%;
    margin: 0;
}

.cliente-catalogo-inst__block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cliente-catalogo-inst__head {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cliente-catalogo-inst__h {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.cliente-catalogo-inst__lead {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #475569;
}

.cliente-catalogo-inst__prose {
    padding: 1.25rem 1.35rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.cliente-catalogo-inst__txt {
    margin: 0.55rem 0 0;
    font-size: 1.02rem;
    line-height: 1.7;
    color: #1e293b;
}

.cliente-catalogo-inst__prose--hor .cliente-catalogo-inst__txt {
    font-size: 0.95rem;
    color: #475569;
}

.cliente-catalogo-map {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #e2e8f0;
}

.cliente-catalogo-map__canvas {
    width: 100%;
    height: min(22rem, 55vh);
    min-height: 16rem;
    z-index: 0;
}

.cliente-catalogo-map__status {
    margin: 0;
    padding: 0.65rem 1rem;
    font-size: 0.85rem;
    color: #475569;
    background: #fff;
}

.cliente-catalogo-map__legend {
    list-style: none;
    margin: 0.85rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.cliente-catalogo-map__legend li {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.7rem 0.85rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.cliente-catalogo-map__legend strong {
    font-size: 0.88rem;
    color: #0f172a;
}

.cliente-catalogo-map__legend span {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #475569;
}

.cliente-catalogo-publico--site .cliente-loja-filial-card {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}

.cliente-catalogo-publico--site .cliente-loja-filial-card__nome {
    color: #0f172a;
}

.cliente-catalogo-publico--site .cliente-loja-filial-card__loc {
    color: #2563eb;
}

.cliente-catalogo-publico--site .cliente-loja-filial-card__end {
    color: #475569;
}

.cliente-catalogo-publico--site .cliente-loja-filial-card__tel {
    color: #1d4ed8;
}

.cliente-loja-contato-grid--inst {
    padding: 1.15rem 1.25rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.cliente-catalogo-publico--site .cliente-loja-contato-nome {
    color: #0f172a;
}

.cliente-catalogo-publico--site .cliente-loja-contato-razao,
.cliente-catalogo-publico--site .cliente-loja-contato-addr,
.cliente-catalogo-publico--site .cliente-loja-contato-line {
    color: #475569;
}

/* Treinamentos + KB unificados — largura total */
.cliente-catalogo-learn {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    max-width: none;
    width: 100%;
    margin: 0;
}

.cliente-catalogo-learn__panel {
    padding: clamp(1.15rem, 2.2vw, 1.65rem) clamp(1.1rem, 2.4vw, 1.85rem) clamp(1.25rem, 2.4vw, 1.75rem);
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
}

/* Fabricantes / categorias: até 4 botões por linha */
.cliente-catalogo-vendas-nav--tiles {
    padding: 0.85rem;
}

.cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__scroll {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: stretch;
}

.cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.2rem 0.35rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.85rem;
    border-radius: 12px;
    text-align: center;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-sizing: border-box;
    line-height: 1.3;
}

.cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__link:hover {
    border-color: rgba(37, 99, 235, 0.4);
    background: rgba(37, 99, 235, 0.06);
}

.cliente-catalogo-vendas-nav--tiles .cliente-catalogo-trein-count {
    margin-left: 0;
    opacity: 0.75;
}

@media (max-width: 1100px) {
    .cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__scroll {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__scroll {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .cliente-catalogo-vendas-nav--tiles .cliente-catalogo-vendas-nav__scroll {
        grid-template-columns: 1fr;
    }
}

.cliente-catalogo-learn__head {
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e2e8f0;
}

.cliente-catalogo-learn__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.cliente-catalogo-learn__lead {
    margin: 0.35rem 0 0;
    font-size: 0.92rem;
    color: #475569;
}

.cliente-catalogo-learn__body .admin-page-title,
.cliente-catalogo-learn__body .cliente-app__page-title {
    color: #0f172a;
}

.cliente-catalogo-learn__body .admin-page-sub,
.cliente-catalogo-learn__body .cliente-app__muted {
    color: #475569;
}

.cliente-catalogo-publico--site .kb-catalogo-card {
    background: #fff;
    border-color: #e2e8f0;
    color: #0f172a;
}

.cliente-catalogo-publico--site .kb-catalogo-card__title {
    color: #0f172a;
}

.cliente-catalogo-publico--site .kb-catalogo-card__meta,
.cliente-catalogo-publico--site .kb-catalogo-card__resumo {
    color: #475569;
}

.cliente-catalogo-publico--site .cliente-catalogo-vendas-nav__link {
    color: #0f172a;
}

.cliente-catalogo-carousel__track {
    position: relative;
    width: 100%;
    height: 100%;
}

.cliente-catalogo-carousel__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.cliente-catalogo-carousel__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.cliente-catalogo-carousel__link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.cliente-catalogo-carousel__link--static {
    cursor: default;
}

.cliente-catalogo-carousel__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cliente-catalogo-carousel__cta {
    position: absolute;
    left: clamp(1rem, 3vw, 1.75rem);
    bottom: clamp(1rem, 3vw, 1.5rem);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.35);
}

.cliente-catalogo-carousel__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.55);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cliente-catalogo-carousel__nav:hover {
    background: rgba(37, 99, 235, 0.9);
}

.cliente-catalogo-carousel__nav--prev {
    left: 0.65rem;
}

.cliente-catalogo-carousel__nav--next {
    right: 0.65rem;
}

.cliente-catalogo-carousel__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.65rem;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 0.4rem;
}

.cliente-catalogo-carousel__dot {
    width: 0.55rem;
    height: 0.55rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.cliente-catalogo-carousel__dot.is-active {
    background: #fff;
    width: 1.35rem;
}

@media (max-width: 720px) {
    .cliente-catalogo-carousel__viewport {
        max-height: none;
        aspect-ratio: 16 / 7;
    }

    .cliente-catalogo-carousel__cta {
        font-size: 0.8rem;
        padding: 0.45rem 0.85rem;
    }
}

.cliente-catalogo-publico button,
.cliente-catalogo-publico input,
.cliente-catalogo-publico select,
.cliente-catalogo-publico textarea {
    font-family: inherit;
}

.cliente-catalogo-publico__header {
    position: relative;
    padding: clamp(1rem, 3vw, 1.5rem) clamp(1rem, 4vw, 1.75rem) clamp(1.25rem, 3.5vw, 1.75rem);
    background: #fff;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.cliente-catalogo-publico__header--hero {
    padding-bottom: clamp(1.25rem, 3.5vw, 1.85rem);
}

.cliente-catalogo-publico__header-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 120% at 100% 0%, rgba(59, 130, 246, 0.14), transparent 55%),
        radial-gradient(ellipse 60% 100% at 0% 100%, rgba(14, 165, 233, 0.1), transparent 50%);
    pointer-events: none;
}

.cliente-catalogo-publico__header-inner {
    position: relative;
    z-index: 1;
    max-width: 72rem;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

/* Hero: linha logo + menu; abaixo, tÃ­tulos */
.cliente-catalogo-publico__hero-card {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 3vw, 1.5rem);
    width: 100%;
}

.cliente-catalogo-publico__hero-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    width: 100%;
}

.cliente-catalogo-publico__hero-row-start {
    flex: 1 1 auto;
    min-width: 0;
}

.cliente-catalogo-publico__hero-brand-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    min-width: 0;
}

.cliente-catalogo-publico__hero-card--no-logo .cliente-catalogo-publico__hero-row {
    justify-content: space-between;
}

.cliente-catalogo-publico__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 0.65rem;
    margin-left: auto;
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
}

.cliente-catalogo-publico__hero-card--no-logo .cliente-catalogo-publico__nav {
    margin-left: auto;
    flex: 0 1 auto;
    justify-content: flex-end;
}

.cliente-catalogo-publico__nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.95rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cliente-catalogo-publico__nav-link:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.2);
}

.cliente-catalogo-publico__nav-link--active {
    background: rgba(37, 99, 235, 0.1);
    border-color: rgba(37, 99, 235, 0.35);
    color: var(--pj-primary, #2563eb);
}

.cliente-catalogo-publico__nav-ligue {
    flex-shrink: 0;
}

.cliente-catalogo-publico__nav-portal {
    flex-shrink: 0;
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.28);
    color: var(--pj-primary, #2563eb);
}

.cliente-catalogo-publico__nav-portal:hover {
    background: rgba(37, 99, 235, 0.14);
    border-color: rgba(37, 99, 235, 0.4);
}

.cliente-catalogo-publico__logo-link {
    display: inline-block;
    text-decoration: none;
    border-radius: 14px;
}

.cliente-catalogo-publico__subtitle--page {
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-publico__inst-page {
    margin-top: 0;
}

.cliente-catalogo-publico__inst-page-title {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-publico__inst-page-lead {
    margin: 0 0 1rem;
    font-size: 0.92rem;
    color: var(--pj-muted, #52525b);
    line-height: 1.45;
}

.cliente-catalogo-ligue-form--page {
    padding: 0;
    max-width: 28rem;
}

.cliente-loja-panel__body--contato-page {
    padding: 0;
}

.cliente-catalogo-publico__hero-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cliente-catalogo-publico__logo-wrap {
    margin: 0;
    padding: 0.5rem 0.65rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
}

.cliente-catalogo-publico__logo {
    display: block;
    max-height: 3.5rem;
    width: auto;
    max-width: min(13rem, 100%);
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}

.cliente-catalogo-publico__hero-text {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.25rem;
    text-align: left;
    padding-top: 0.15rem;
}

.cliente-catalogo-publico__hero-card--no-logo .cliente-catalogo-publico__hero-text {
    align-items: center;
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.cliente-catalogo-publico__kicker {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--pj-primary, #2563eb);
    line-height: 1.2;
    white-space: nowrap;
    align-self: center;
}

.cliente-catalogo-publico__title {
    margin: 0;
    font-size: clamp(1.25rem, 2.8vw + 0.5rem, 1.9rem);
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
    letter-spacing: -0.02em;
    line-height: 1.2;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.cliente-catalogo-publico__subtitle {
    margin: 0.2rem 0 0;
    padding-top: 0;
    font-size: clamp(0.88rem, 1.5vw, 0.98rem);
    color: var(--pj-muted, #52525b);
    font-weight: 500;
    line-height: 1.45;
    max-width: 36rem;
    overflow-wrap: anywhere;
}

.cliente-catalogo-publico__hero-card--no-logo .cliente-catalogo-publico__subtitle {
    max-width: none;
}

.cliente-catalogo-ligue__flash {
    margin: 0.75rem 0 0;
    padding: 0.6rem 0.85rem;
    border-radius: 10px;
    font-size: 0.92rem;
    line-height: 1.45;
    max-width: 36rem;
}

.cliente-catalogo-ligue__flash--ok {
    background: rgba(22, 163, 74, 0.12);
    color: #166534;
    border: 1px solid rgba(22, 163, 74, 0.35);
}

.cliente-catalogo-ligue__flash--err {
    background: rgba(220, 38, 38, 0.1);
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.35);
}

.cliente-catalogo-ligue__actions {
    margin-top: 1rem;
}

.cliente-catalogo-ligue__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.cliente-catalogo-ligue__btn:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.2);
}

.cliente-catalogo-ligue__btn--primary {
    background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
    color: #fff;
    border-color: rgba(29, 78, 216, 0.9);
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
}

.cliente-catalogo-ligue__btn--primary:hover {
    background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%);
    color: #fff;
}

.cliente-catalogo-ligue__btn--ghost {
    background: transparent;
    box-shadow: none;
}

.cliente-catalogo-ligue-modal {
    padding: 0;
    border: none;
    border-radius: 14px;
    max-width: min(100vw - 2rem, 26rem);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35);
}

.cliente-catalogo-ligue-modal::backdrop {
    background: rgba(15, 23, 42, 0.45);
}

.cliente-catalogo-ligue-modal__inner {
    padding: 0;
}

.cliente-catalogo-ligue-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.cliente-catalogo-ligue-modal__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
}

.cliente-catalogo-ligue-modal__close {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #64748b;
    padding: 0 0.15rem;
}

.cliente-catalogo-ligue-modal__close:hover {
    color: #0f172a;
}

.cliente-catalogo-ligue-form {
    padding: 0.75rem 1.1rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cliente-catalogo-ligue-fieldset {
    margin: 0;
    padding: 0;
    border: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.cliente-catalogo-ligue-legend {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0 0 0.15rem;
}

.cliente-catalogo-ligue-label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.88rem;
    color: #334155;
}

.cliente-catalogo-ligue-label__text {
    font-weight: 600;
}

.cliente-catalogo-ligue-req {
    color: #dc2626;
}

.cliente-catalogo-ligue-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.15);
    font-size: 0.95rem;
    background: #fff;
}

.cliente-catalogo-ligue-input:focus {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 0;
    border-color: rgba(37, 99, 235, 0.55);
}

.cliente-catalogo-ligue-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

@media (max-width: 720px) {
    .cliente-catalogo-publico__hero-row {
        flex-direction: column;
        align-items: stretch;
    }

    .cliente-catalogo-publico__hero-row-start {
        width: 100%;
    }

    .cliente-catalogo-publico__hero-brand-line {
        justify-content: center;
        width: 100%;
    }

    .cliente-catalogo-publico__nav {
        justify-content: center;
        margin-left: 0;
        width: 100%;
    }

    .cliente-catalogo-publico__hero-card--no-logo .cliente-catalogo-publico__nav {
        width: 100%;
        justify-content: center;
    }

    .cliente-catalogo-publico__hero-card:not(.cliente-catalogo-publico__hero-card--no-logo) .cliente-catalogo-publico__hero-text {
        align-items: center;
        text-align: center;
        width: 100%;
    }

    .cliente-catalogo-publico__hero-card:not(.cliente-catalogo-publico__hero-card--no-logo) .cliente-catalogo-publico__subtitle {
        max-width: 100%;
    }
}

/* CatÃ¡logo pÃºblico: botÃµes Saiba mais / Mais recursos nos cards no mesmo estilo do Me ligue */
.cliente-catalogo-vendas--public .cliente-catalogo-card__foot-inner:not(.cliente-catalogo-card__foot-inner--dual) .cliente-catalogo-card__btn-modal.admin-btn--ghost {
    width: 100%;
}

.cliente-catalogo-vendas--public .cliente-catalogo-card__foot .cliente-catalogo-card__btn-modal.admin-btn--ghost {
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #0f172a;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.55rem 1.1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.cliente-catalogo-vendas--public .cliente-catalogo-card__foot .cliente-catalogo-card__btn-modal.admin-btn--ghost:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.2);
    color: #0f172a;
}

.cliente-catalogo-publico__main {
    padding: 1.25rem 0 2.5rem;
}

.cliente-catalogo-publico__footer {
    margin-top: 0;
    padding: 1.5rem 1rem 2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.6) 0%, #f1f5f9 100%);
}

.cliente-catalogo-publico__footer-inner {
    max-width: 72rem;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    align-items: center;
}

.cliente-catalogo-publico__footer-empresa {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    line-height: 1.35;
}

.cliente-catalogo-publico__footer-cnpj {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--pj-muted, #64748b);
    letter-spacing: 0.02em;
}

.cliente-catalogo-publico__footer-copy {
    margin: 0;
    font-size: 0.88rem;
    color: var(--pj-muted, #64748b);
    line-height: 1.5;
}

.cliente-catalogo-publico__footer-credit {
    margin: 0;
    font-size: 0.82rem;
    color: #94a3b8;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.cliente-catalogo-publico__footer-credit a {
    color: var(--pj-primary, #2563eb);
    font-weight: 600;
    text-decoration: none;
}

.cliente-catalogo-publico__footer-credit a:hover {
    text-decoration: underline;
}

.cliente-catalogo-vendas--public {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

.cliente-catalogo-loja-wrap {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* AcordeÃ£o institucional no topo da loja pÃºblica */
.cliente-loja-paineis {
    margin: 0 0 1.75rem;
}

.cliente-loja-paineis__hint {
    margin: 0 0 0.75rem;
    font-size: 0.88rem;
    color: var(--pj-muted, #52525b);
    text-align: center;
    line-height: 1.45;
}

.cliente-loja-paineis__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    gap: 0.75rem;
    align-items: start;
}

.cliente-loja-panel {
    margin: 0;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 40px rgba(15, 23, 42, 0.07);
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.cliente-loja-panel[open] {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 16px 48px rgba(37, 99, 235, 0.12);
}

.cliente-loja-panel__summary {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.95rem 1rem;
    cursor: pointer;
    list-style: none;
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--pj-navy, #1a2b56);
    user-select: none;
}

.cliente-loja-panel__summary::-webkit-details-marker {
    display: none;
}

.cliente-loja-panel__summary::marker {
    display: none;
}

.cliente-loja-panel__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: #fff;
}

.cliente-loja-panel__icon--heart {
    background: linear-gradient(145deg, #e11d48, #be123c);
}

.cliente-loja-panel__icon--pin {
    background: linear-gradient(145deg, #2563eb, #1d4ed8);
}

.cliente-loja-panel__icon--chat {
    background: linear-gradient(145deg, #0d9488, #0f766e);
}

.cliente-loja-panel__label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.cliente-loja-panel__chev {
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid var(--pj-muted, #64748b);
    border-bottom: 2px solid var(--pj-muted, #64748b);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    flex-shrink: 0;
    margin-left: 0.25rem;
}

.cliente-loja-panel[open] .cliente-loja-panel__chev {
    transform: rotate(-135deg);
    margin-top: 0.25rem;
}

.cliente-loja-panel__body {
    padding: 0 1rem 1.15rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    animation: cliente-loja-panel-in 0.22s ease;
}

@keyframes cliente-loja-panel-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cliente-loja-panel__quem {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .cliente-loja-panel__quem--photo {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
        align-items: start;
    }
}

.cliente-loja-panel__quem-photo {
    margin: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #f8fafc;
}

.cliente-loja-panel__quem-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 18rem;
    object-fit: contain;
}

.cliente-loja-panel__sub {
    margin-bottom: 1rem;
}

.cliente-loja-panel__sub:last-child {
    margin-bottom: 0;
}

.cliente-loja-panel__h {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
}

.cliente-loja-panel__txt {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-panel__txt--hor {
    font-weight: 500;
    white-space: pre-wrap;
}

.cliente-loja-panel__body--filiais {
    padding-top: 0.85rem;
}

.cliente-loja-panel__filiais-lead {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.cliente-loja-filiais-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.75rem;
}

.cliente-loja-filial-card {
    position: relative;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--pj-border, #e4e4e7);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cliente-loja-filial-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.cliente-loja-filial-card__shine {
    height: 3px;
    background: linear-gradient(90deg, #38bdf8, #2563eb, #4f46e5);
}

.cliente-loja-filial-card__inner {
    padding: 0.85rem 0.95rem 1rem;
}

.cliente-loja-filial-card__nome {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-filial-card__loc {
    margin: 0 0 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pj-primary, #2563eb);
}

.cliente-loja-filial-card__end {
    margin: 0 0 0.5rem;
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
}

.cliente-loja-filial-card__tel {
    display: inline-block;
    font-size: 0.88rem;
    font-weight: 700;
    color: hsl(217, 46%, 38%);
    text-decoration: none;
}

.cliente-loja-filial-card__tel:hover {
    text-decoration: underline;
}

.cliente-loja-filial-card__tel--plain {
    margin: 0;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-panel__body--contato {
    padding-top: 0.85rem;
}

.cliente-loja-contato-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .cliente-loja-contato-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1rem 1.25rem;
    }

    .cliente-loja-contato-block--addr {
        grid-column: 1 / -1;
    }
}

.cliente-loja-contato-nome {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-contato-razao {
    margin: 0 0 0.5rem;
    font-size: 0.86rem;
    color: var(--pj-muted, #52525b);
}

.cliente-loja-contato-line {
    margin: 0;
    font-size: 0.88rem;
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-contato-tag {
    display: inline-block;
    margin-right: 0.35rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
}

.cliente-loja-contato-block--channels {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cliente-loja-contato-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--pj-navy, #1a2b56);
    background: #f1f5f9;
    border: 1px solid var(--pj-border, #e4e4e7);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cliente-loja-contato-chip:hover {
    background: #e0f2fe;
    border-color: rgba(37, 99, 235, 0.35);
    color: var(--pj-navy, #1a2b56);
}

.cliente-loja-contato-chip__svg {
    flex-shrink: 0;
    opacity: 0.85;
}

.cliente-loja-contato-addr {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-vendas--public .cliente-catalogo-secao {
    margin: 0 0 1.25rem;
    padding: 1.15rem 1.2rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05);
}

.cliente-catalogo-secao {
    margin: 0 0 1rem;
}

.cliente-catalogo-secao__title {
    margin: 0 0 0.35rem;
    font-size: clamp(1.2rem, 2.5vw, 1.4rem);
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-secao__lead {
    margin: 0;
    font-size: 0.9rem;
    color: var(--pj-muted, #52525b);
    line-height: 1.45;
}

/* CatÃ¡logo de vendas: grade de cards */
.cliente-catalogo-empty {
    padding: 1.5rem 1.25rem;
}

.cliente-catalogo-empty__msg {
    margin: 0;
    text-align: center;
}

.cliente-catalogo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cliente-catalogo-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cliente-catalogo-card:hover {
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

/* Produtos: faixa do header sempre azul (matiz ~217) */
.cliente-catalogo-card--produto {
    --catalogo-card-hue: 217;
    border-left: 3px solid hsl(217, 46%, 44%);
}

.cliente-catalogo-card--servico {
    border-left: 3px solid hsl(var(--catalogo-card-hue, 210), 46%, 44%);
}

.cliente-catalogo-card__head {
    position: relative;
    padding: 1.1rem 1rem 1.25rem;
    min-height: 6.5rem;
    background: linear-gradient(
        145deg,
        hsl(var(--catalogo-card-hue, 210), 46%, 44%) 0%,
        hsl(var(--catalogo-card-hue, 210), 42%, 36%) 100%
    );
    color: #fff;
}

.cliente-catalogo-card__head::after {
    content: "";
    position: absolute;
    right: 0.75rem;
    bottom: 0.5rem;
    width: 4rem;
    height: 4rem;
    opacity: 0.12;
    background: radial-gradient(circle at 30% 30%, #fff 0%, transparent 70%);
    pointer-events: none;
}

.cliente-catalogo-card__code {
    position: absolute;
    top: 0.65rem;
    right: 0.75rem;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.cliente-catalogo-card__title {
    margin: 0 4.5rem 0.35rem 0;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
    color: #fff;
    letter-spacing: -0.02em;
}

.cliente-catalogo-card__category {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.92;
}

.cliente-catalogo-card__body {
    flex: 1 1 auto;
    padding: 1rem 1rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cliente-catalogo-card__media {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: -0.25rem 0 0.25rem;
    min-height: 8rem;
    max-height: 16rem;
}

.cliente-catalogo-card__img {
    display: block;
    width: 100%;
    max-width: 11rem;
    max-height: 16rem;
    height: auto;
    object-fit: contain;
    object-position: center;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #f4f4f5;
}

.cliente-catalogo-card__prices {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cliente-catalogo-card__price-main {
    margin: 0;
    line-height: 1.3;
}

.cliente-catalogo-card__price-main--muted {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-card__price-val {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
    letter-spacing: -0.02em;
}

.cliente-catalogo-card__price-suffix {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-card__price-line {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    line-height: 1.4;
}

.cliente-catalogo-card__price-line--primary {
    align-items: center;
}

.cliente-catalogo-card__check {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin-top: 0.12rem;
    border-radius: 50%;
    background: rgba(22, 163, 74, 0.15);
    color: #16a34a;
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
}

.cliente-catalogo-card__check::before {
    content: "âœ“";
    display: block;
    line-height: 1rem;
}

.cliente-catalogo-card__desc {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-card__desc--tech {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--pj-border, #e4e4e7);
}

.cliente-catalogo-card__tech-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-navy, #1a2b56);
    margin-bottom: 0.25rem;
}

.cliente-catalogo-card__foot {
    margin-top: auto;
    padding: 0.65rem 1rem 1rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
}

.cliente-catalogo-card__foot-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.85rem;
    justify-content: center;
}

.cliente-catalogo-card__foot-inner--dual {
    width: 100%;
}

.cliente-catalogo-card__foot-inner--dual .cliente-catalogo-card__btn-modal {
    flex: 1 1 calc(50% - 0.45rem);
    min-width: min(100%, 8.5rem);
}

.cliente-catalogo-card__link {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--pj-primary, #2563eb);
    text-decoration: none;
}

.cliente-catalogo-card__link:hover {
    text-decoration: underline;
}

.cliente-catalogo-card__details {
    width: 100%;
    max-width: 100%;
}

.cliente-catalogo-card__summary {
    list-style: none;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 700;
    color: hsl(var(--catalogo-card-hue, 210), 48%, 40%);
    text-align: center;
    padding: 0.25rem 0;
}

.cliente-catalogo-card__summary::-webkit-details-marker {
    display: none;
}

.cliente-catalogo-card__details[open] .cliente-catalogo-card__summary {
    margin-bottom: 0.5rem;
}

.cliente-catalogo-card__details-body {
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--pj-navy, #1a2b56);
    text-align: left;
    padding: 0.5rem 0 0;
}

.cliente-catalogo-contato {
    margin-top: 1.75rem;
    scroll-margin-top: 5.5rem;
}

.cliente-catalogo-contato__title {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-contato__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.cliente-catalogo-contato__nome {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-contato__razao {
    margin: 0 0 0.65rem;
    font-size: 0.9rem;
    color: var(--pj-muted, #52525b);
    line-height: 1.4;
}

.cliente-catalogo-contato__meta {
    margin: 0.35rem 0 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-contato__meta a {
    color: var(--pj-primary, #2563eb);
    font-weight: 600;
    text-decoration: none;
}

.cliente-catalogo-contato__meta a:hover {
    text-decoration: underline;
}

.cliente-catalogo-contato__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--pj-muted, #52525b);
    margin-bottom: 0.15rem;
}

.cliente-catalogo-contato__endereco {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--pj-navy, #1a2b56);
}

.cliente-produtos-page .cliente-table .cliente-app__muted {
    font-size: 0.875rem;
}

.cliente-produtos-page .cliente-table .cliente-cell-stack__notes {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--pj-muted, #52525b);
    line-height: 1.45;
    white-space: pre-wrap;
}

.cliente-produtos-page .cliente-table .cliente-cell-stack__notes--tech {
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px dashed var(--pj-border, #e4e4e7);
    font-size: 0.8125rem;
    color: var(--pj-muted, #52525b);
    white-space: pre-wrap;
}

.cliente-page-head .admin-btn--primary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(37, 99, 235, 0.25);
}

/* Barra de busca / filtros (referÃªncia: Gerenciar Clientes) */
.cliente-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.65rem;
    margin: 0 0 1.25rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.cliente-toolbar__grow {
    flex: 1 1 12rem;
    min-width: 0;
}

.cliente-toolbar__field {
    position: relative;
    display: flex;
    align-items: center;
}

.cliente-toolbar__field .cliente-app__ico {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pj-muted, #71717a);
    pointer-events: none;
}

.cliente-toolbar__input {
    width: 100%;
    min-height: 42px;
    padding: 0.45rem 0.75rem 0.45rem 2.35rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    font-size: 0.92rem;
    background: #fafafa;
    box-sizing: border-box;
}

.cliente-toolbar__input:focus {
    outline: none;
    border-color: var(--pj-primary, #2563eb);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.cliente-toolbar__select-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-width: min(100%, 14rem);
}

.cliente-toolbar__select-wrap .cliente-app__ico {
    position: absolute;
    left: 0.55rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pj-muted, #71717a);
    pointer-events: none;
    z-index: 1;
}

.cliente-toolbar__select {
    width: 100%;
    min-height: 42px;
    padding: 0.35rem 0.65rem 0.35rem 2.15rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    font-size: 0.9rem;
    background: #fafafa;
    cursor: pointer;
}

.cliente-toolbar__submit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0 1rem;
    border-radius: 10px;
}

/* TÃ­tulo de seÃ§Ã£o com Ã­cone (ex.: Lista de Clientes) */
.cliente-section-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--pj-primary, #2563eb);
}

.cliente-section-head .cliente-app__ico {
    flex-shrink: 0;
    color: var(--pj-primary, #2563eb);
}

/* Painel Ãºnico (formulÃ¡rios de configuraÃ§Ã£o) */
.cliente-panel {
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.cliente-panel .admin-form-card,
.cliente-panel.cliente-form {
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.cliente-form .cliente-req {
    color: var(--pj-danger, #c02626);
    font-weight: 700;
    margin-left: 0.15em;
}

/* Cadastro de cliente â€” layout alinhado ao restante do app (sem somar gap do grid + margin dos campos) */
.cliente-page-cadastro-cliente .admin-form-card.cliente-form,
.admin-form-card.cliente-form {
    margin-top: 0.65rem;
}

.cliente-page-cadastro-cliente .cliente-page-head {
    margin-bottom: 0.65rem;
    gap: 0.65rem;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-form-grid > .admin-field,
.admin-form-card.cliente-form .admin-form-grid > .admin-field {
    margin-bottom: 0;
    min-width: 0;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-form-grid,
.admin-form-card.cliente-form .admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.85rem;
}

@media (max-width: 639px) {
    .cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-form-grid,
    .admin-form-card.cliente-form .admin-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 640px) {
    .cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-form-grid,
    .admin-form-card.cliente-form .admin-form-grid {
        gap: 0.6rem 1rem;
    }
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-fieldset,
.admin-form-card.cliente-form .admin-fieldset {
    margin: 0 0 0.85rem;
    padding-bottom: 0.65rem;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-fieldset:last-of-type,
.admin-form-card.cliente-form .admin-fieldset:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-fieldset__legend,
.admin-form-card.cliente-form .admin-fieldset__legend {
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form .admin-field > label:first-child,
.admin-form-card.cliente-form .admin-field > label:first-child {
    margin-bottom: 0.2rem;
    font-size: 0.875rem;
}

.cliente-page-cadastro-cliente .admin-form-card.cliente-form > .admin-form > .admin-form-actions,
.admin-form-card.cliente-form > .admin-form > .admin-form-actions {
    margin-top: 0.65rem;
    padding-top: 0.75rem;
}

/* Abertura de atendimento â€” mesmo padrÃ£o de grade do cadastro */
.at-page--create .at-create-card.admin-form-card .admin-form-grid > .admin-field {
    margin-bottom: 0;
    min-width: 0;
}

.at-page--create .at-create-card.admin-form-card .admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem 1rem;
    margin-bottom: 0;
}

@media (max-width: 639px) {
    .at-page--create .at-create-card.admin-form-card .admin-form-grid {
        grid-template-columns: 1fr;
    }
}

.at-page--create .at-create-card.admin-form-card .admin-fieldset {
    margin: 0 0 0.85rem;
    padding-bottom: 0.65rem;
}

.at-page--create .at-create-card.admin-form-card .admin-fieldset:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}

.at-page--create .at-create-card.admin-form-card .admin-fieldset__legend {
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
}

/* Status de orÃ§amento â€” formulÃ¡rio no padrÃ£o ConfiguraÃ§Ãµes / Empresa */
.orc-status-form-page .admin-page-head {
    margin-bottom: 0.85rem;
}

.orc-status-form-page .admin-card.admin-form-card {
    margin-top: 0.35rem;
}

.orc-status-form-page .admin-fieldset {
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
}

.orc-status-form-page .admin-fieldset:last-of-type {
    margin-bottom: 0;
}

.orc-status-form-page .admin-form-grid > .admin-field {
    margin-bottom: 0;
}

.orc-status-form-page__hint {
    margin: 0 0 0.85rem;
}

.orc-status-form-page__group-title {
    margin: 0.85rem 0 0.45rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pj-muted, #71717a);
}

.orc-status-form-page__group-title:first-of-type {
    margin-top: 0.15rem;
}

.orc-status-form-page__flags {
    grid-template-columns: 1fr !important;
    gap: 0.45rem !important;
}

.orc-status-form-page .admin-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

/* Badges estilo â€œpillâ€ (CNPJ, segmento, vendedor) */
.cliente-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    max-width: 100%;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.cliente-pill--muted {
    background: #3f3f46;
    color: #fafafa;
}

.cliente-pill--cyan {
    background: #ecfeff;
    color: #0e7490;
    border: 1px solid #a5f3fc;
    max-width: 14rem;
    white-space: normal;
}

.cliente-pill--blue {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    max-width: 12rem;
    white-space: normal;
}

.cliente-pill .cliente-app__ico {
    flex-shrink: 0;
}

/* CÃ©lulas empilhadas (nome + linha secundÃ¡ria) */
.cliente-cell-stack {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.cliente-cell-stack__primary {
    font-weight: 700;
    color: #18181b;
    font-size: 0.92rem;
}

.cliente-cell-stack__row {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: var(--pj-muted, #52525b);
}

a.cliente-cell-stack__link {
    color: var(--pj-navy, #1a2b56);
    text-decoration: none;
}

a.cliente-cell-stack__link:hover,
a.cliente-cell-stack__link:focus-visible {
    color: var(--pj-primary, #2563eb);
    text-decoration: underline;
}

.cliente-cell-stack__fantasia {
    font-weight: 500;
    color: #3f3f46;
}

.cliente-cell-stack__row .cliente-app__ico {
    flex-shrink: 0;
    opacity: 0.85;
}

.cliente-cell-stack--tight {
    gap: 0.1rem;
    align-items: flex-end;
    text-align: right;
}

.cliente-table__col-num .cliente-cell-stack--tight {
    align-items: flex-end;
}

.cliente-cell-loc {
    font-weight: 700;
    font-size: 0.9rem;
    color: #18181b;
}

.cliente-cell-loc__uf {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

/* Bloco indicadores (grÃ¡ficos) abaixo da lista */
.cliente-dash--below {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

/* GrÃ¡ficos logo abaixo dos indicadores (admin-stats) */
.cliente-dash-charts--under-stats {
    margin-bottom: 1.25rem;
}

/* Indicadores numÃ©ricos mais compactos (lista de clientes) */
.cliente-clientes-dash .admin-stats {
    gap: 0.55rem;
    margin-bottom: 0.85rem;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
}

.cliente-clientes-dash .admin-stat {
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
}

.cliente-clientes-dash .admin-stat__value {
    font-size: 1.2rem;
}

.cliente-clientes-dash .admin-stat__label {
    font-size: 0.68rem;
}

/* GrÃ¡ficos em cards estilo admin */
.tenant-dash-charts {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
}

/* Rosquinhas menores + cidade em linha inteira */
.cliente-dash-charts--compact .admin-card {
    padding: 0.75rem 0.9rem 0.85rem;
}

.cliente-dash-charts--compact .cliente-dash__card-title {
    margin-bottom: 0.5rem;
    font-size: 0.92rem;
}

.cliente-dash-charts--compact .cliente-dash__chart-wrap--doughnut {
    min-height: 168px;
    max-height: 188px;
}

.cliente-dash-charts--compact .cliente-dash__section--cidade-full {
    grid-column: 1 / -1;
}

.cliente-dash-charts--compact .cliente-dash__chart-wrap--bar-v {
    min-height: 200px;
    max-height: 232px;
}

@media (min-width: 900px) {
    .tenant-dash-charts--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .tenant-dash-charts--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Quatro rosquinhas (regiÃ£o, UF, segmento, â€¦) + cidade em linha inteira */
@media (min-width: 1200px) {
    .tenant-dash-charts--three.cliente-dash-charts--seg {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.tenant-dash-charts .admin-card .cliente-dash__card-title {
    margin-top: 0;
}

.admin-table.cliente-table--rich td {
    vertical-align: top;
}

/* empresa.php â€” dois flags na mesma linha; checkboxes nÃ£o herdam estilo de input texto do admin.css */
.cliente-form .empresa-flags-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

@media (max-width: 768px) {
    .cliente-form .empresa-flags-grid {
        grid-template-columns: 1fr;
    }
}

.cliente-form .empresa-flag-field {
    margin: 0;
}

.cliente-form .empresa-flag-label {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0;
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--pj-text, #1a1a1e);
    cursor: pointer;
}

.cliente-form .empresa-flag-label__text {
    flex: 1;
    min-width: 0;
}

.cliente-form .empresa-flag-field input[type="checkbox"] {
    width: 1.125rem;
    height: 1.125rem;
    min-height: 0;
    margin: 0.15rem 0 0;
    padding: 0;
    border: none;
    border-radius: 4px;
    box-shadow: none;
    flex-shrink: 0;
    accent-color: var(--pj-navy, #1a2b56);
    cursor: pointer;
}

.empresa-logo-preview-wrap .admin-field-hint {
    display: block;
    margin-bottom: 0.35rem;
}

.empresa-logo-preview {
    display: inline-block;
    max-width: 100%;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fafafa;
}

.empresa-logo-preview__img {
    display: block;
    max-width: 220px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.parametros-page-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    align-items: center;
    margin: 0 0 1.25rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
}

.parametros-page-toc__link {
    appearance: none;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 999px;
    padding: 0.32rem 0.72rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-primary, #2563eb);
    text-decoration: none;
    cursor: pointer;
    transition: all .18s ease;
}

.parametros-page-toc__link:hover {
    border-color: rgba(37, 99, 235, 0.28);
    background: rgba(37, 99, 235, 0.08);
}

.parametros-page-toc__link.is-active {
    color: #fff;
    border-color: var(--pj-navy, #1a2b56);
    background: var(--pj-navy, #1a2b56);
    box-shadow: 0 4px 10px rgba(26, 43, 86, 0.24);
}

/* OrÃ§amento â€” abas da ediÃ§Ã£o */
.orcamento-edit-toc {
    position: sticky;
    top: var(--topbar-height, 60px);
    z-index: 12;
    margin-bottom: 1.15rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.orcamento-edit-head-form {
    margin: 0;
    display: inline-flex;
    align-items: stretch;
    min-width: 0;
}

.orcamento-edit-page .admin-page-head {
    min-width: 0;
}

@keyframes pjcrm-orc-btn-pisca-impl {
    0%, 49% {
        background: #2563eb;
        border-color: #1d4ed8;
        color: #fff;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.28);
    }
    50%, 100% {
        background: #dc2626;
        border-color: #b91c1c;
        color: #fff;
        box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.28);
    }
}

.orc-btn-continuar-implantacao {
    animation: pjcrm-orc-btn-pisca-impl 1s steps(1, end) infinite;
}

@media (prefers-reduced-motion: reduce) {
    .orc-btn-continuar-implantacao {
        animation: none;
        background: #2563eb;
        border-color: #1d4ed8;
        color: #fff;
    }
}

.orc-venda-progress {
    margin: 0 0 1rem;
}
.orc-venda-progress__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.4rem;
    font-size: 0.92rem;
}
.orc-venda-progress__track {
    height: 0.55rem;
    border-radius: 999px;
    background: rgba(26, 43, 86, 0.12);
    overflow: hidden;
}
.orc-venda-progress__fill {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #dc2626);
    transition: width 0.25s ease;
}
.orc-venda-progress__steps {
    margin: 0.85rem 0 0.4rem;
    padding: 0 0 0 1.15rem;
    font-size: 0.9rem;
    line-height: 1.45;
}
.orc-venda-progress__steps li {
    margin: 0 0 0.2rem;
    color: #64748b;
}
.orc-venda-progress__steps li.is-current {
    color: #1a2b56;
    font-weight: 700;
}
.orc-venda-progress__steps li.is-done {
    color: #15803d;
}
.orc-venda-progress__steps li.is-error {
    color: #b91c1c;
    font-weight: 700;
}

.orcamento-edit-page .admin-page-head > div:first-child {
    min-width: 0;
}

@media (max-width: 1024px) {
    .orcamento-edit-page .admin-page-head {
        flex-direction: column;
        align-items: stretch;
    }

    .orcamento-edit-page .admin-page-head > div:first-child {
        flex: 1 1 auto;
        width: 100%;
    }

    .orcamento-edit-page .admin-page-sub {
        max-width: none;
    }

    .orcamento-edit-page .admin-page-head__actions {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .orcamento-edit-page .admin-page-head__actions > * {
        flex: 1 1 9.5rem;
        min-width: 0;
    }

    .orcamento-edit-page .admin-page-head__actions .admin-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
        white-space: normal;
        text-align: center;
        line-height: 1.25;
    }

    .orcamento-edit-head-form {
        display: flex;
    }
}

@media (max-width: 480px) {
    .orcamento-edit-page .admin-page-head__actions > * {
        flex: 1 1 100%;
    }
}

@media (max-width: 1024px) {
    .orcamento-edit-toc {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        gap: 0.35rem 0.45rem;
        padding: 0.5rem 0.65rem;
    }

    .orcamento-edit-toc .parametros-page-toc__link {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

.orcamento-edit-toc__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    margin-left: 0.15rem;
    padding: 0.05rem 0.38rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    background: rgba(37, 99, 235, 0.12);
    color: inherit;
}

.parametros-page-toc__link.is-active .orcamento-edit-toc__count {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.orcamento-edit-tabs {
    display: block;
    min-width: 0;
    max-width: 100%;
}

.orcamento-edit-panel {
    min-width: 0;
    max-width: 100%;
}

.orcamento-edit-tabs .orcamento-edit-panel[hidden] {
    display: none !important;
}

.orcamento-edit-tabs .orcamento-edit-panel.is-active {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.orcamento-edit-panel.is-active > .admin-card,
.orcamento-edit-panel.is-active > .orcamento-implantacao-card {
    margin-bottom: 0;
}

.orcamento-totais-card .orcamento-implantacao-card__stats {
    margin-bottom: 0.45rem;
}

.orcamento-totais-indicadores {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.orcamento-totais-indicador {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
    border-radius: 10px;
    border: 1px solid rgba(26, 43, 86, 0.12);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), #fff);
}

.orcamento-totais-indicador__label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #64748b);
}

.orcamento-totais-indicador__valor {
    font-size: 1.2rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    color: var(--pj-navy, #1a2b56);
}

@media (max-width: 900px) {
    .orcamento-totais-indicadores {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .orcamento-totais-indicadores {
        grid-template-columns: 1fr;
    }
}

.orcamento-totais-card__geral {
    background: linear-gradient(135deg, rgba(26, 43, 86, 0.08), rgba(37, 99, 235, 0.1));
    border-color: rgba(26, 43, 86, 0.22);
}

.orcamento-totais-card__geral .orcamento-implantacao-card__stat-value {
    color: var(--pj-navy, #1a2b56);
    font-size: 1.15rem;
}

.orcamento-totais-parcel {
    display: contents;
}

.orcamento-dia-fixo-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1.15rem;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
}

.orcamento-dia-fixo-bar .admin-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-weight: 600;
    cursor: pointer;
}

.orcamento-dia-fixo-bar .admin-check input {
    width: auto;
    min-width: 0;
    margin: 0;
}

.orcamento-dia-fixo-bar__label {
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-dia-fixo-bar__opts {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.orcamento-dia-fixo-bar__opts .admin-check {
    font-weight: 500;
}

.orcamento-dia-fixo-bar__hint {
    flex: 1 0 100%;
    margin: 0;
    font-size: 0.85rem;
    color: var(--pj-muted, #64748b);
}

.orcamento-parc-edit-table input[data-parc-dt][readonly] {
    background: #f8fafc;
    color: var(--pj-navy, #1a2b56);
    cursor: default;
}

.parametros-page-section {
    margin-bottom: 1.75rem;
    scroll-margin-top: 5rem;
}

.parametros-page-tabs .parametros-page-section {
    display: none;
}

.parametros-page-tabs .parametros-page-section.is-active {
    display: block;
}

.parametros-page-section:last-of-type {
    margin-bottom: 0;
}

.parametros-page-section__title {
    margin: 0 0 0.75rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

/* Embed da home (iframe em Parâmetros → Site) */
.cliente-app-body--embed-home .cliente-app__sidebar,
.cliente-app-body--embed-home .cliente-app__sidebar-backdrop,
.cliente-app-body--embed-home .cliente-app__topbar,
.cliente-app-body--embed-home .cliente-app__site-footer,
.cliente-app-body--embed-home .cliente-app__menu-btn {
    display: none !important;
}
.cliente-app-body--embed-home .cliente-app {
    display: block;
}
.cliente-app-body--embed-home .cliente-app__main {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
}
.cliente-app-body--embed-home .cliente-app__main-inner {
    padding: 0.5rem 0.35rem 1rem !important;
    max-width: none !important;
}
.site-home-admin-frame {
    display: block;
    width: 100%;
    min-height: 52rem;
    height: min(78vh, 64rem);
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.site-config-jump {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0 0 1.25rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

.site-config-jump a {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.site-config-jump a:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1e3a8a;
}

.site-home-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 1.25rem;
}

.site-home-toc a {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fff;
    font-size: 0.82rem;
    text-decoration: none;
    color: var(--pj-navy, #1a2b56);
}

.site-home-toc a:hover {
    border-color: #93c5fd;
    background: #eff6ff;
}

/* ParÃ¢metros: manter checkbox antes do texto, alinhado ao topo */
.parametros-page-section .admin-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.parametros-page-section .admin-check > input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0.1rem 0 0;
}

.parametros-page-section .admin-check > span {
    display: inline-block;
}

.implantacao-fase-cor-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #f8fafc;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.implantacao-fase-cor-chip__dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.18);
}

.email-config-page .email-config-card + .email-config-card {
    margin-top: 1.25rem;
}

.email-config-page .email-config-status {
    margin: 0 0 1rem;
}

.email-config-page .email-config-test-lead {
    margin: 0 0 0.75rem;
}

.cliente-form .empresa-flag-field input[type="checkbox"]:focus {
    outline: 2px solid var(--pj-navy, #1a2b56);
    outline-offset: 2px;
}

/* Listagem â€” colunas de flags alinhadas e legÃ­veis */
.cliente-table.cliente-table--orc-status thead th {
    vertical-align: bottom;
}

.cliente-table.cliente-table--orc-status td:nth-child(4),
.cliente-table.cliente-table--orc-status td:nth-child(5),
.cliente-table.cliente-table--orc-status td:nth-child(6),
.cliente-table.cliente-table--orc-status td:nth-child(7),
.cliente-table.cliente-table--orc-status td:nth-child(8),
.cliente-table.cliente-table--orc-status td:nth-child(9),
.cliente-table.cliente-table--orc-status th:nth-child(4),
.cliente-table.cliente-table--orc-status th:nth-child(5),
.cliente-table.cliente-table--orc-status th:nth-child(6),
.cliente-table.cliente-table--orc-status th:nth-child(7),
.cliente-table.cliente-table--orc-status th:nth-child(8),
.cliente-table.cliente-table--orc-status th:nth-child(9) {
    text-align: center;
    font-size: 0.88rem;
}

/* Proposta pÃºblica â€” decisÃ£o do cliente */
.proposta-publica-flash {
    max-width: 920px;
    margin: 0 auto 1rem;
}

.proposta-publica-resposta {
    max-width: 920px;
    margin: 1.75rem auto 0;
    padding: 1.5rem 1.5rem 1.65rem;
}

/* Card de decisÃ£o (antes de responder): destaque visual */
.proposta-publica-resposta:not(.proposta-publica-resposta--done) {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(26, 43, 86, 0.12);
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 45%, #f1f5f9 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 12px 40px rgba(15, 23, 42, 0.08),
        0 4px 12px rgba(15, 23, 42, 0.04);
}

.proposta-publica-resposta:not(.proposta-publica-resposta--done)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #1a2b56 0%, #2563eb 40%, #16a34a 100%);
    border-radius: 16px 16px 0 0;
}

.proposta-publica-resposta__heading {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pj-navy, #1a2b56);
}

.proposta-publica-resposta__lead {
    margin: 0 0 0.25rem;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--pj-muted, #64748b);
}

.proposta-publica-resumo {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.15rem;
}

.proposta-publica-resumo__item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.96) 100%);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.proposta-publica-resumo__label {
    font-size: 0.78rem;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.proposta-publica-resumo__value {
    font-size: clamp(1.05rem, 2.4vw, 1.35rem);
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
    word-break: break-word;
}

.proposta-publica-resposta__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.15rem;
    margin-top: 1.35rem;
    align-items: stretch;
}

@media (max-width: 540px) {
    .proposta-publica-resumo {
        grid-template-columns: 1fr;
    }

    .proposta-publica-resposta__actions {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 541px) and (max-width: 900px) {
    .proposta-publica-resumo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.proposta-publica-resposta__form {
    display: block;
    margin: 0;
}

/* Aceitar â€” botÃ£o principal grande */
.proposta-publica-resposta .proposta-publica-resposta__btn-ok {
    width: 100%;
    min-height: 3.75rem;
    padding: 1rem 1.35rem;
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.25;
    border: none;
    border-radius: 14px;
    color: #fff !important;
    background: linear-gradient(165deg, #22c55e 0%, #16a34a 45%, #15803d 100%) !important;
    box-shadow:
        0 4px 0 #14532d,
        0 8px 24px rgba(22, 163, 74, 0.38),
        0 1px 0 rgba(255, 255, 255, 0.25) inset;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.proposta-publica-resposta .proposta-publica-resposta__btn-ok:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow:
        0 5px 0 #14532d,
        0 14px 32px rgba(22, 163, 74, 0.45),
        0 1px 0 rgba(255, 255, 255, 0.3) inset;
}

.proposta-publica-resposta .proposta-publica-resposta__btn-ok:active {
    transform: translateY(1px);
    box-shadow:
        0 2px 0 #14532d,
        0 6px 16px rgba(22, 163, 74, 0.35);
}

/* Recusar â€” secundÃ¡rio forte, mesmo tamanho */
.proposta-publica-resposta .proposta-publica-resposta__btn-no {
    width: 100%;
    min-height: 3.75rem;
    padding: 1rem 1.35rem;
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.25;
    border-radius: 14px;
    border: 2px solid #e11d48 !important;
    color: #be123c !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(225, 29, 72, 0.12);
    cursor: pointer;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.proposta-publica-resposta .proposta-publica-resposta__btn-no:hover {
    transform: translateY(-2px);
    background: #fff1f2 !important;
    color: #9f1239 !important;
    box-shadow: 0 8px 22px rgba(225, 29, 72, 0.2);
}

.proposta-publica-resposta .proposta-publica-resposta__btn-no:active {
    transform: translateY(0);
}

.proposta-publica-resposta--done {
    border-left: 4px solid var(--pj-navy, #1a2b56);
}

/* Modal recusa â€” mesma base .kanban-modal (Kanban); ajustes sÃ³ na pÃ¡gina pÃºblica */
.proposta-recusa-modal {
    z-index: 250;
}

.proposta-recusa-modal__panel {
    max-height: min(90vh, 520px);
    overflow-y: auto;
}

/* BotÃµes do rodapÃ©: espelha admin.css (pÃ¡gina pÃºblica nÃ£o carrega admin.css) */
.proposta-recusa-modal .kanban-modal__foot .admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    min-height: 44px;
    box-sizing: border-box;
}

.proposta-recusa-modal .kanban-modal__foot .admin-btn--ghost {
    background: transparent;
    color: var(--pj-muted, #52525b);
    border: 1px solid var(--pj-border, #e4e4e7);
}

.proposta-recusa-modal .kanban-modal__foot .admin-btn--ghost:hover {
    background: #f4f4f5;
}

.proposta-recusa-modal .kanban-modal__foot .admin-btn--danger {
    background: #b91c1c;
    color: #fff;
    border: 1px solid #b91c1c;
}

.proposta-recusa-modal .kanban-modal__foot .admin-btn--danger:hover {
    background: #991b1b;
}

/* Ficha pÃºblica (proposta_cliente_ficha.php) â€” mesmo â€œpapelâ€ da proposta comercial */
.proposta-ficha-doc {
    --proposta-doc-accent: #1a2b56;
    --proposta-doc-accent-soft: #2d4a8c;
    --proposta-doc-border: #e2e8f0;
    --proposta-doc-muted: #64748b;
    --proposta-doc-text: #334155;
}

.proposta-ficha-doc__cover {
    border-bottom: 1px solid rgba(26, 43, 86, 0.08);
}

.proposta-ficha-doc__cover-inner {
    display: block;
    max-width: 40rem;
}

.proposta-ficha-doc__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.45rem, 4vw, 1.85rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--proposta-doc-accent);
    letter-spacing: -0.02em;
}

.proposta-ficha-doc__lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #475569;
}

.proposta-ficha-doc__body {
    padding-top: 0.25rem;
}

.proposta-ficha-doc .proposta-publica-resumo {
    margin-top: 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.proposta-ficha-doc__resumo-item {
    min-height: 118px;
    justify-content: space-between;
    padding: 1.1rem 1.15rem;
    border-radius: 18px;
    border-color: rgba(26, 43, 86, 0.12);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.proposta-ficha-doc__resumo-item .proposta-publica-resumo__label {
    font-size: 0.76rem;
    letter-spacing: 0.05em;
}

.proposta-ficha-doc__resumo-item .proposta-publica-resumo__value {
    font-size: clamp(1.18rem, 2vw, 1.55rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.proposta-ficha-doc__resumo-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.35rem;
    padding: 1rem 1.15rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #1a2b56 0%, #223b7a 100%);
    box-shadow: 0 16px 36px rgba(26, 43, 86, 0.18);
}

.proposta-ficha-doc__resumo-total-label {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.proposta-ficha-doc__resumo-total-value {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    text-align: right;
    overflow-wrap: anywhere;
}

.proposta-ficha-doc__form {
    margin: 0;
}

.proposta-ficha-doc__section:first-of-type {
    margin-top: 0;
}

.proposta-ficha-doc__hint {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    color: var(--proposta-doc-muted);
    line-height: 1.5;
}

.proposta-ficha-doc__alert {
    margin: 0 0 1.25rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    font-size: 0.92rem;
    line-height: 1.45;
}

.proposta-ficha-doc__alert--ok {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.proposta-ficha-doc__alert--err {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.proposta-ficha-doc__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.25rem;
}

@media (min-width: 640px) {
    .proposta-ficha-doc__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .proposta-ficha-doc .admin-field--full {
        grid-column: 1 / -1;
    }
}

.proposta-ficha-doc .admin-field {
    margin: 0;
    min-width: 0;
}

.proposta-ficha-doc .admin-field label {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--proposta-doc-text);
}

.proposta-ficha-doc .cliente-req {
    color: #b91c1c;
    font-weight: 700;
}

.proposta-ficha-doc .admin-input,
.proposta-ficha-doc select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    font-size: 0.94rem;
    font-family: inherit;
    line-height: 1.35;
    color: var(--proposta-doc-text);
    background: #fff;
    border: 1px solid var(--proposta-doc-border);
    border-radius: 8px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.proposta-ficha-doc .admin-input:hover,
.proposta-ficha-doc select:hover {
    border-color: #cbd5e1;
}

.proposta-ficha-doc .admin-input:focus,
.proposta-ficha-doc select:focus {
    outline: none;
    border-color: var(--proposta-doc-accent-soft);
    box-shadow: 0 0 0 3px rgba(26, 43, 86, 0.12);
}

.proposta-ficha-doc__check-wrap {
    margin-bottom: 1rem;
}

.proposta-ficha-doc__check {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.6rem;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--proposta-doc-text);
    line-height: 1.4;
}

.proposta-ficha-doc__check input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
    accent-color: var(--proposta-doc-accent);
}

.proposta-ficha-doc__actions {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--proposta-doc-border);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.proposta-ficha-doc__submit.admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.65rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    font-family: inherit;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    background: linear-gradient(165deg, var(--proposta-doc-accent-soft) 0%, var(--proposta-doc-accent) 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(26, 43, 86, 0.28);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.proposta-ficha-doc__submit.admin-btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 6px 20px rgba(26, 43, 86, 0.35);
}

.proposta-ficha-doc__submit.admin-btn:active {
    transform: translateY(1px);
}

/* Contrato pÃºblico â€” corpo HTML vindo do modelo */
.contrato-html-body {
    font-size: 0.94rem;
    line-height: 1.55;
    color: var(--proposta-doc-text, #334155);
}

.contrato-html-body h1,
.contrato-html-body h2,
.contrato-html-body h3 {
    color: var(--proposta-doc-accent, #1a2b56);
    margin: 1rem 0 0.5rem;
}

.contrato-html-body p {
    margin: 0 0 0.65rem;
}

.cliente-dash__table-title--muted {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-dash__table-title {
    margin: 1.75rem 0 0.75rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-table-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.cliente-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.cliente-table th,
.cliente-table td {
    padding: 0.55rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    vertical-align: middle;
}

.cliente-table th {
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    background: var(--pj-bg, #f4f5f7);
    white-space: nowrap;
}

.cliente-table tbody tr:last-child td {
    border-bottom: none;
}

.cliente-table--rich td {
    vertical-align: top;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

.cliente-table__action-btns .admin-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.cliente-table__empty {
    text-align: center;
    color: var(--pj-muted, #52525b);
    padding: 1.5rem 1rem !important;
}

.cliente-table__actions {
    white-space: nowrap;
    min-width: 12rem;
}

.cliente-table--recursos-grid th.cliente-table__actions,
.cliente-table--recursos-grid td.cliente-table__actions {
    text-align: right;
}

.cliente-table--recursos-grid .cliente-table__action-btns {
    justify-content: flex-end;
}

.cliente-table__action-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.cliente-acoes-menu {
    position: relative;
    display: inline-block;
}

.cliente-acoes-menu .js-cliente-acoes-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.cliente-acoes-menu__caret {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: 0.7;
}

.cliente-acoes-menu.is-open .cliente-acoes-menu__caret {
    transform: rotate(180deg);
}

.cliente-acoes-menu__panel {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10060;
    min-width: 12.5rem;
    max-width: min(20rem, calc(100vw - 1rem));
    max-height: min(70vh, calc(100vh - 1rem));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.35rem;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
    box-sizing: border-box;
}

.cliente-acoes-menu__form {
    display: block;
    margin: 0;
}

.cliente-acoes-menu__group {
    padding: 0.4rem 0.5rem 0.55rem;
    margin: 0 0 0.2rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.cliente-acoes-menu__group-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.15rem 0.15rem 0.4rem;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
}

.cliente-acoes-menu__group-label .cliente-app__ico,
.cliente-acoes-menu__group-label svg {
    flex-shrink: 0;
}

.cliente-acoes-menu__group-apps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.cliente-acoes-menu__app {
    flex: 1 1 4.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.35rem;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.08);
    color: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

.cliente-acoes-menu__app:hover,
.cliente-acoes-menu__app:focus-visible {
    background: rgba(37, 99, 235, 0.16);
    outline: none;
}

.cliente-acoes-menu__group-empty {
    margin: 0;
    padding: 0.15rem 0.15rem 0.1rem;
    color: #64748b;
    font-size: 0.78rem;
}

.cliente-acoes-menu__item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    margin: 0;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}

.cliente-acoes-menu__item:hover,
.cliente-acoes-menu__item:focus-visible {
    background: rgba(37, 99, 235, 0.08);
    outline: none;
}

.cliente-acoes-menu__item .cliente-app__ico,
.cliente-acoes-menu__item svg {
    flex-shrink: 0;
}

.cliente-acoes-menu__item--danger {
    color: #b91c1c;
}

.cliente-acoes-menu__item--danger:hover,
.cliente-acoes-menu__item--danger:focus-visible {
    background: rgba(185, 28, 28, 0.08);
}

.cliente-acoes-menu__item:disabled,
.cliente-acoes-menu__item[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

td.admin-table__actions--grid {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}

.cliente-th-sort {
    white-space: nowrap;
}

.cliente-th-sort__link {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
    cursor: pointer;
}

.cliente-th-sort__link:hover {
    color: var(--pj-primary, #2563eb);
    text-decoration: underline;
}

.cliente-th-sort.is-active .cliente-th-sort__link {
    color: var(--pj-primary, #2563eb);
}

.cliente-th-sort__arrow {
    font-size: 0.85em;
    opacity: 0.85;
}

.cliente-th-sort[style*="text-align:right"] .cliente-th-sort__link {
    justify-content: flex-end;
    width: 100%;
}

.cliente-table__col-num.cliente-th-sort .cliente-th-sort__link {
    justify-content: flex-end;
    width: 100%;
}

.cliente-inline-form {
    display: inline;
    margin: 0;
}

.atendimento-admin-section {
    margin-bottom: 1.5rem;
}

.cliente-badge {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
}

.cliente-badge--ok {
    background: #ecfdf5;
    color: #065f46;
}

.cliente-badge--info {
    background: #eff6ff;
    color: #1d4ed8;
}

.cliente-badge--muted {
    background: #f4f4f5;
    color: var(--pj-muted, #52525b);
}

.cliente-btn--danger {
    color: #b91c1c !important;
    border-color: #fecaca !important;
}

.cliente-btn--danger:hover {
    background: #fef2f2 !important;
}

.admin-btn--small {
    min-height: 36px;
    padding: 0.35rem 0.65rem;
    font-size: 0.85rem;
}

.admin-btn--icon-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    min-width: 2.25rem;
    padding: 0.35rem;
    line-height: 0;
}

.admin-btn--icon-only .cliente-app__ico {
    display: block;
}

td.admin-table__actions .admin-btn--icon-only + .admin-btn--icon-only {
    margin-left: 0.2rem;
}

/* Cadastro â€” KPIs em uma linha (3 colunas iguais: esquerda / centro / direita) */
.cliente-clientes-dash .cliente-regioes-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: stretch;
    margin: 0 0 1.25rem;
    width: 100%;
}

.cliente-clientes-dash .cliente-regioes-kpis .cliente-dash__kpi {
    margin: 0;
    max-width: none;
    min-width: 0;
}

.cliente-table__col-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    width: 6.5rem;
}

.cliente-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.cliente-regioes-count {
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

a.cliente-count-link,
button.cliente-count-link--btn {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--pj-navy, #1a2b56);
    text-decoration: underline;
    text-underline-offset: 2px;
}

button.cliente-count-link--btn {
    display: inline;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    font: inherit;
    cursor: pointer;
    text-align: inherit;
}

a.cliente-count-link:hover,
a.cliente-count-link:focus-visible,
button.cliente-count-link--btn:hover,
button.cliente-count-link--btn:focus-visible {
    color: var(--pj-navy, #1a2b56);
    opacity: 0.85;
}

body.cliente-modal-open {
    overflow: hidden;
}

.cliente-modal[hidden] {
    display: none !important;
}

.cliente-modal:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
}

.cliente-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.cliente-modal__panel {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: min(85vh, 640px);
    display: flex;
    flex-direction: column;
    background: var(--pj-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
    overflow: hidden;
}

.cliente-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(26, 43, 86, 0.12);
    background: var(--pj-navy-soft, #f4f6fb);
}

.cliente-modal__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.cliente-modal__close {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: var(--pj-navy, #1a2b56);
}

.cliente-modal__close:hover,
.cliente-modal__close:focus-visible {
    background: rgba(26, 43, 86, 0.08);
}

.cliente-modal__body {
    padding: 0.75rem 1rem 1rem;
    overflow: auto;
    flex: 1;
    min-height: 0;
}

.cliente-modal__loading {
    margin: 0.5rem 0;
    color: var(--pj-muted, #64748b);
}

.cliente-modal__error {
    margin: 0.5rem 0;
    color: #b91c1c;
}

.cliente-modal__table-wrap {
    margin-top: 0.25rem;
}

.cliente-table-wrap--modal {
    max-height: min(50vh, 360px);
    overflow: auto;
}

/* HistÃ³rico do orÃ§amento â€” cartÃµes (timeline) */
.orcamento-hist-page {
    min-width: 0;
}

.orcamento-hist-page .admin-empty {
    margin: 0;
    color: var(--pj-muted, #64748b);
}

.orcamento-hist-compose {
    margin: 0 0 1.15rem;
    min-width: 0;
}

.orcamento-hist-compose .admin-field--actions {
    margin-top: 0.75rem;
}

.orcamento-hist-stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.orcamento-hist-card {
    margin: 0;
    padding: 1rem 1.15rem 1rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(26, 43, 86, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    min-width: 0;
    overflow-wrap: anywhere;
}

.orcamento-hist-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 1rem;
    padding-bottom: 0.65rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(26, 43, 86, 0.1);
}

.orcamento-hist-card__user {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-card__datetime {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.orcamento-hist-card__lead {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    line-height: 1.4;
}

.orcamento-hist-card__subtitle {
    margin: 0 0 0.4rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-card__list {
    margin: 0 0 0.65rem;
    padding-left: 1.15rem;
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-card__list li {
    margin-bottom: 0.2rem;
}

.orcamento-hist-card__li-label {
    font-weight: 700;
}

.orcamento-hist-card__li-de {
    color: #b45309;
    font-weight: 600;
}

.orcamento-hist-card__li-arrow {
    color: var(--pj-muted, #71717a);
    font-weight: 700;
    margin: 0 0.15rem;
}

.orcamento-hist-card__li-para {
    color: #15803d;
    font-weight: 700;
}

.orcamento-hist-card__vend {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    padding: 0.5rem 0.65rem;
    border-radius: 0.4rem;
    background: rgba(26, 43, 86, 0.05);
    border-left: 3px solid rgba(26, 43, 86, 0.35);
}

.orcamento-hist-card__resumo {
    margin: 0;
    font-size: 0.88rem;
    color: var(--pj-muted, #52525b);
    font-style: italic;
}

.orcamento-hist-card__foot {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px dashed rgba(26, 43, 86, 0.15);
    font-size: 0.84rem;
    line-height: 1.5;
    color: var(--pj-muted, #52525b);
}

.orcamento-hist-card__foot-label {
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    margin-right: 0.25rem;
}

.orcamento-hist-card__cliente,
.orcamento-hist-card__stamp {
    margin: 0.15rem 0;
}

.orcamento-hist-card__blocks {
    margin-top: 0.25rem;
}

.orcamento-hist-card__empty {
    margin: 0;
    color: var(--pj-muted, #a1a1aa);
}

@media (max-width: 640px) {
    .orcamento-hist-page .orcamento-sec-head {
        flex-direction: column;
        align-items: stretch;
    }

    .orcamento-hist-page .orcamento-sec-head .admin-btn {
        width: 100%;
        justify-content: center;
    }

    .orcamento-hist-compose .admin-field--actions {
        flex-wrap: wrap;
    }

    .orcamento-hist-compose .admin-field--actions .admin-btn {
        width: 100%;
        justify-content: center;
    }

    .orcamento-hist-card {
        padding: 0.85rem 0.9rem;
    }

    .orcamento-hist-card__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    .orcamento-hist-card__user {
        font-size: 0.95rem;
    }
}

.orcamento-hist-detail {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-resumo {
    margin: 0;
    font-size: 0.86rem;
    color: var(--pj-muted, #52525b);
    font-style: italic;
}

.orcamento-hist-incl,
.orcamento-hist-rem {
    margin: 0;
    font-size: 0.88rem;
}

.orcamento-hist-incl__tipo {
    display: inline-block;
    margin-right: 0.35rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-rem {
    color: var(--pj-navy, #1a2b56);
}

.orcamento-hist-change {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.5rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(26, 43, 86, 0.1);
}

.orcamento-hist-change--tot {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(26, 43, 86, 0.04));
    border-color: rgba(59, 130, 246, 0.25);
}

.orcamento-hist-change__label {
    flex: 0 0 100%;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--pj-muted, #52525b);
}

.orcamento-hist-change__vals {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
}

.orcamento-hist-change__de {
    font-weight: 600;
    color: #b45309;
}

.orcamento-hist-change__arrow {
    color: var(--pj-muted, #71717a);
    font-weight: 700;
}

.orcamento-hist-change__para {
    font-weight: 700;
    color: #15803d;
}

.orcamento-hist-fallback-pre {
    margin: 0;
    font-size: 0.78rem;
    max-height: 12rem;
    overflow: auto;
    padding: 0.5rem;
    border-radius: 0.35rem;
    background: rgba(0, 0, 0, 0.04);
}

.orcamento-hist-empty {
    color: var(--pj-muted, #a1a1aa);
}

/* OrÃ§amento â€” grids e modais de linha */
.orcamento-necessidades-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.orc-dossie-progress {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.48);
}

.orc-dossie-progress[hidden] {
    display: none !important;
}

body.orc-dossie-progress-lock {
    overflow: hidden;
}

.orc-dossie-progress__panel {
    width: min(32rem, calc(100vw - 1.5rem));
    max-height: min(90vh, 36rem);
    overflow: auto;
    padding: 1.2rem 1.25rem 1.15rem;
    border-radius: 12px;
    background: var(--pj-white, #fff);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.22);
    box-sizing: border-box;
}

.orc-dossie-progress__bar {
    height: 0.7rem;
    margin: 0.85rem 0 0.35rem;
    border-radius: 999px;
    background: #e4e4e7;
    overflow: hidden;
}

.orc-dossie-progress__bar-fill {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #1a2b56, #3b82f6);
    transition: width 0.35s ease;
}

.orc-dossie-progress__pct {
    margin: 0 0 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.orc-dossie-progress__steps {
    margin: 0;
    padding: 0 0 0 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.orc-dossie-progress__steps li {
    font-size: 0.88rem;
    line-height: 1.4;
    color: var(--pj-muted, #52525b);
}

.orc-dossie-progress__steps li.is-running {
    color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

.orc-dossie-progress__steps li.is-ok {
    color: #166534;
}

.orc-dossie-progress__steps li.is-warn,
.orc-dossie-progress__steps li.is-skip {
    color: #92400e;
}

.orc-dossie-progress__steps li.is-error {
    color: #991b1b;
    font-weight: 600;
}

.orc-dossie-progress__err {
    margin-top: 0.85rem;
}

.orcamento-necessidades-card__foto {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 0.85rem;
}

.orcamento-necessidades-card__foto img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--pj-border, #e5e7eb);
    background: #f8fafc;
}

.orcamento-necessidades-table {
    min-width: 520px;
}

.orcamento-nec-del {
    display: inline;
    margin: 0;
}

.orcamento-necessidades-dossie {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--pj-border, #e5e7eb);
}

.orcamento-necessidades-dossie__title {
    margin: 0 0 0.75rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
    letter-spacing: -0.01em;
}

.orcamento-dossie-ia-wrap {
    max-height: min(40rem, 70vh);
    overflow: auto;
    padding-right: 0.2rem;
}

.orcamento-dossie-ia {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.orcamento-dossie-ia__sec.admin-fieldset {
    margin: 0;
    padding: 0.75rem 0.85rem 0.85rem;
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 10px;
    border-bottom: 1px solid var(--pj-border, #e5e7eb);
    background: var(--pj-surface, #f8fafc);
}

.orcamento-dossie-ia__titulo {
    margin: 0 0 0.5rem;
    padding: 0;
    font-size: 0.88rem;
}

.orcamento-dossie-ia__body {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--pj-text, #1a1a1e);
}

.orcamento-dossie-ia__body p {
    margin: 0 0 0.65rem;
}

.orcamento-dossie-ia__body p:last-child {
    margin-bottom: 0;
}

.orcamento-dossie-ia__body ol,
.orcamento-dossie-ia__body ul {
    margin: 0 0 0.65rem;
    padding-left: 1.25rem;
}

.orcamento-dossie-ia__body li {
    margin: 0 0 0.35rem;
}

.orcamento-dossie-ia__body a {
    color: var(--pj-navy, #1a2b56);
    word-break: break-word;
}

.orcamento-hist-detail--dossie {
    margin-top: 0.5rem;
}

.orcamento-hist-detail--dossie .orcamento-dossie-ia-wrap,
.orcamento-hist-detail--dossie .orcamento-dossie-ia {
    max-height: none;
}

.orcamento-sec-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.orcamento-sec-head .cliente-dash__card-title {
    margin: 0;
}

.orcamento-grid-wrap {
    margin-top: 0.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.orcamento-grid-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.orcamento-grid-table th,
.orcamento-grid-table td {
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    vertical-align: top;
}

.orcamento-grid-table thead th {
    font-weight: 600;
    text-align: left;
    color: var(--pj-muted, #64748b);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.orcamento-grid-table tfoot td {
    border-bottom: none;
    font-weight: 600;
    padding-top: 0.75rem;
}

.orcamento-grid-table__prod-title {
    font-weight: 600;
    color: var(--pj-text, #18181b);
}

.orcamento-grid-table__prod-sub {
    display: block;
    font-size: 0.8rem;
    color: var(--pj-muted, #64748b);
    margin-top: 0.2rem;
}

.orcamento-qty-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 0.375rem;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.orcamento-price-stack {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.8rem;
}

.orcamento-price-stack__row {
    display: block;
}

.orcamento-price-stack__row--padrao {
    color: #15803d;
}

.orcamento-price-stack__row--desc {
    color: #b91c1c;
}

.orcamento-price-stack__row--aplic {
    color: #1d4ed8;
}

.orcamento-price-stack__total {
    margin-top: 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.orcamento-grid-table textarea.admin-input {
    min-height: 3rem;
    resize: vertical;
    font-size: 0.85rem;
}

.orcamento-grid-table .orcamento-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.orcamento-empty-row td {
    color: var(--pj-muted, #64748b);
    font-style: italic;
    padding: 1rem 0.6rem;
}

/* OrÃ§amento â€” bloco somente leitura do cliente (layout compacto) */
.orcamento-cliente-card {
    padding: 0;
    overflow: hidden;
}

.orcamento-cliente-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 1rem 1.25rem 0.35rem;
}

.orcamento-cliente-card__head .cliente-dash__card-title {
    padding: 0;
    margin: 0;
}

.orcamento-cliente__body {
    padding: 0 1.25rem 1.15rem;
}

.orcamento-cliente__docbar {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 1rem;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.05) 0%, rgba(37, 99, 235, 0.07) 100%);
    border: 1px solid var(--pj-border, #e4e4e7);
}

.orcamento-cliente__docpill {
    flex-shrink: 0;
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pj-navy, #0f172a);
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(15, 23, 42, 0.12);
}

.orcamento-cliente__docvalue {
    margin: 0;
    flex: 1 1 12rem;
    font-size: 1.05rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    color: var(--pj-text, #18181b);
    word-break: break-word;
}

.orcamento-cliente__group-h {
    margin: 0 0 0.5rem;
    padding: 0.65rem 0 0;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pj-muted, #64748b);
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.orcamento-cliente__group-h:first-of-type {
    padding-top: 0.15rem;
    margin-top: 0.15rem;
    border-top: none;
}

.orcamento-cliente__grid {
    display: grid;
    gap: 0.85rem 1.25rem;
}

.orcamento-cliente__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.orcamento-cliente__grid--contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .orcamento-cliente__grid--contact {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .orcamento-cliente__grid--2,
    .orcamento-cliente__grid--contact {
        grid-template-columns: 1fr;
    }
}

.orcamento-cliente__field {
    min-width: 0;
}

.orcamento-cliente__label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pj-muted, #64748b);
}

.orcamento-cliente__value {
    margin: 0;
    padding: 0.45rem 0 0.15rem;
    font-size: 0.94rem;
    line-height: 1.45;
    color: var(--pj-text, #18181b);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    word-break: break-word;
}

/* OrÃ§amento â€” linha compacta: vendedor, status, validade, origem */
.admin-form-card .admin-form-grid > .orcamento-cab__row--quad {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem 1.15rem;
    align-items: end;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.admin-form-card .orcamento-cab__row--quad .orcamento-cab__cell {
    margin: 0;
    min-width: 0;
}

.admin-form-card .orcamento-cab__row--quad .orcamento-cab__cell label {
    margin-bottom: 0.3rem;
}

@media (max-width: 1100px) {
    .admin-form-card .admin-form-grid > .orcamento-cab__row--quad {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .admin-form-card .admin-form-grid > .orcamento-cab__row--quad {
        grid-template-columns: 1fr;
    }
}

.admin-form-card .orcamento-cab__row-hint-wrap {
    margin-top: -0.25rem;
}

.admin-form-card .orcamento-cab__row-hint {
    margin: 0;
    line-height: 1.45;
    font-size: 0.8rem;
    color: var(--pj-muted, #64748b);
}

.admin-form-card .orcamento-cab__row-hint a {
    font-weight: 500;
}

/* Bloco implantaÃ§Ã£o (produtos + serviÃ§os) no cabeÃ§alho do orÃ§amento */
.orcamento-implantacao-card {
    margin: 0.5rem 0 0.75rem;
    padding: 1rem 1.1rem 1.1rem;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 90%, transparent);
    background: color-mix(in srgb, var(--pj-accent, #2563eb) 6%, var(--pj-surface, #fff));
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

.orcamento-implantacao-card--viagem {
    background: color-mix(in srgb, var(--pj-accent-2, #0d9488) 7%, var(--pj-surface, #fff));
}

.orcamento-implantacao-card--mensalidade {
    background: color-mix(in srgb, var(--pj-accent-3, #7c3aed) 6%, var(--pj-surface, #fff));
}

.orcamento-implantacao-card--produtos {
    background: color-mix(in srgb, #c2410c 6%, var(--pj-surface, #fff));
}

.orcamento-sec-produtos .orcamento-sec-head {
    margin-bottom: 0.85rem;
    align-items: flex-start;
}

.orcamento-sec-produtos .orcamento-implantacao-card__title {
    margin: 0 0 0.35rem;
}

.orcamento-sec-produtos .orcamento-implantacao-card__hint {
    margin: 0;
    max-width: 42rem;
}

.orcamento-sec-produtos__table.orcamento-grid-wrap {
    margin-top: 0;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 90%, transparent);
    background: var(--pj-surface, #fff);
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.03);
}

.orcamento-implantacao-card--servicos {
    background: color-mix(in srgb, #0369a1 6%, var(--pj-surface, #fff));
}

.orcamento-sec-servicos .orcamento-sec-head {
    margin-bottom: 0.85rem;
    align-items: flex-start;
}

.orcamento-sec-servicos .orcamento-implantacao-card__title {
    margin: 0 0 0.35rem;
}

.orcamento-sec-servicos .orcamento-implantacao-card__hint {
    margin: 0;
    max-width: 42rem;
}

.orcamento-sec-servicos__table.orcamento-grid-wrap {
    margin-top: 0;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 90%, transparent);
    background: var(--pj-surface, #fff);
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.03);
}

.orcamento-sec-despesas .orcamento-sec-head {
    margin-bottom: 0.85rem;
    align-items: flex-start;
}

.orcamento-sec-despesas .orcamento-implantacao-card__title {
    margin: 0 0 0.35rem;
}

.orcamento-sec-despesas .orcamento-implantacao-card__hint {
    margin: 0;
    max-width: 42rem;
}

.orcamento-sec-despesas__table.orcamento-grid-wrap {
    margin-top: 0;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 90%, transparent);
    background: var(--pj-surface, #fff);
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.03);
}

.orcamento-grid-table__vu-simple {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--pj-text, #18181b);
}

.orcamento-implantacao-card__resumo--mensal {
    margin-bottom: 0.85rem;
}

.orcamento-implantacao-card__hint--tight {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
}

.orcamento-implantacao-card__title {
    margin: 0 0 0.85rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pj-heading, #0f172a);
}

.orcamento-implantacao-card__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.65rem 1rem;
    margin-bottom: 0.85rem;
}

.orcamento-implantacao-card__stat {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: var(--pj-surface, #fff);
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 85%, transparent);
}

.orcamento-implantacao-card__stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #64748b);
}

.orcamento-implantacao-card__stat-value {
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--pj-heading, #0f172a);
}

.orcamento-implantacao-card__hint {
    margin: 0 0 0.85rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--pj-muted, #64748b);
}

.orcamento-implantacao-card__resumo {
    margin-bottom: 0.85rem;
}

.orcamento-implantacao-card__line {
    margin: 0 0 0.45rem;
    font-size: 0.9rem;
    line-height: 1.45;
}

.orcamento-implantacao-card__muted {
    font-weight: 400;
    color: var(--pj-muted, #64748b);
    font-size: 0.85rem;
}

.orcamento-implantacao-card__table-wrap {
    margin-top: 0.55rem;
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 90%, transparent);
    background: var(--pj-surface, #fff);
}

.orcamento-implantacao-card__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.orcamento-implantacao-card__table th,
.orcamento-implantacao-card__table td {
    padding: 0.45rem 0.6rem;
    text-align: left;
    border-bottom: 1px solid color-mix(in srgb, var(--pj-border, #e2e8f0) 70%, transparent);
}

.orcamento-implantacao-card__table thead th {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--pj-muted, #64748b);
    background: color-mix(in srgb, var(--pj-muted, #64748b) 8%, transparent);
}

.orcamento-implantacao-card__table tbody tr:last-child td {
    border-bottom: none;
}

.orcamento-implantacao-card__fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.75rem 1rem;
    align-items: end;
}

.orcamento-implantacao-card__fields .admin-field {
    margin-bottom: 0;
}

/* ConfiguraÃ§Ãµes â€” Quem somos */
.quem-somos-page .admin-page-sub.quem-somos-fieldset-hint {
    margin: 0 0 0.85rem;
    max-width: 42rem;
}

.quem-somos-foto-layout {
    display: grid;
    gap: 1rem 1.25rem;
    align-items: start;
}

@media (min-width: 640px) {
    .quem-somos-foto-layout:has(.quem-somos-foto-preview) {
        grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
    }
}

.quem-somos-foto-preview {
    margin: 0;
}

.quem-somos-foto-preview__img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    border: 1px solid rgba(26, 43, 86, 0.12);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.quem-somos-foto-upload .admin-field {
    margin-bottom: 0;
}

.cliente-form .quem-somos-textarea {
    min-height: 11rem;
}

.cliente-form .quem-somos-textarea--short {
    min-height: 6.5rem;
}

.quem-somos-page .admin-fieldset .quem-somos-table-card {
    margin-top: 0.15rem;
    border-radius: 8px;
}

.quem-somos-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.quem-somos-table .admin-input {
    min-width: 0;
    width: 100%;
}

.quem-somos-table td {
    vertical-align: middle;
}

/* ConfiguraÃ§Ãµes â€” Proposta */
.proposta-config-page .admin-page-sub.proposta-config-fieldset-hint {
    margin: 0 0 0.85rem;
    max-width: 46rem;
}

.proposta-config-page .proposta-config-form .admin-fieldset {
    margin-bottom: 1rem;
}

.proposta-config-page .proposta-config-form .admin-fieldset:last-of-type {
    margin-bottom: 0;
}

.proposta-config-page .proposta-config-form .admin-form-grid {
    gap: 0.7rem 1rem;
}

.proposta-config-page .proposta-config-form .admin-form-grid > .admin-field {
    margin-bottom: 0;
    min-width: 0;
}

.cliente-form .proposta-config-textarea {
    min-height: 7rem;
    resize: vertical;
}

.proposta-config-page .admin-fieldset .proposta-config-table-card {
    margin-top: 0.15rem;
    border-radius: 8px;
}

.proposta-config-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.proposta-config-table .admin-input {
    min-width: 0;
    width: 100%;
}

.proposta-config-table .admin-btn {
    white-space: nowrap;
}

.proposta-config-table-textarea {
    min-height: 3.25rem;
    resize: vertical;
    line-height: 1.45;
}

.proposta-config-table td {
    vertical-align: top;
}

.proposta-config-table--fases th:nth-child(1),
.proposta-config-table--fases td:nth-child(1) {
    width: 28%;
}

.proposta-config-table--fases th:nth-child(3),
.proposta-config-table--fases td:nth-child(3) {
    width: 1%;
    white-space: nowrap;
}

.proposta-config-table--formas th:nth-child(1),
.proposta-config-table--formas td:nth-child(1) {
    width: 21%;
}

.proposta-config-table--formas th:nth-child(2),
.proposta-config-table--formas td:nth-child(2) {
    width: 12%;
}

.proposta-config-table--formas th:nth-child(3),
.proposta-config-table--formas td:nth-child(3) {
    width: 14%;
}

.proposta-config-table--formas th:nth-child(5),
.proposta-config-table--formas td:nth-child(5) {
    width: 1%;
    white-space: nowrap;
}

.proposta-config-table--erros th:nth-child(1),
.proposta-config-table--erros td:nth-child(1) {
    width: 30%;
}

.proposta-config-table--erros th:nth-child(3),
.proposta-config-table--erros td:nth-child(3) {
    width: 1%;
    white-space: nowrap;
}

/* Proposta comercial (visualizaÃ§Ã£o) */
.proposta-comercial-email-form {
    display: inline-block;
    margin: 0;
    vertical-align: middle;
}

.proposta-comercial-wa-btn {
    background: #25d366 !important;
    color: #fff !important;
    border-color: #128c7e !important;
}

.proposta-comercial-wa-btn:hover:not(:disabled) {
    filter: brightness(1.05);
}

.proposta-comercial-wa-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.proposta-comercial-link-card {
    margin-bottom: 1rem;
}

.proposta-comercial-link-label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.proposta-comercial-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}

.proposta-comercial-link-input {
    flex: 1 1 12rem;
    min-width: 0;
    font-size: 0.85rem;
}

.proposta-comercial-link-hint {
    margin: 0.65rem 0 0;
    max-width: 40rem;
}

.proposta-comercial-page__center {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

/* Documento da proposta comercial (layout tipo relatÃ³rio / PDF) */
.proposta-doc-shell {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.proposta-comercial-page__center--public .proposta-doc-shell {
    max-width: none;
}

.proposta-doc {
    --proposta-doc-accent: #1a2b56;
    --proposta-doc-accent-soft: #2d4a8c;
    --proposta-doc-paper: #ffffff;
    --proposta-doc-border: #e2e8f0;
    --proposta-doc-muted: #64748b;
    --proposta-doc-text: #334155;
    background: var(--proposta-doc-paper);
    border: 1px solid rgba(26, 43, 86, 0.1);
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.proposta-doc-shell--public .proposta-doc {
    box-shadow: 0 8px 40px rgba(15, 23, 42, 0.1);
}

.proposta-doc__cover {
    position: relative;
    background: linear-gradient(135deg, #f8fafc 0%, #fff 48%, #f1f5f9 100%);
}

.proposta-doc__cover-strip {
    height: 6px;
    background: linear-gradient(90deg, var(--proposta-doc-accent) 0%, var(--proposta-doc-accent-soft) 55%, #38bdf8 100%);
}

.proposta-doc__cover-inner {
    display: grid;
    gap: 1.25rem;
    padding: 1.35rem 1.5rem 1.5rem;
}

@media (min-width: 640px) {
    .proposta-doc__cover-inner {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        align-items: start;
    }

    .proposta-doc__cover-brand {
        grid-column: 1;
        grid-row: 1;
    }

    .proposta-doc__cover-client {
        grid-column: 2;
        grid-row: 1 / span 2;
        text-align: right;
        justify-self: end;
        max-width: 22rem;
    }

    .proposta-doc__meta-grid {
        grid-column: 1;
        grid-row: 2;
    }
}

.proposta-doc__cover-logo-wrap {
    margin: 0 0 0.75rem;
}

.proposta-doc__cover-logo {
    display: block;
    max-width: 240px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.proposta-doc__kicker {
    margin: 0 0 0.2rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--proposta-doc-muted);
}

.proposta-doc__code {
    margin: 0 0 0.35rem;
    font-size: clamp(1.5rem, 4vw, 1.85rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--proposta-doc-accent);
    letter-spacing: -0.02em;
}

.proposta-doc__emitter {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    color: #475569;
}

.proposta-doc__cover-for {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--proposta-doc-muted);
}

.proposta-doc__client-name {
    margin: 0 0 0.35rem;
    font-size: clamp(1.15rem, 2.8vw, 1.35rem);
    font-weight: 700;
    color: var(--proposta-doc-accent);
    line-height: 1.25;
}

.proposta-doc__client-loc {
    margin: 0;
    font-size: 0.92rem;
    color: #475569;
}

.proposta-doc__meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.75rem 1rem;
    margin: 0;
}

.proposta-doc__meta-item {
    margin: 0;
    padding: 0.65rem 0.85rem;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid var(--proposta-doc-border);
    border-radius: 8px;
}

.proposta-doc__meta-item dt {
    margin: 0 0 0.2rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--proposta-doc-muted);
}

.proposta-doc__meta-item dd {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--proposta-doc-text);
}

.proposta-doc__body {
    padding: 0 1.5rem 1.5rem;
}

.proposta-doc__section {
    margin-bottom: 1.75rem;
}

.proposta-doc__section:last-child {
    margin-bottom: 0;
}

.proposta-doc__section--pagamento .proposta-doc__h4 {
    margin-top: 1.25rem;
}

.proposta-doc__section--pagamento .proposta-doc__h4:first-of-type {
    margin-top: 0.35rem;
}

.proposta-doc__pay-note {
    margin: 0 0 0.75rem;
    font-size: 0.82rem;
    color: var(--proposta-doc-muted);
    line-height: 1.45;
}

.proposta-doc__pay-meta {
    margin: 0 0 0.65rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--proposta-doc-text);
}

.proposta-doc__pay-meta--foot {
    margin-top: 0.75rem;
    margin-bottom: 0;
}

.proposta-doc__pay-empty {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: var(--proposta-doc-muted);
    font-style: italic;
}

.proposta-doc__section-title {
    margin: 0 0 0.85rem;
    padding-bottom: 0.45rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--proposta-doc-accent);
    border-bottom: 2px solid var(--proposta-doc-accent);
    display: inline-block;
    min-width: min(100%, 12rem);
}

.proposta-doc__section--quem .proposta-doc__section-title {
    display: block;
    min-width: 0;
}

.proposta-doc__block {
    margin-bottom: 1rem;
}

.proposta-doc__block:last-child {
    margin-bottom: 0;
}

.proposta-doc__block-title {
    margin: 0 0 0.45rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--proposta-doc-accent-soft);
}

.proposta-doc__block-title--sub {
    margin-top: 1rem;
    font-size: 0.92rem;
}

.proposta-doc__block-body {
    font-size: 0.94rem;
    line-height: 1.6;
    color: var(--proposta-doc-text);
}

.proposta-doc__p {
    margin: 0 0 0.5rem;
}

.proposta-doc__p:last-child {
    margin-bottom: 0;
}

.proposta-doc__quem-layout {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 720px) {
    .proposta-doc__quem-layout--with-photo {
        grid-template-columns: min(14rem, 38%) 1fr;
        align-items: start;
    }
}

.proposta-doc__quem-photo {
    margin: 0;
}

.proposta-doc__quem-img {
    display: block;
    width: 100%;
    max-width: 16rem;
    height: auto;
    border-radius: 10px;
    border: 1px solid rgba(26, 43, 86, 0.12);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}

.proposta-doc__subblock {
    margin-top: 1.25rem;
}

.proposta-doc-table-scroll {
    margin-top: 0.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    border: 1px solid var(--proposta-doc-border);
}

.proposta-doc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.proposta-doc-table thead th {
    padding: 0.6rem 0.65rem;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--proposta-doc-accent);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.proposta-doc-table tbody td {
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
    color: var(--proposta-doc-text);
    vertical-align: top;
}

.proposta-doc__cell-main {
    display: block;
    font-weight: 500;
    color: var(--proposta-doc-text);
}

.proposta-doc__cell-sub {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--proposta-doc-muted);
    line-height: 1.35;
}

.proposta-doc-table tbody tr:nth-child(even) {
    background: #fafbfc;
}

.proposta-doc-table tbody tr:last-child td {
    border-bottom: none;
}

.proposta-doc-table tbody td.proposta-doc-table__num {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.proposta-doc__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: propstep;
}

.proposta-doc__step {
    position: relative;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem 0.85rem 3rem;
    background: #f8fafc;
    border: 1px solid var(--proposta-doc-border);
    border-radius: 10px;
    border-left: 4px solid var(--proposta-doc-accent);
}

.proposta-doc__step:last-child {
    margin-bottom: 0;
}

.proposta-doc__step::before {
    counter-increment: propstep;
    content: counter(propstep);
    position: absolute;
    left: 0.85rem;
    top: 0.85rem;
    width: 1.65rem;
    height: 1.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 800;
    color: #fff;
    background: var(--proposta-doc-accent);
    border-radius: 50%;
}

.proposta-doc__step-title {
    display: block;
    font-weight: 700;
    color: var(--proposta-doc-accent);
    font-size: 0.95rem;
}

.proposta-doc__step-desc {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #475569;
}

.proposta-doc__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.proposta-doc__list-item {
    margin: 0 0 0.85rem;
    padding: 0.75rem 0.9rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid var(--proposta-doc-border);
}

.proposta-doc__list-item:last-child {
    margin-bottom: 0;
}

.proposta-doc__list-strong {
    color: var(--proposta-doc-accent);
}

.proposta-doc__list-desc {
    margin-top: 0.35rem;
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.55;
}

.proposta-doc__h4 {
    margin: 1.15rem 0 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--proposta-doc-muted);
}

.proposta-doc__h4:first-child {
    margin-top: 0.35rem;
}

.proposta-doc__totals-box {
    margin-top: 1.15rem;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid var(--proposta-doc-border);
    border-radius: 10px;
}

.proposta-doc__totals {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.95rem;
}

.proposta-doc__totals li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin: 0 0 0.45rem;
    color: var(--proposta-doc-text);
}

.proposta-doc__totals li:last-child {
    margin-bottom: 0;
}

.proposta-doc__totals li span {
    color: var(--proposta-doc-muted);
}

.proposta-doc__totals-grand {
    margin-top: 0.65rem !important;
    padding-top: 0.65rem;
    border-top: 2px solid var(--proposta-doc-accent);
    font-size: 1.05rem;
}

.proposta-doc__totals-grand span {
    font-weight: 700;
    color: var(--proposta-doc-accent) !important;
}

.proposta-doc__totals-grand strong {
    font-size: 1.15rem;
    color: var(--proposta-doc-accent);
}

.proposta-doc__obs {
    font-size: 0.94rem;
    line-height: 1.6;
    color: var(--proposta-doc-text);
    padding: 0.85rem 1rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
}

.proposta-doc__footer {
    padding: 1.15rem 1.5rem 1.35rem;
    background: #f8fafc;
    border-top: 1px solid var(--proposta-doc-border);
}

.proposta-doc__footer-line {
    display: none;
}

.proposta-doc__footer-title {
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--proposta-doc-accent);
}

.proposta-doc__footer-meta {
    margin: 0.15rem 0 0;
    font-size: 0.82rem;
    color: #475569;
    line-height: 1.45;
}

.proposta-doc__footer-contact {
    margin: 0.65rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--proposta-doc-text);
}

.proposta-doc__footer-sep {
    margin: 0 0.35rem;
    color: var(--proposta-doc-muted);
    font-weight: 400;
}

/* Proposta pÃºblica (proposta_publica.php) */
.proposta-publica-body {
    margin: 0;
    min-height: 100vh;
    background: #e8edf3;
    font-family: Inter, system-ui, sans-serif;
}

.proposta-publica-shell {
    max-width: 56rem;
    margin: 0 auto;
    padding: 1.25rem clamp(0.75rem, 3vw, 1.5rem) 2.5rem;
}

.proposta-publica-foot {
    margin-top: 1.75rem;
    padding-top: 1rem;
    text-align: center;
}

.proposta-publica-foot__note {
    margin: 0;
    font-size: 0.82rem;
    color: var(--pj-muted, #64748b);
}

@media print {
    .proposta-publica-body {
        background: #fff;
    }

    .proposta-publica-shell {
        padding: 0;
        max-width: none;
    }

    .proposta-doc {
        box-shadow: none;
        border: none;
        border-radius: 0;
    }

    .proposta-doc-table-scroll {
        border: 1px solid #ccc;
    }

    .proposta-publica-foot {
        border-top: 1px solid #ddd;
    }
}

/* PermissÃµes de usuÃ¡rios (matriz) */
.cliente-permissoes-matrix .cliente-table__col-check {
    text-align: center;
    width: 4.25rem;
}

.cliente-permissoes-matrix .cliente-permissoes-check {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.cliente-permissoes-grupo td {
    background: rgba(26, 43, 86, 0.06);
}

.cliente-permissoes-table-wrap {
    overflow-x: auto;
}

/* Kanban de orÃ§amentos */
.kanban-page__hint {
    margin-top: 0;
    max-width: 52rem;
}

.kanban-board {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    margin-top: 1rem;
    -webkit-overflow-scrolling: touch;
}

.kanban-col {
    flex: 0 0 min(280px, 85vw);
    max-width: 320px;
    background: var(--pj-surface-muted, #f4f4f5);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    max-height: min(72vh, 720px);
}

.kanban-col__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    background: rgba(255, 255, 255, 0.7);
    border-radius: 10px 10px 0 0;
}

.kanban-col__title {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pj-ink, #18181b);
}

.kanban-col__count {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--pj-muted, #71717a);
    background: #fff;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 999px;
    padding: 0.15rem 0.5rem;
    min-width: 1.5rem;
    text-align: center;
}

.kanban-col__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0.5rem;
    min-height: 120px;
}

.kanban-col__body--over {
    outline: 2px dashed var(--pj-primary, #1a2b56);
    outline-offset: 2px;
    background: rgba(26, 43, 86, 0.04);
}

.kanban-card {
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    cursor: grab;
}

.kanban-card:active {
    cursor: grabbing;
}

.kanban-card--dragging {
    opacity: 0.65;
}

.kanban-card__code {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--pj-primary, #1a2b56);
    margin-bottom: 0.25rem;
}

.kanban-card__cliente {
    font-size: 0.82rem;
    color: var(--pj-ink, #18181b);
    line-height: 1.35;
    word-break: break-word;
}

.kanban-card__desc {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--pj-muted, #52525b);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kanban-card__valor {
    margin-top: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--pj-ink, #18181b);
}

.kanban-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.kanban-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
}

.kanban-modal[hidden] {
    display: none !important;
}

.kanban-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.kanban-modal__panel {
    position: relative;
    width: min(100%, 440px);
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    z-index: 1;
}

.kanban-modal__title {
    margin: 0 0 0.35rem;
    font-size: 1.1rem;
}

.kanban-modal__sub {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: var(--pj-muted, #52525b);
}

.kanban-modal__label {
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 0.35rem;
}

.kanban-modal__textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    box-sizing: border-box;
}

.kanban-modal__err {
    color: #b91c1c;
    font-size: 0.85rem;
    margin: 0.5rem 0 0;
}

.kanban-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.orcamento-hist-detail--anot .orcamento-hist-anot-kanban {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.92rem;
    line-height: 1.45;
}

/* â€”â€”â€” Agenda â€”â€”â€” */
/* CabeÃ§alho: permite quebra (o .cliente-app forÃ§a nowrap no admin-page-head â€” aqui liberamos) */
.agenda-page .admin-page-head {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem 1rem;
}

.agenda-page .admin-page-head > div:first-child {
    flex: 1 1 260px;
    min-width: 0;
}

.agenda-page .admin-page-head__actions.agenda-page__toolbar {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    justify-content: flex-end;
    align-items: flex-start;
}

@media (max-width: 720px) {
    .agenda-page .admin-page-head__actions.agenda-page__toolbar {
        flex-basis: 100%;
        justify-content: flex-start;
    }
}

.agenda-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
    row-gap: 0.5rem;
}

.agenda-page__toolbar .agenda-inline-form {
    display: inline-flex;
    margin: 0;
}

.agenda-filtro {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 11.5rem;
    margin-right: 0.25rem;
}
.agenda-filtro__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #516070;
}
.agenda-filtro .admin-input {
    min-height: 2.35rem;
}
.agenda-participantes__legend {
    display: block;
    font-weight: 600;
    margin-bottom: 0.4rem;
}
.agenda-participantes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
    gap: 0.35rem 0.75rem;
    max-height: 11rem;
    overflow: auto;
    padding: 0.5rem 0.65rem;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    background: #fafafa;
}
.agenda-participantes__item {
    margin: 0;
}

.agenda-google-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid #e4e4e7;
    background: #fff;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.agenda-google-btn:hover,
.agenda-google-btn:focus-visible {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.18);
    outline: none;
    background: #fafafa;
}

.agenda-google-btn.is-connected {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.agenda-google-btn.is-connected:hover,
.agenda-google-btn.is-connected:focus-visible {
    border-color: #86efac;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.agenda-google-btn.is-static {
    cursor: default;
}

.agenda-google-btn__icon {
    display: block;
    flex-shrink: 0;
}

.agenda-google-btn__dot {
    position: absolute;
    right: 0.28rem;
    bottom: 0.28rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #22c55e;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.35);
}

.agenda-google-badge {
    font-size: 0.8rem;
    font-weight: 600;
    color: #15803d;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
    max-width: 100%;
    line-height: 1.3;
    word-break: break-word;
}

.agenda-google-hint {
    display: block;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--pj-muted, #71717a);
    flex: 1 1 100%;
    min-width: 0;
    margin: 0;
    padding-top: 0.15rem;
}

/* Quando hÃ¡ botÃ£o + texto na mesma linha, o hint ocupa a linha seguinte visualmente */
.agenda-page__toolbar > .agenda-google-hint {
    flex-basis: 100%;
    order: 10;
}

.agenda-inline-form {
    display: inline-flex;
    margin: 0;
    align-items: center;
}

.agenda-calendar {
    margin-top: 1rem;
    min-height: 520px;
}

/* Modal compromisso â€” admin-form-card + admin-form-grid (igual ConfiguraÃ§Ãµes / Kanban) */
.agenda-modal__panel--form {
    width: min(100%, min(720px, calc(100vw - 2rem)));
    max-height: min(90vh, 820px);
    overflow-y: auto;
    box-sizing: border-box;
}

.agenda-modal__form-card.admin-form-card {
    margin: 0.5rem 0 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.agenda-modal__form-card .admin-form {
    margin: 0;
}

.agenda-modal__form-card .admin-form-grid > .admin-field {
    margin-bottom: 0;
}

.agenda-modal__form-grid .kanban-agenda-interna__group {
    display: contents;
}

.agenda-modal__form-grid .kanban-agenda-interna__group[hidden] {
    display: none;
}

.agenda-modal__alert {
    margin: 0 1.25rem 0.35rem;
    font-size: 0.88rem;
}

.agenda-modal:not([hidden]) .kanban-modal__backdrop {
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(6px);
    animation: agendaModalFade 0.2s ease;
}

.agenda-modal__panel--form.agenda-modal__panel--modern {
    display: flex;
    flex-direction: column;
    width: min(100%, 44rem);
    max-height: min(92vh, 880px);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 28px 64px rgba(15, 23, 42, 0.22);
    animation: agendaModalPanel 0.22s ease;
}

.agenda-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem 0.85rem;
    border-bottom: 1px solid #eef2f6;
}

.agenda-modal__head-text {
    min-width: 0;
}

.agenda-modal__panel--modern .kanban-modal__title {
    margin: 0;
    font-size: 1.2rem;
    letter-spacing: -0.02em;
    color: var(--pj-navy, #1a2b56);
}

.agenda-modal__lead {
    margin: 0.28rem 0 0;
    font-size: 0.86rem;
    color: #64748b;
    line-height: 1.4;
}

.agenda-modal__close {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border: 0;
    border-radius: 999px;
    background: #f4f6f9;
    color: #516070;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.agenda-modal__close:hover,
.agenda-modal__close:focus-visible {
    background: #e8eef8;
    color: #102235;
    outline: none;
}

.agenda-modal__body {
    flex: 1 1 auto;
    overflow: auto;
    padding: 0.85rem 1.25rem 1.1rem;
}

.agenda-modal__sec + .agenda-modal__sec {
    margin-top: 1.05rem;
    padding-top: 0.95rem;
    border-top: 1px solid #eef2f6;
}

.agenda-modal__sec-title {
    margin: 0 0 0.65rem;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.agenda-modal__panel--modern .agenda-modal__form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 0.9rem;
}

.agenda-modal__panel--modern .agenda-modal__form-grid > .admin-field--full {
    grid-column: 1 / -1;
}

.agenda-modal__panel--modern .admin-field input,
.agenda-modal__panel--modern .admin-field select,
.agenda-modal__panel--modern .admin-field textarea {
    min-height: 2.5rem;
    border-radius: 10px;
}

.agenda-modal__panel--modern .agenda-modal__foot {
    margin: 0;
    padding: 0.85rem 1.25rem 1.05rem;
    border-top: 1px solid #eef2f6;
    background: #fbfcfe;
}

.agenda-ac {
    position: relative;
}

.agenda-ac__wrap {
    position: relative;
}

.agenda-ac__wrap input[type="search"] {
    width: 100%;
    padding-right: 2.4rem;
}

.agenda-ac__clear {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    border: 0;
    border-radius: 999px;
    background: #e8eef8;
    color: #516070;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.agenda-ac__lista {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 0.15rem);
    z-index: 30;
    max-height: 240px;
    overflow: auto;
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
    padding: 0.3rem;
}

.agenda-ac__item {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 0.55rem 0.7rem;
    font-size: 0.9rem;
    color: #102235;
    cursor: pointer;
}

.agenda-ac__item:hover,
.agenda-ac__item.is-active {
    background: #eef4ff;
}

.agenda-ac__item mark {
    background: #dbeafe;
    color: inherit;
    border-radius: 3px;
    padding: 0 0.05em;
}

.agenda-ac__empty {
    padding: 0.7rem 0.75rem;
    font-size: 0.86rem;
    color: #64748b;
}

.agenda-modal__panel--modern .agenda-participantes {
    border-radius: 12px;
    background: #f8fafc;
    border-color: #e8eef4;
}

@keyframes agendaModalFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes agendaModalPanel {
    from { opacity: 0; transform: translateY(10px) scale(0.98); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
    .agenda-modal__panel--modern .agenda-modal__form-grid {
        grid-template-columns: 1fr;
    }
}

/* BotÃ£o Agendar Compromisso no cartÃ£o: aÃ§Ã£o + status do orÃ§amento Â· cliente */
.kanban-btn-agenda {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    text-align: left;
    gap: 0.15rem;
    min-height: auto;
    padding: 0.4rem 0.55rem;
    line-height: 1.25;
    max-width: 100%;
}

.kanban-btn-agenda__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-width: 0;
    width: 100%;
}

.kanban-btn-agenda__action {
    font-weight: 600;
    font-size: 0.8rem;
}

.kanban-btn-agenda__meta {
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--pj-muted, #52525b);
    white-space: normal;
    word-break: break-word;
    max-width: 100%;
}

/* Modal Agenda interna: painel + formulÃ¡rio no padrÃ£o admin-form-card */
.kanban-modal__panel--agenda-interna {
    width: min(100%, min(640px, calc(100vw - 2rem)));
    max-height: min(90vh, 680px);
    overflow-y: auto;
    box-sizing: border-box;
}

.kanban-agenda-interna__form-card.admin-form-card {
    margin: 0.5rem 0 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.kanban-agenda-interna__form-card .admin-form {
    margin: 0;
}

.kanban-agenda-interna__form-card .admin-form-grid > .admin-field {
    margin-bottom: 0;
}

.kanban-agenda-interna__grid {
    margin-top: 0;
}

.kanban-agenda-interna__group {
    display: contents;
}

.kanban-agenda-interna__group[hidden] {
    display: none;
}

.kanban-modal__foot--agenda-interna {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.kanban-modal__foot--agenda-interna .kanban-modal__foot-actions {
    margin-left: auto;
}

.kanban-modal__foot-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

/* Log de envios â€” filtros na mesma linha (padrÃ£o Contas a receber / Contratos) */
.ajuda-envios-filters.admin-form-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.75rem 0.85rem;
    align-items: end;
}

.ajuda-envios-filters .admin-field {
    margin: 0;
    min-width: 0;
}

.ajuda-envios-filters .admin-field--actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    min-width: max-content;
    white-space: nowrap;
}

.ajuda-envios-filters .admin-field--actions .admin-btn {
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .ajuda-envios-filters .admin-field--actions {
        grid-column: 1 / -1;
    }
}

.ajuda-envio-status-btn {
    border: 0;
    cursor: pointer;
    font: inherit;
}
.ajuda-envio-status-btn:hover,
.ajuda-envio-status-btn:focus-visible {
    text-decoration: underline;
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
.ajuda-envio-erro-box {
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0 0 0.75rem;
}

/* â€”â€”â€” Ajuda (hub + subpÃ¡ginas + documentaÃ§Ã£o) â€”â€”â€” */
.ajuda-hub-page .ajuda-hub {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    margin-top: 0.5rem;
}

.ajuda-hub-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 12px;
    background: var(--pj-white, #fff);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.ajuda-hub-card:hover {
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 6px 24px rgba(26, 43, 86, 0.1);
    background: var(--pj-bg, #f4f5f7);
}

.ajuda-hub-card__icon {
    color: var(--pj-navy, #1a2b56);
}

.ajuda-hub-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.ajuda-hub-card__text {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--pj-muted, #52525b);
    flex: 1;
}

.ajuda-hub-card__cta {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.ajuda-subpage .ajuda-breadcrumb {
    font-size: 0.88rem;
    color: var(--pj-muted, #52525b);
    margin-bottom: 0.75rem;
}

.ajuda-subpage .ajuda-breadcrumb a {
    color: var(--pj-navy, #1a2b56);
    text-decoration: none;
}

.ajuda-subpage .ajuda-breadcrumb a:hover {
    text-decoration: underline;
}

.ajuda-subpage .ajuda-breadcrumb span[aria-hidden="true"] {
    margin: 0 0.35rem;
    opacity: 0.55;
}

.ajuda-doc__toc {
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.ajuda-doc__toc-title {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.ajuda-doc__toc-list {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.88rem;
    line-height: 1.7;
}

.ajuda-doc__toc-list a {
    color: var(--pj-navy, #1a2b56);
}

.ajuda-doc__body {
    padding: 1.25rem 1.5rem;
}

.ajuda-doc__section {
    margin-bottom: 1.75rem;
    scroll-margin-top: 1rem;
}

.ajuda-doc__section:last-child {
    margin-bottom: 0;
}

.ajuda-doc__section h2 {
    margin: 0 0 0.65rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    padding-bottom: 0.35rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
}

.ajuda-doc__section h3 {
    margin: 1.15rem 0 0.45rem;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.ajuda-doc__section h4 {
    margin: 0.85rem 0 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: #24364a;
}

.ajuda-doc__meta {
    display: grid;
    gap: 0.25rem;
    margin: 0.5rem 0 0.75rem;
    padding: 0.65rem 0.75rem;
    background: #f8fbfd;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    font-size: 0.86rem;
    line-height: 1.45;
    color: #516070;
}

.ajuda-doc__meta strong {
    color: var(--pj-navy, #1a2b56);
}

.ajuda-doc__section p,
.ajuda-doc__section li {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--pj-navy, #1a2b56);
}

.ajuda-doc__section ul {
    margin: 0.35rem 0 0;
    padding-left: 1.25rem;
}

.ajuda-fin-hint {
    margin: 0.75rem 0 0;
    max-width: 52rem;
}

.ajuda-fin-table {
    font-size: 0.88rem;
}

.ajuda-fin-filters__label {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--pj-muted, #52525b);
}

.ajuda-fin-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ajuda-fin-filter {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: var(--pj-white, #fff);
    color: var(--pj-navy, #1a2b56);
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.ajuda-fin-filter:hover {
    border-color: var(--pj-navy, #1a2b56);
    background: var(--pj-bg, #f4f5f7);
}

.ajuda-fin-filter--active {
    background: rgba(26, 43, 86, 0.1);
    border-color: var(--pj-navy, #1a2b56);
    font-weight: 600;
}

.ajuda-fin-badge {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
}

.ajuda-fin-badge--ok {
    background: rgba(22, 163, 74, 0.15);
    color: #15803d;
}

.ajuda-fin-badge--pend {
    background: rgba(234, 179, 8, 0.2);
    color: #a16207;
}

/* OrÃ§amento â€” ediÃ§Ã£o de parcelas (implantaÃ§Ã£o / viagem) */
.orcamento-parc-edit-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    margin-top: 0.35rem;
}
.orcamento-parc-edit-table th,
.orcamento-parc-edit-table td {
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    text-align: left;
    vertical-align: middle;
}
.orcamento-parc-edit-table th {
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
    font-size: 0.8rem;
}
.orcamento-parc-edit-table input[type="date"],
.orcamento-parc-edit-table input[type="text"] {
    width: 100%;
    max-width: 11rem;
    box-sizing: border-box;
    padding: 0.35rem 0.45rem;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    font-size: 0.88rem;
}
.orcamento-parc-edit-table .orcamento-parc-sum {
    margin-top: 0.35rem;
    font-size: 0.82rem;
    color: #64748b;
}
.orcamento-parc-edit-table .orcamento-parc-sum--warn {
    color: #b45309;
    font-weight: 600;
}

/* Pesquisa Casa dos Dados â€” alinhado a admin-form-card / cliente-form */
.casa-dados-pesquisa-form .pjcrm-ac {
    position: relative;
}
.casa-dados-pesquisa-form .pjcrm-ac__list {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 30;
    max-height: 220px;
    overflow: auto;
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.casa-dados-pesquisa-form .pjcrm-ac__list li {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.88rem;
    line-height: 1.35;
}
.casa-dados-pesquisa-form .pjcrm-ac__list li:hover,
.casa-dados-pesquisa-form .pjcrm-ac__list li[aria-selected="true"] {
    background: var(--pj-bg, #f4f5f7);
}
.casa-dados-pesquisa-form .pjcrm-ac__hint {
    font-size: 0.82rem;
    color: var(--pj-muted, #52525b);
    margin: 0.35rem 0 0;
    line-height: 1.4;
}
.casa-dados-pesquisa-form__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.25rem;
    align-items: flex-start;
    margin-top: 0.35rem;
}
.casa-dados-pesquisa-form__checks .empresa-flag-label {
    margin: 0;
}
.casa-dados-pesquisa-resultados {
    margin-top: 1rem;
}
.casa-dados-pesquisa-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-top: 0.75rem;
}
.casa-dados-limpar-form {
    display: inline;
    margin: 0;
}

/* Indicadores Casa dos Dados (saldo v5 + contagens v5) */
.casa-dados-indicadores {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: var(--pj-bg, #f8fafc);
}
.casa-dados-indicadores__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem 1rem;
    align-items: stretch;
}
.casa-dados-indicadores__card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
}
.casa-dados-indicadores__card--status {
    min-width: 0;
}
.casa-dados-indicadores__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #64748b);
    font-weight: 600;
}
.casa-dados-indicadores__value {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--pj-text, #0f172a);
    line-height: 1.2;
}
.casa-dados-indicadores__hint {
    font-size: 0.75rem;
    color: var(--pj-muted, #64748b);
    line-height: 1.35;
}
.casa-dados-indicadores__badge {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    width: fit-content;
}
.casa-dados-indicadores__badge--ok {
    background: #dcfce7;
    color: #166534;
}
.casa-dados-indicadores__badge--err {
    background: #fee2e2;
    color: #991b1b;
}
.casa-dados-indicadores__actions {
    margin-top: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
}
.casa-dados-indicadores__form {
    margin: 0;
}
.casa-dados-indicadores__note {
    margin: 0;
    font-size: 0.78rem;
    color: var(--pj-muted, #64748b);
    max-width: 42rem;
    line-height: 1.4;
}

/* Pesquisa Casa dos Dados â€” pÃ¡gina alinhada aos cards do tenant */
.casa-dados-page .casa-dados-page__section {
    margin-top: 1.25rem;
}
.casa-dados-page .casa-dados-page__section:first-of-type {
    margin-top: 0;
}
.casa-dados-page__alert {
    margin-bottom: 0;
}
.casa-dados-page .admin-card.casa-dados-page__section .cliente-dash__card-title {
    margin-top: 0;
}
.casa-dados-page__card-lead {
    margin-top: 0.35rem;
    margin-bottom: 0.65rem;
    max-width: 48rem;
}

/* Central de cobrancas */
.central-cobranca-page .central-cobranca-page__section {
    margin-top: 1.2rem;
}
.central-cobranca-page .central-cobranca-page__section:first-of-type {
    margin-top: 0;
}
.central-cobranca-page__hint {
    margin: 0.25rem 0 0.75rem;
}
.central-cobranca-flags-grid {
    margin-top: 0.5rem;
}
.central-cobranca-dias-grid {
    margin-top: 0.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
}

.cc-detalhes-dialog.cliente-modal-dialog {
    width: min(96vw, 64rem);
    max-width: min(96vw, 64rem);
    max-height: min(92dvh, 52rem);
    margin: auto;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.cc-detalhes-dialog.cliente-modal-dialog[open] {
    display: block;
}

.cc-detalhes-dialog .cliente-modal-dialog__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-height: min(90dvh, 50rem);
    box-sizing: border-box;
}

.cc-detalhes-dialog .cliente-modal-dialog__lead {
    margin-bottom: 0.75rem;
}

.cc-detalhes-resumo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 1rem;
    margin: 0 0 0.85rem;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    background: var(--surface-secondary, #f8fafc);
    border: 1px solid var(--pj-border, #e5e7eb);
    font-size: 0.86rem;
    color: var(--pj-muted, #475569);
}

.cc-detalhes-resumo strong {
    color: var(--pj-navy, #1a2b56);
}

.cc-detalhes-scroll {
    flex: 1 1 auto;
    min-height: 7rem;
    max-height: min(62dvh, 36rem);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.1rem 0.2rem 0.15rem 0;
    -webkit-overflow-scrolling: touch;
}

.cc-detalhes-empty {
    margin: 0;
    padding: 1.4rem 0.75rem;
    text-align: center;
    color: var(--pj-muted, #64748b);
}

.cc-detalhes-card {
    border: 1px solid var(--pj-border, #e5e7eb);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    background: var(--pj-white, #fff);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cc-detalhes-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 0.75rem;
}

.cc-detalhes-card__desc {
    font-weight: 650;
    color: var(--pj-navy, #1a2b56);
    line-height: 1.35;
    min-width: 0;
    word-break: break-word;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}

.cc-detalhes-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.cc-detalhes-card__valor {
    flex: 0 0 auto;
    font-weight: 700;
    white-space: nowrap;
    color: var(--pj-navy, #1a2b56);
    font-size: 1.02rem;
}

.cc-detalhes-card__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
    gap: 0.55rem 0.9rem;
}

.cc-detalhes-field__label {
    display: block;
    font-size: 0.7rem;
    font-weight: 650;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
    margin-bottom: 0.18rem;
}

.cc-detalhes-field__value {
    font-size: 0.95rem;
    color: #0f172a;
    word-break: break-word;
}

.cc-detalhes-date {
    font-weight: 700;
    color: var(--danger, #dc2626);
}

@media (max-width: 720px) {
    .cc-detalhes-dialog.cliente-modal-dialog {
        width: calc(100vw - 1rem);
        max-width: calc(100vw - 1rem);
        max-height: min(94dvh, 52rem);
    }

    .cc-detalhes-card__head {
        flex-direction: column;
        gap: 0.35rem;
    }
}
.casa-dados-page__info-trigger-wrap {
    margin: 0 0 1rem;
}
.casa-dados-info-dialog__body {
    font-size: 0.9rem;
    color: var(--pj-muted, #475569);
    line-height: 1.5;
    max-width: 36rem;
}
.casa-dados-info-dialog__body p {
    margin: 0 0 0.85rem;
}
.casa-dados-info-dialog__body p:last-child {
    margin-bottom: 0;
}
.casa-dados-info-dialog__body code {
    font-size: 0.82rem;
}
.casa-dados-page .casa-dados-indicadores {
    margin-top: 0.75rem;
    background: var(--pj-white, #fff);
}
.casa-dados-page__foot-hint {
    margin-top: 0.75rem;
}
.casa-dados-resultados__note {
    margin: 0 0 0.85rem;
    max-width: 48rem;
    line-height: 1.45;
}

.cnae-multi-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.cnae-chip-list {
    min-height: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.5rem;
    align-items: flex-start;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    border: 1px dashed var(--pj-border, #e4e4e7);
    background: var(--pj-bg, #f8fafc);
}
.cnae-chip-list__empty {
    margin: 0;
    font-size: 0.86rem;
    color: var(--pj-muted, #64748b);
    line-height: 1.4;
}
.cnae-chip-list__fields {
    margin: 0;
    padding: 0;
    border: 0;
}
.cnae-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.35rem 0.5rem 0.35rem 0.65rem;
    border-radius: 8px;
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    font-size: 0.82rem;
    line-height: 1.35;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.cnae-chip__text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(100%, 28rem);
}
.cnae-chip__remove {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--pj-muted, #64748b);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}
.cnae-chip__remove:hover {
    background: #fee2e2;
    color: #991b1b;
}
.cnae-multi-add__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}
.cnae-multi-add__input {
    flex: 1 1 12rem;
    min-width: 0;
}
.cnae-multi-add__btn {
    flex-shrink: 0;
}
@media (max-width: 520px) {
    .cnae-multi-add__row {
        flex-direction: column;
    }
    .cnae-multi-add__btn {
        width: 100%;
    }
}

/* Clientes â€” lista + modal DossiÃª (IA) */
.cliente-lista-toolbar {
    padding: 0.65rem 1rem 0.85rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    margin: 0;
}

/* SÃ³ aplica margem negativa quando o card tem padding (nÃ£o em admin-card--table) */
.admin-card:not(.admin-card--table) > .cliente-lista-toolbar {
    margin: -0.5rem -1rem 0.75rem;
}
.cliente-lista-toolbar__head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.cliente-lista-toolbar__label {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #52525b);
}
.cliente-lista-toolbar__hint {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.4;
}
.cliente-lista-info {
    position: relative;
}
.cliente-lista-info__btn {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    border: 1px solid rgba(0, 22, 92, 0.18);
    border-radius: 999px;
    background: #fff;
    color: var(--pj-brand, #00165c);
    cursor: pointer;
    line-height: 0;
}
.cliente-lista-info__btn::-webkit-details-marker {
    display: none;
}
.cliente-lista-info__btn::marker {
    content: '';
}
.cliente-lista-info__btn:hover,
.cliente-lista-info[open] > .cliente-lista-info__btn {
    background: rgba(0, 22, 92, 0.06);
    border-color: rgba(0, 22, 92, 0.35);
}
.cliente-lista-info__panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.4rem);
    left: 0;
    width: min(22rem, calc(100vw - 2.5rem));
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--pj-muted, #3f3f46);
}
.cliente-lista-info__panel p {
    margin: 0;
}
.cliente-lista-info__panel a {
    color: var(--pj-brand, #00165c);
    font-weight: 600;
}
.cliente-modal-dialog--dossie .cliente-dossie-body {
    margin-top: 0.5rem;
}
.cliente-dossie-top {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    align-items: start;
}
@media (min-width: 640px) {
    .cliente-dossie-top {
        grid-template-columns: 8.5rem 1fr;
    }
}
.cliente-dossie-photo-wrap {
    display: flex;
    justify-content: center;
}
.cliente-dossie-photo {
    width: 7.5rem;
    height: 7.5rem;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: var(--pj-surface, #f8fafc);
}
.cliente-dossie-photo--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    color: var(--pj-muted, #64748b);
    text-align: center;
    padding: 0.5rem;
    box-sizing: border-box;
}
.cliente-dossie-fields {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr));
}
.cliente-dossie-fields .admin-field {
    margin: 0;
}
.cliente-dossie-fields input {
    width: 100%;
    box-sizing: border-box;
}
.cliente-dossie-relatorio {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.88rem;
    line-height: 1.45;
    resize: vertical;
    min-height: 10rem;
}
.cliente-dossie-meta {
    margin: 0.5rem 0 0;
    opacity: 0.9;
}
.cliente-dossie-actions {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.cliente-dossie-subtitle {
    font-size: 1rem;
    margin: 1rem 0 0;
    font-weight: 600;
}
.cliente-dossie-diagnosticos-wrap {
    margin-top: 1rem;
}
.cliente-dossie-diagnosticos-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.cliente-dossie-diag-ord {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    padding: 0.65rem 0.75rem;
    background: rgba(0, 0, 0, 0.02);
}
.cliente-dossie-diag-ord__head {
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.cliente-dossie-diag-ord__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cliente-dossie-diag-ord__link:hover {
    opacity: 0.9;
}
.cliente-dossie-diag-ord__status {
    font-weight: 400;
    opacity: 0.85;
}
.cliente-dossie-diag-ord__body {
    font-size: 0.88rem;
    line-height: 1.45;
    max-height: 22rem;
    overflow: auto;
}

.cliente-dossie-diag-ord__body .orcamento-dossie-ia__sec.admin-fieldset {
    padding: 0.6rem 0.7rem 0.7rem;
}

/* Dashboard CS (indicadores / classificaÃ§Ã£o IA) â€” largura total do conteÃºdo */
.cliente-app__main-inner.cs-dashboard-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.cs-dashboard-page .admin-page-head {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.cs-dashboard-page .cs-dashboard-filters {
    margin-top: 1rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.cs-dashboard-page .cs-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    gap: 0.75rem;
    margin-top: 1rem;
    margin-bottom: 1.25rem;
    box-sizing: border-box;
}

.cs-dashboard-page .cs-dashboard-stats > .admin-stat,
.cs-dashboard-page .cs-dashboard-stats > .cs-dashboard-stat-btn {
    min-width: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.cs-dashboard-stat-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    cursor: pointer;
    border: 1px solid var(--pj-border, #e5e7eb);
    background: var(--pj-surface, #fff);
    text-align: left;
    font: inherit;
    border-radius: 8px;
    padding: 0.85rem 1rem;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.cs-dashboard-stat-btn:hover {
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    border-color: var(--pj-navy, #1a2b56);
}

.cs-dashboard-stat-btn--risk .admin-stat__value {
    color: #b91c1c;
}

@media (max-width: 1200px) {
    .cs-dashboard-page .cs-dashboard-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .cs-dashboard-page .cs-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 400px) {
    .cs-dashboard-page .cs-dashboard-stats {
        grid-template-columns: 1fr;
    }
}

.cs-dashboard-charts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.25rem;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.cs-dashboard-charts > .admin-card {
    width: 100%;
    min-width: 0;
    max-width: none;
}

@media (max-width: 960px) {
    .cs-dashboard-charts {
        grid-template-columns: minmax(0, 1fr);
    }
}

.cs-dashboard-page .cs-dashboard-charts .cliente-dash__chart-wrap {
    min-height: 280px;
}

/* Modal lista de clientes (Dashboard CS) â€” no fluxo: anexar ao body via JS; aqui reforÃ§amos overlay */
dialog.cs-dashboard-clientes-dialog.cliente-modal-dialog:not([open]) {
    display: none !important;
}

/* Modal lista de clientes (Dashboard CS) â€” largura/altura responsivas */
.cs-dashboard-clientes-dialog.cliente-modal-dialog {
    width: min(96vw, 72rem);
    max-width: min(96vw, 72rem);
    max-height: min(92dvh, 56rem);
    margin: auto;
    padding: 0;
    box-sizing: border-box;
    border: none;
    background: var(--pj-white, #fff);
}

.cs-dashboard-clientes-dialog.cliente-modal-dialog[open] {
    /* NÃ£o usar display:flex no prÃ³prio dialog: evita conflito com o posicionamento do top layer em alguns navegadores */
    display: block;
    overflow: hidden;
}

.cs-dashboard-clientes-dialog .cliente-modal-dialog__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-height: min(90dvh, 54rem);
    padding: 1.15rem 1.25rem 1.2rem;
    box-sizing: border-box;
}

.cs-dashboard-dlg-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: 0 0 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--pj-border, #e5e7eb);
}

.cs-dashboard-dlg-table-wrap {
    flex: 1 1 auto;
    min-height: 8rem;
    max-height: min(58dvh, 32rem);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.cs-dashboard-dlg-th-acoes {
    text-align: right;
    white-space: nowrap;
}

.cs-dashboard-dlg-act-cell {
    vertical-align: top;
}

.cs-dashboard-dlg-act-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    justify-content: flex-end;
}

@media (max-width: 720px) {
    .cs-dashboard-dlg-th-acoes {
        text-align: left;
    }

    .cs-dashboard-dlg-act-btns {
        justify-content: flex-start;
    }
}
.proposta-ficha-doc .proposta-publica-resumo {
    margin-top: 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.proposta-ficha-doc__resumo-item {
    min-height: 118px;
    justify-content: space-between;
    padding: 1.1rem 1.15rem;
    border-radius: 18px;
    border-color: rgba(26, 43, 86, 0.12);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.proposta-ficha-doc__resumo-item .proposta-publica-resumo__label {
    font-size: 0.76rem;
    letter-spacing: 0.05em;
}

.proposta-ficha-doc__resumo-item .proposta-publica-resumo__value {
    font-size: clamp(1.18rem, 2vw, 1.55rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.proposta-ficha-doc__resumo-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.35rem;
    padding: 1rem 1.15rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #1a2b56 0%, #223b7a 100%);
    box-shadow: 0 16px 36px rgba(26, 43, 86, 0.18);
}

.proposta-ficha-doc__resumo-total-label {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.proposta-ficha-doc__resumo-total-value {
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    text-align: right;
    overflow-wrap: anywhere;
}

@media (max-width: 700px) {
    .proposta-ficha-doc .proposta-publica-resumo {
        grid-template-columns: 1fr;
    }

    .proposta-ficha-doc__resumo-item {
        min-height: 0;
    }

    .proposta-ficha-doc__resumo-total {
        flex-direction: column;
        align-items: flex-start;
    }

    .proposta-ficha-doc__resumo-total-value {
        text-align: left;
    }
}

/* Leads IMOB (lista tenant @BASE / leads.php) */
.pjcrm-imob-leads-page__intro ul.pjcrm-imob-leads-page__steps {
    margin: 0.35rem 0 0;
    padding-left: 1.15rem;
    line-height: 1.55;
    font-size: 0.9rem;
}

.pjcrm-imob-leads-page__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pjcrm-imob-leads-page__tbl {
    font-size: 0.875rem;
    min-width: 720px;
}

.pjcrm-imob-leads-page__tbl td.nowrap {
    white-space: nowrap;
    vertical-align: top;
}

.pjcrm-imob-leads-page__tbl td .pjcrm-muted {
    font-size: 0.82rem;
    color: var(--pj-muted, #64748b);
}

.pjcrm-imob-leads-page__dist {
    min-width: 10rem;
    max-width: 14rem;
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
}

.pjcrm-imob-leads-page__msg {
    margin-top: 0.45rem;
    font-size: 0.82rem;
}

.pjcrm-imob-leads-page__msg summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--pj-navy, #1a2b56);
}

.pjcrm-imob-leads-page__msg p {
    margin: 0.35rem 0 0;
    color: var(--pj-text, #334155);
    line-height: 1.45;
}

/* Base de conhecimento â€” editor rich text */
.kb-rich-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
    align-items: center;
}

.kb-rich-toolbar .admin-btn {
    min-width: 2.4rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.86rem;
}

.kb-rich-toolbar__select select,
.kb-rich-toolbar__color input[type="color"] {
    height: 2.15rem;
    border: 1px solid var(--pj-border, #d4d4d8);
    border-radius: 8px;
    background: #fff;
}

.kb-rich-toolbar__color input[type="color"] {
    width: 2.4rem;
    padding: 0.15rem;
    cursor: pointer;
}

.kb-rich-editor {
    width: 100%;
    min-height: 18rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--pj-border, #d4d4d8);
    border-radius: 10px;
    background: #fff;
    color: var(--pj-text, #1a1a1e);
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.55;
    overflow: auto;
    box-sizing: border-box;
}

.kb-rich-editor--tall {
    min-height: min(70vh, 36rem);
}

.kb-rich-editor:focus {
    outline: none;
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 0 0 3px rgba(26, 43, 86, 0.12);
}

.kb-rich-editor:empty:before {
    content: attr(data-placeholder);
    color: #7b8794;
}

.kb-rich-editor img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0.65rem 0;
    border-radius: 8px;
    border: 1px solid #d4d4d8;
}

.kb-rich-editor .kb-video-embed {
    position: relative;
    width: 100%;
    max-width: 40rem;
    aspect-ratio: 16 / 9;
    margin: 0.85rem 0;
}

.kb-rich-editor .kb-video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 10px;
}

.admin-field-hint.is-error {
    color: #a1262d;
}

.portal-trein-fab-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.75rem;
}

.portal-trein-card__thumb {
    width: 100%;
    height: 120px;
    border-radius: 8px;
    background: #e2e8f0 center/cover no-repeat;
    margin-bottom: 0.65rem;
}

.kb-catalogo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1rem;
}

.kb-catalogo-card {
    display: block;
    padding: 1rem 1.1rem;
    border: 1px solid var(--pj-border, #d4d4d8);
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.kb-catalogo-card:hover {
    border-color: var(--pj-navy, #1a2b56);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.kb-catalogo-card__title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pj-navy, #1a2b56);
}

.kb-catalogo-card__meta,
.kb-catalogo-card__resumo {
    margin: 0;
    font-size: 0.88rem;
    color: var(--pj-muted, #64748b);
    line-height: 1.45;
}

.kb-artigo-view {
    max-width: 52rem;
}

.kb-artigo-view__body {
    line-height: 1.6;
}

.kb-artigo-view__body img {
    max-width: 100%;
    height: auto;
}

.kb-artigo-view__body .kb-video-embed {
    position: relative;
    width: 100%;
    max-width: 40rem;
    aspect-ratio: 16 / 9;
    margin: 1rem 0;
}

.kb-artigo-view__body .kb-video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 10px;
}

.admin-btn[hidden],
.admin-modal__footer .admin-btn[hidden] {
    display: none !important;
}

.cup-sync-progress {
    margin: 0.25rem 0 0;
}

.cup-sync-progress__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.cup-sync-progress__track {
    height: 0.75rem;
    background: #e8edf3;
    border-radius: 999px;
    overflow: hidden;
}

.cup-sync-progress__fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #1a2b56, #2f4f8f);
    border-radius: 999px;
    transition: width 0.25s ease;
}

.cup-sync-progress.is-done .cup-sync-progress__fill {
    background: linear-gradient(90deg, #15803d, #16a34a);
}

.cup-sync-progress.is-error .cup-sync-progress__fill {
    background: linear-gradient(90deg, #b45309, #d97706);
}

.cup-sync-progress__erros-title {
    margin: 0.85rem 0 0.25rem;
    font-size: 0.82rem;
    font-weight: 650;
    color: #9a3412;
}

.cup-sync-progress__erros {
    margin: 0.25rem 0 0;
    padding-left: 1.1rem;
    max-height: 8rem;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.rel-venc-hint {
    margin: 0.25rem 0 0;
    font-size: 0.78rem;
    color: var(--pj-muted, #64748b);
    max-width: 18rem;
    white-space: normal;
}

.rel-venc-acoes {
    white-space: normal;
}

.rel-venc-acoes .admin-btn {
    margin: 0.12rem 0.12rem 0.12rem 0;
}

.rel-venc-dl {
    display: grid;
    gap: 0.35rem 0;
    margin: 0;
}

.rel-venc-dl__row {
    display: grid;
    grid-template-columns: minmax(8rem, 11rem) 1fr;
    gap: 0.35rem 1rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
}

.rel-venc-dl__row dt {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 650;
    color: var(--pj-muted, #64748b);
}

.rel-venc-dl__row dd {
    margin: 0;
    font-size: 0.9rem;
    color: inherit;
    word-break: break-word;
}

.rel-venc-page .admin-stat {
    text-decoration: none;
    color: inherit;
}

.rel-venc-page .admin-stat.is-active {
    outline: 2px solid var(--pj-primary, #2563eb);
    outline-offset: 1px;
}

.rel-prod-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    margin: 0;
    padding: 0.2rem 0.45rem;
    border: 0;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--pj-primary, #2563eb);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.rel-prod-count:hover,
.rel-prod-count:focus-visible {
    background: rgba(37, 99, 235, 0.16);
    outline: none;
}

.rel-prod-count--aberto {
    background: rgba(185, 28, 28, 0.1);
    color: #b91c1c;
}

.rel-prod-count--ok {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.rel-prod-count--muted {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.rel-prod-count:disabled,
.rel-prod-count[disabled] {
    opacity: 0.45;
    cursor: default;
    pointer-events: none;
}

/* GestÃ£o de Cancelamentos */
.canc-board {
    align-items: stretch;
}

.canc-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

a.canc-card:hover {
    border-color: var(--pj-primary, #1a2b56);
}

.canc-card__head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0 0 0.25rem;
    font-size: 0.8rem;
}

.canc-card__cliente {
    margin: 0;
    font-weight: 700;
    color: var(--pj-ink, #18181b);
}

.canc-card__desc {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--pj-muted, #71717a);
}

.canc-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0.45rem 0 0;
    font-size: 0.75rem;
    color: var(--pj-muted, #71717a);
}

.canc-page {
    max-width: 980px;
}

.canc-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #111827;
    color: #f8fafc;
    border-radius: 14px;
    padding: 0.85rem 1.1rem;
    margin-bottom: 1rem;
}

.canc-topbar__id {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.canc-topbar__code {
    opacity: 0.7;
}

.canc-topbar__rep {
    font-size: 0.85rem;
    opacity: 0.9;
}

.canc-topbar__status {
    background: #f59e0b;
    color: #111827;
    font-weight: 700;
    font-size: 0.78rem;
    border-radius: 999px;
    padding: 0.25rem 0.7rem;
}

.canc-stepper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 1rem;
}

.canc-stepper__form {
    margin: 0;
}

.canc-stepper__item {
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fff;
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pj-muted, #71717a);
    cursor: pointer;
}

.canc-stepper__item.is-done {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
    border-color: rgba(22, 163, 74, 0.25);
}

.canc-stepper__item.is-current {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

.canc-stepper__item:disabled {
    cursor: default;
}

.canc-stepper__item:disabled:not(.is-current) {
    opacity: 0.7;
}

.canc-stepper__arrow {
    color: var(--pj-muted, #71717a);
    font-size: 0.8rem;
}

.at-steppers {
    margin: 0 0 1rem;
}

.at-steppers .canc-stepper {
    margin-bottom: 0.45rem;
}

.at-steppers .canc-stepper:last-of-type {
    margin-bottom: 0;
}

.at-stepper-caption {
    margin: 0.2rem 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pj-muted, #71717a);
}

.at-meta__impl {
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--pj-border, #e4e4e7);
}

.at-meta__impl .at-stepper-caption {
    margin-top: 0;
}

.at-meta__impl .canc-stepper {
    margin: 0;
}

.at-impl-produtos__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.at-impl-produtos__table th,
.at-impl-produtos__table td {
    text-align: left;
    padding: 0.42rem 0.55rem;
    border-bottom: 1px solid var(--pj-border, #e4e4e7);
    vertical-align: top;
}

.at-impl-produtos__table th {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--pj-muted, #71717a);
}

.at-impl-produtos__table td:last-child,
.at-impl-produtos__table th:last-child {
    text-align: right;
    white-space: nowrap;
    width: 4.5rem;
}

.at-impl-produtos__table tbody tr:last-child th,
.at-impl-produtos__table tbody tr:last-child td {
    border-bottom: 0;
}

.canc-card.canc-meta,
.canc-page > .canc-card {
    background: #fff;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    margin-bottom: 0.85rem;
}

.canc-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.85rem;
}

.canc-meta__label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pj-muted, #71717a);
    margin-bottom: 0.2rem;
}

.canc-desc {
    background: #f8fafc;
    color: #334155;
    line-height: 1.5;
    font-size: 0.92rem;
}

.canc-page > .canc-card > .canc-card__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.85rem;
}

.canc-page > .canc-card > .canc-card__head h2 {
    margin: 0;
    font-size: 1rem;
}

.canc-page > .canc-card > .canc-card__head span {
    font-size: 0.78rem;
    color: var(--pj-muted, #71717a);
}

.canc-sis {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.45rem 1rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.65rem;
}

.canc-sis__check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    cursor: pointer;
}

.canc-sis__check input {
    margin-top: 0.28rem;
}

.canc-sis__check strong {
    display: block;
    font-size: 1rem;
}

.canc-itens-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.5rem 0 0.85rem;
}

.canc-sis.is-off {
    opacity: 0.55;
}

.canc-sis__main h3 {
    margin: 0;
    font-size: 1rem;
}

.canc-sis__forn {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: var(--pj-muted, #71717a);
}

.canc-sis__side {
    text-align: right;
}

.canc-sis__valor {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
    color: var(--pj-muted, #71717a);
}

.canc-sis__flags {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.canc-btn--danger {
    border: 0;
    background: transparent;
    color: #dc2626;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

.canc-chip {
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #fff;
    border-radius: 999px;
    padding: 0.22rem 0.65rem;
    font-size: 0.75rem;
    cursor: pointer;
}

.canc-chip.is-ok {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
    border-color: rgba(22, 163, 74, 0.25);
}

.canc-chip.is-warn {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.3);
}

.canc-chip.is-danger {
    background: rgba(220, 38, 38, 0.1);
    color: #b91c1c;
    border-color: rgba(220, 38, 38, 0.28);
}

.canc-multa,
.canc-fab-form,
.canc-fin-ajustado__form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 0.75rem;
}

.canc-multa-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.canc-multa-manual,
.canc-produto-form {
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: #fafbfc;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 0.85rem;
    align-items: end;
}

.canc-produto-linhas {
    display: grid;
    gap: 0.85rem;
}

.canc-produto-linha {
    padding: 0.75rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: #fff;
    display: grid;
    gap: 0.5rem;
}

.canc-multa-manual .admin-field,
.canc-produto-form .admin-field {
    margin: 0;
    min-width: 8rem;
}

.canc-fin-ajustado {
    margin-bottom: 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 10px;
    background: #fafbfc;
}

.canc-ret-form,
.canc-conf-form,
.canc-conclusao__form,
.canc-wait__form,
.canc-conf-answer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.canc-ret-form input[type="text"],
.canc-conf-form input[type="text"],
.canc-conclusao__form input[type="text"],
.canc-wait__form input[type="text"],
.canc-conf-answer input[type="text"],
.canc-ret-form select,
.canc-conf-form select,
.canc-conclusao__form select,
.canc-inline-form select {
    min-height: 2.3rem;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 8px;
    padding: 0.35rem 0.6rem;
    font: inherit;
}

.canc-ret-form input[type="text"],
.canc-conf-form input[type="text"],
.canc-conclusao__form input[type="text"],
.canc-wait__form input[type="text"],
.canc-conf-answer input[type="text"] {
    flex: 1 1 14rem;
}

.canc-empty {
    margin: 0;
    color: var(--pj-muted, #71717a);
}

.canc-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.canc-list li {
    padding: 0.45rem 0;
    border-top: 1px solid var(--pj-border, #e4e4e7);
    font-size: 0.9rem;
}

.canc-list small {
    display: block;
    color: var(--pj-muted, #71717a);
    margin-top: 0.15rem;
}

.canc-hist__body {
    margin-top: 0.35rem;
    white-space: pre-wrap;
}

.canc-wait {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.85rem;
}

.canc-wait__form {
    flex: 1;
    margin: 0;
}

.canc-wait label {
    font-weight: 700;
    font-size: 0.8rem;
}

.canc-fin__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.canc-alerts {
    margin: 0.75rem 0 0;
    padding-left: 1.1rem;
    color: #b45309;
}

.canc-alerts__item {
    margin: 0.45rem 0 0;
    color: #b45309;
}

.canc-foot-links {
    margin: 0.5rem 0 1.5rem;
    font-size: 0.88rem;
}

.canc-inline-form {
    display: inline;
    margin: 0;
}

@media (max-width: 720px) {
    .canc-sis {
        grid-template-columns: 1fr;
    }

    .canc-sis__side {
        text-align: left;
    }
}

/* Esteira e ediÃ§Ã£o de atendimentos (mesmo visual da gestÃ£o de cancelamentos) */
.at-board .kanban-col {
    border-top: 0;
}

.at-col__head {
    border-top: 3px solid var(--at-col-cor, #888888);
}

.at-card {
    padding: 0;
    overflow: hidden;
}

.at-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 0.65rem 0.75rem 0.45rem;
}

.at-card__tipo {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--pj-muted, #71717a);
}

.at-card__prio {
    font-weight: 700;
}

.at-card__prio--alta {
    color: #b45309;
}

.at-card__prio--critica {
    color: #b91c1c;
}

.at-card__when {
    margin: 0.35rem 0 0;
    font-size: 0.72rem;
    color: var(--pj-muted, #71717a);
}

.at-card__actions {
    display: flex;
    justify-content: flex-end;
    padding: 0 0.65rem 0.55rem;
}

.at-page {
    max-width: none;
}

.at-page--create {
    max-width: 980px;
}

.at-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1rem;
}

.at-page .at-meta,
.at-page .admin-form-card,
.at-page .at-zapshow-card,
.at-page .at-impl-produtos {
    background: var(--pj-white, #fff);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    margin-bottom: 0.85rem;
    box-shadow: none;
    color: var(--pj-text, #18181b);
}

.at-page .at-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.85rem;
}

.at-page .at-card-head h2 {
    margin: 0;
    font-size: 1rem;
}

.at-page .at-card-head span {
    font-size: 0.78rem;
    color: var(--pj-muted, #71717a);
}

.at-page .atendimento-history {
    margin-top: 0;
}

.at-page .atendimento-history-card {
    background: var(--pj-surface-muted, #f8fafc);
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 12px;
    color: var(--pj-text, #18181b);
}

.at-page .atendimento-edicao-toolbar {
    margin-bottom: 0.85rem;
}

.at-zapshow-card {
    margin-bottom: 1rem;
}

body.cliente-app-body .at-page .atendimento-sidebar .admin-form-card,
body.cliente-app-body .at-page .atendimento-sidebar .admin-card,
body.cliente-app-body[data-ui-tema="modern"] .at-page .atendimento-sidebar .admin-form-card,
body.cliente-app-body[data-ui-tema="modern"] .at-page .atendimento-sidebar .admin-card {
    background: #0f172a;
    border: 1px solid #0f172a;
    color: #fff;
    padding: 0;
    overflow: hidden;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    background: #0f172a;
    color: #fff;
    padding: 0.6rem 0.85rem;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle,
body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle .cliente-dash__card-title,
body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle-bar h2,
body.cliente-app-body[data-ui-tema="modern"] .at-page .atendimento-sidebar .atendimento-card-toggle .cliente-dash__card-title {
    color: #fff !important;
    font-weight: 700;
    font-size: 0.92rem;
    background: transparent;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle__icon {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle-bar .admin-btn--ghost {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.4);
    background: transparent !important;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card-toggle-bar .admin-btn--primary {
    background: #fff !important;
    color: #0f172a !important;
    border-color: #fff;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card__body {
    background: #fff;
    color: #18181b;
    border-radius: 0;
    padding: 0.85rem 0.9rem;
    margin: 0;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card__body :is(h2, h3, p, span, small, label, dt, dd, strong, div, li) {
    color: #18181b;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card__body a {
    color: #1d4ed8;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card__body .atendimento-backup-item__acoes .admin-btn--primary {
    color: #fff !important;
    background: #0f172a !important;
    border-color: #0f172a;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card__body .atendimento-backup-item__acoes .admin-btn--ghost {
    color: #0f172a !important;
    border-color: #cbd5e1;
    background: #fff !important;
}

body.cliente-app-body .at-page .atendimento-sidebar .atendimento-card--collapsible[data-collapsed="1"] {
    padding: 0;
}

@media (max-width: 720px) {
    .at-toolbar .admin-btn {
        width: 100%;
    }
}

.impl-card__prazo {
    color: var(--pj-muted, #64748b);
}

.impl-card__prazo--atrasado,
.impl-card--atrasado .impl-card__prazo {
    color: #b91c1c;
    font-weight: 700;
}

/* Página pública de detalhe do produto — mesma largura/proporção do menu (72rem) */
.cliente-catalogo-produto-back {
    margin: 0 0 1rem;
    width: 100%;
}

.cliente-catalogo-produto {
    width: 100%;
    max-width: none;
    margin: 0 0 0.5rem;
    padding: clamp(1.15rem, 2.5vw, 1.75rem) clamp(1.15rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 2rem);
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
}

.cliente-catalogo-produto__hero {
    display: grid;
    grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr);
    gap: clamp(1.15rem, 3vw, 1.85rem);
    align-items: center;
    width: 100%;
    margin-bottom: 1.35rem;
}

.cliente-catalogo-produto__logo,
.cliente-catalogo-produto__destaque {
    min-width: 0;
}

.cliente-catalogo-produto__figure--hero {
    margin: 0;
    padding: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    text-align: center;
}

.cliente-catalogo-produto__figure--hero .cliente-catalogo-produto__img {
    max-height: 14rem;
}

.cliente-catalogo-produto__logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    border-radius: 16px;
    background: linear-gradient(145deg, #eef2ff, #e0e7ff);
    border: 1px solid #c7d2fe;
    color: #3730a3;
    font-size: 3rem;
    font-weight: 800;
}

.cliente-catalogo-produto__destaque {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cliente-catalogo-produto__badge {
    margin: 0 0 0.4rem;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pj-muted, #64748b);
}

.cliente-catalogo-produto__title {
    margin: 0 0 0.4rem;
    font-size: clamp(1.65rem, 2.8vw, 2.35rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--pj-navy, #1a2b56);
    letter-spacing: -0.02em;
}

.cliente-catalogo-produto__cat {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--pj-muted, #52525b);
}

.cliente-catalogo-produto__meta {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
    color: var(--pj-muted, #64748b);
}

.cliente-catalogo-produto__prices {
    margin: 1rem 0 0;
    padding: 0.85rem 1rem;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    max-width: 22rem;
}

.cliente-catalogo-produto__prices .cliente-catalogo-card__price-line {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.cliente-catalogo-produto__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.85rem;
    margin: 0 0 1.25rem;
}

.cliente-catalogo-produto__figure {
    margin: 0;
    padding: 0.75rem;
    background: #f4f4f5;
    border: 1px solid var(--pj-border, #e4e4e7);
    border-radius: 14px;
    text-align: center;
}

.cliente-catalogo-produto__img {
    display: block;
    width: 100%;
    max-height: 18rem;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
}

.cliente-catalogo-produto__block {
    margin: 0 0 1.25rem;
}

.cliente-catalogo-produto__block--desc {
    padding-top: 0.35rem;
    border-top: 1px solid #e2e8f0;
}

.cliente-catalogo-produto__h {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--pj-navy, #1a2b56);
}

.cliente-catalogo-produto__txt {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.65;
    color: #334155;
}

.cliente-catalogo-produto__bottom {
    margin-top: 0.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.cliente-catalogo-produto__video {
    margin: 0 0 1.15rem;
}

.cliente-catalogo-produto__video-frame {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid var(--pj-border, #e4e4e7);
    background: #0f172a;
}

.cliente-catalogo-produto__video-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.cliente-catalogo-produto__video-link {
    margin: 0.65rem 0 0;
}

.cliente-catalogo-produto__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

.cliente-catalogo-produto__btn-whatsapp {
    background: #16a34a !important;
    border-color: #15803d !important;
    color: #fff !important;
}

.cliente-catalogo-produto__btn-whatsapp:hover,
.cliente-catalogo-produto__btn-whatsapp:focus-visible {
    background: #15803d !important;
    border-color: #166534 !important;
}

@media (max-width: 900px) {
    .cliente-catalogo-produto__hero {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .cliente-catalogo-produto__logo {
        max-width: 16rem;
        margin: 0 auto;
        width: 100%;
    }

    .cliente-catalogo-produto__prices {
        max-width: none;
    }
}

@media (max-width: 640px) {
    .cliente-catalogo-produto {
        padding: 1rem;
        border-radius: 14px;
    }

    .cliente-catalogo-produto__cta .admin-btn {
        flex: 1 1 100%;
        text-align: center;
    }
}

/* --- Loja: cards de categoria / segmento --- */
.cliente-catalogo-loja-back {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1rem;
}
.cliente-catalogo-loja-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}
.cliente-catalogo-loja-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.cliente-catalogo-loja-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--cat-brand, #2563eb) 40%, #e2e8f0);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}
.cliente-catalogo-loja-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.cliente-catalogo-loja-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(145deg, color-mix(in srgb, var(--cat-brand, #2563eb) 18%, #f8fafc), #e2e8f0);
    overflow: hidden;
}
.cliente-catalogo-loja-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #e2e8f0;
}
.cliente-catalogo-loja-card__media--empty,
.cliente-catalogo-loja-card__media--icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.cliente-catalogo-loja-card__media-fallback {
    font-size: 2.5rem;
    font-weight: 800;
    color: color-mix(in srgb, var(--cat-brand, #2563eb) 70%, #0f172a);
    opacity: 0.85;
}
.cliente-catalogo-loja-card__icon {
    font-size: 3rem;
    line-height: 1;
}
.cliente-catalogo-loja-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.1rem 1.15rem 1.25rem;
    flex: 1;
}
.cliente-catalogo-loja-card__title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--cat-on-content, #0f172a);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.cliente-catalogo-loja-card__title-icon {
    font-size: 1.15rem;
    line-height: 1;
}
.cliente-catalogo-loja-card__desc {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--cat-on-content-muted, #475569);
    flex: 1;
}
.cliente-catalogo-loja-card__meta {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--cat-brand, #2563eb);
}
.cliente-catalogo-loja-card__meta--muted {
    color: #94a3b8;
    font-weight: 500;
}
.cliente-catalogo-loja-card__cta {
    display: inline-flex;
    align-items: center;
    margin-top: 0.25rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--cat-brand, #2563eb);
}
.cliente-catalogo-loja-card__cta--btn {
    align-self: flex-start;
    margin-top: 0.35rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cat-brand, #2563eb) 12%, #fff);
    border: 1px solid color-mix(in srgb, var(--cat-brand, #2563eb) 28%, #e2e8f0);
    text-decoration: none;
}
.cliente-catalogo-loja-card__cta--btn:hover {
    background: color-mix(in srgb, var(--cat-brand, #2563eb) 20%, #fff);
}
@media (max-width: 960px) {
    .cliente-catalogo-loja-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .cliente-catalogo-loja-cards__grid {
        grid-template-columns: 1fr;
    }
}


