/*
 * Estilos da lista de convidados, filtros (convidado-page-v2) e reutilização na ficha (show).
 * Antes em lista-convidados-layout-styles.blade.php e show-layout-v2-styles.blade.php.
 */


/* Fundo / shell da lista: herdado de body.dashboard-shell (layouts/dashboard). Mantém reforço só na rota da lista se necessário. */
body.page-lista-convidados {
    min-height: 100vh;
}

/*
 * Gerenciamento RSVP: refinamentos de cartões / espaçamento (fundo global = #f7f9fc em dashboard.css).
 */
body.page-rsvp-gerenciamento .lista-convidados-page .lista-convidados-pagina-header {
    margin-bottom: 28px;
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-kpi-row {
    margin-bottom: 28px;
    gap: 12px;
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-kpi-card {
    border: 1px solid var(--lc-gray-200);
    background: #fff;
    border-radius: 16px;
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-filters-card {
    border-radius: 16px;
    padding: 18px 20px;
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-filter-actions--rsvp-bar {
    margin-top: 8px;
    padding-top: 16px;
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-table-card {
    border-radius: 16px;
    border-color: var(--lc-gray-200);
}

body.page-rsvp-gerenciamento .lista-convidados-page .lc-participacao-edit-btn:hover,
body.page-rsvp-gerenciamento .lista-convidados-page .lc-rsvp-status-edit-btn:hover,
body.page-rsvp-gerenciamento .lista-convidados-page .lc-grupo-edit-btn:hover {
    color: #2d3142 !important;
    background: #fffdf5 !important;
    border-color: #ffcf4e !important;
}

/*Buttons — base alinhada à ficha (.cx-btn-accent); topbar/evento refinada abaixo */

.new-but {
    padding: 12px !important;
    border-radius: 100px !important;
    text-decoration: none !important;
    font-family: 'Inter', 'Manrope', 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    cursor: pointer;
    list-style: none;
    box-sizing: border-box;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

/* Importar / Novo convidado na topbar de evento — mesmo cromado da ficha */
body.dashboard-shell .topbar .topbar-actions--lista-convidados .new-button-yellow {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #ffcf4e !important;
    color: #1e1a10 !important;
    border: 1px solid #ffcf4e !important;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc !important;
}

body.dashboard-shell .topbar .topbar-actions--lista-convidados a.new-button-yellow:hover {
    background-color: #ffbf1a !important;
    border-color: #ffbf1a !important;
    color: #1e1a10 !important;
}

.topbar .new-button-yellow.new-button-yellow--on-page {
    cursor: default;
    pointer-events: none;
    box-shadow: inset 0 0 0 1.5px rgba(45, 49, 66, 0.2) !important;
}

.topbar .topbar-actions--lista-convidados .new-button-yellow--novo-convidado {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
}

.topbar .topbar-actions--lista-convidados .new-button-yellow__icon {
    flex-shrink: 0;
    display: block;
}

/* Exportar lista — antes navy; mesmo tom que PDF/Excel na ficha (accent) */
body.dashboard-shell .topbar .lc-export-dropdown > summary.new-but-export {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffcf4e !important;
    color: #1e1a10 !important;
    border: 1px solid #ffcf4e !important;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc !important;
}

body.dashboard-shell .topbar .lc-export-dropdown > summary.new-but-export:hover {
    background: #ffbf1a !important;
    border-color: #ffbf1a !important;
    color: #1e1a10 !important;
}

.topbar .lc-export-dropdown > summary.new-but-export::-webkit-details-marker {
    display: none;
}

/* Busca rápida na topbar: cromado unificado em dashboard.css (.topbar-guest-search-*) */

/* === lista-convidados (tabela, KPIs, topbar ações) === */

.lista-convidados-page {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    /* Alinhado à ficha do convidado / .cx-btn-accent (#ffcf4e) */
    --lc-accent: #ffcf4e;
    --lc-accent-dark: #ffbf1a;
    --lc-purple: #fabd00;
    --lc-purple-light: #fff6db;
    --lc-purple-ink: #302100;
    --lc-green: #00876a;
    --lc-orange: #e17055;
    --lc-blue: #0670c0;
    --lc-red: #b02020;
    --lc-gray-50: #fdfaf2;
    --lc-gray-100: #f4f1e8;
    --lc-gray-200: #e8e3d0;
    --lc-gray-300: #d0c9b0;
    --lc-gray-500: #8a8070;
    --lc-gray-700: #4a4035;
    --lc-gray-900: #1e1a10;
    --lc-white: #ffffff;
    --lc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --lc-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
    --lc-radius: 10px;
    --lc-radius-lg: 14px;
    --lc-radius-sm: 6px;
    margin: 0;
    padding: 32px 20px 32px 0;
    font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
    font-size: 14px;
    color: var(--lc-gray-900);
}

/* Botões da lista: mesmo “pill” e cores da ficha do convidado (.cx-btn-accent / secundários da barra de filtros). */
.lista-convidados-page .lc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px;
    min-height: 0;
    border-radius: 100px;
    font-family: 'Inter', 'Manrope', 'DM Sans', ui-sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    line-height: 1.25;
    cursor: pointer;
    box-sizing: border-box;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
    text-decoration: none;
    appearance: none;
    -webkit-appearance: none;
}

.lista-convidados-page .lc-btn--primary {
    background: #ffcf4e;
    border-color: #ffcf4e;
    color: #1e1a10;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc;
}

.lista-convidados-page .lc-btn--primary:hover {
    background: #ffbf1a;
    border-color: #ffbf1a;
    color: #1e1a10;
}

.lista-convidados-page .lc-btn--secondary {
    background: #fff;
    color: #2d3142 !important;
    border: 1px solid #ffcf4e;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lista-convidados-page .lc-btn--secondary:hover {
    background: #fffdf5;
    border-color: #ffbf1a;
    color: #111827 !important;
}

.lista-convidados-page .lc-btn--ghost {
    background: #fff;
    color: #2d3142;
    border: 1px solid #ffcf4e;
}

.lista-convidados-page .lc-btn--ghost:hover {
    background: #fffdf5;
    border-color: #ffbf1a;
    color: #111827;
}

.lista-convidados-page .lc-btn--danger {
    background: #fff;
    color: #000 !important;
    border: 1.5px solid #df2935;
    font-weight: 600;
}

.lista-convidados-page .lc-btn--danger:hover {
    background: #fff5f5;
    border-color: #c91f2a;
    color: #000 !important;
}

/* Barra bulk: .new-but tinha raio/padding globais — alinhar à ficha */
body.dashboard-shell .lista-convidados-page .lc-bulk-bar-actions .lc-btn.new-but {
    padding: 12px !important;
    border-radius: 100px !important;
    font-family: 'Inter', 'Manrope', 'DM Sans', ui-sans-serif, system-ui, sans-serif !important;
    font-weight: 600 !important;
}



.lista-convidados-page .lc-btn[disabled],
.lista-convidados-page .lc-btn.is-disabled {
    pointer-events: none;
    opacity: 0.55;
}

.lista-convidados-page .lc-counter-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 20px;
    background: var(--lc-white);
    border: 1px solid var(--lc-gray-200);
    font-size: 12px;
    color: var(--lc-gray-700);
    font-weight: 500;
    white-space: nowrap;
}

.lista-convidados-page .lc-counter-pill strong {
    color: var(--lc-purple);
    margin-right: 2px;
}

.lista-convidados-page .lc-kpi-row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
    gap: 10px;
    margin-bottom: 32px;
}

.lista-convidados-page .lc-kpi-card {
    flex: 1 1 0;
    min-width: 0;
    padding: 16px;
    box-shadow: var(--lc-shadow-sm);
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s, background 0.15s, border-color 0.15s;
    text-decoration: none;
    display: block;
    overflow-wrap: break-word;
    gap: 12px;
    border-radius: 10px;
}

@media (max-width: 900px) {
    .lista-convidados-page .lc-kpi-row {
        flex-wrap: wrap;
    }

    .lista-convidados-page .lc-kpi-card {
        flex: 1 1 calc(50% - 5px);
        min-width: min(100%, 140px);
    }
}

/* 1. LÓGICA ESTRUTURAL COMPARTILHADA */
.lista-convidados-page [class*="lc-kpi-card--stripe-"] {
    position: relative;
    background-color: transparent !important;
    color: #19242f;
    transition: color 0.2s ease; /* Transição da fonte mais rápida */
    overflow: hidden;
    z-index: 1;
}

/* Pseudo-elemento da animação diagonal */
.lista-convidados-page [class*="lc-kpi-card--stripe-"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 500%;
    background: var(--card-color) !important;
    transition: transform 0.3s ease-out; /* Velocidade dobrada e curva mais 'seca' */
    transform: translateX(-150%) translateY(-50%) rotate(45deg);
    z-index: -1;
}

/* 2. O ACCENT (SELECIONADO) */
.lista-convidados-page .lc-kpi-card--accent {
    background: var(--card-color) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}

.lista-convidados-page .lc-kpi-card--accent * {
    color: #FFFFFF !important;
}

/* 3. CORES (Sem alteração) */
.lista-convidados-page .lc-kpi-card--stripe-total      { --card-color: #2f3a45; border-left: 3px solid #2f3a45; }
.lista-convidados-page .lc-kpi-card--stripe-confirmado { --card-color: #2E7D32; border-left: 3px solid #2E7D32; }
.lista-convidados-page .lc-kpi-card--stripe-pendente   { --card-color: #ffcf4e; border-left: 3px solid #ffcf4e; }
.lista-convidados-page .lc-kpi-card--stripe-declinado  { --card-color: #DC2626; border-left: 3px solid #DC2626; }
.lista-convidados-page .lc-kpi-card--stripe-cancelado  { --card-color: #9AA5B1; border-left: 3px solid #9AA5B1; }
.lista-convidados-page .lc-kpi-card--stripe-convite    { --card-color: #3B82F6; border-left: 3px solid #3B82F6; }
.lista-convidados-page .lc-kpi-card--stripe-voucher    { --card-color: #7C3AED; border-left: 3px solid #7C3AED; }
.lista-convidados-page .lc-kpi-card--stripe-acompanhantes { --card-color: #4338CA; border-left: 3px solid #4338CA; }
.lista-convidados-page .lc-kpi-card--stripe-recusado   { --card-color: #A6361B; border-left: 3px solid #A6361B; }

.lista-convidados-page .lc-kpi-value--recusado {
    color: #A6361B;
}

.lista-convidados-page .lc-kpi-value--acompanhantes {
    color: #4338CA;
}

/* 4. COMPORTAMENTO NO HOVER (RÁPIDO) */
.lista-convidados-page [class*="lc-kpi-card--stripe-"]:hover,
.lista-convidados-page [class*="lc-kpi-card--stripe-"]:hover * {
    color: #FFFFFF !important;
    transition-delay: 0s; /* Remove o atraso da fonte */
}

.lista-convidados-page [class*="lc-kpi-card--stripe-"]:hover::before {
    transform: translateX(-25%) translateY(-50%) rotate(45deg);
}

.lista-convidados-page [class*="lc-kpi-card--stripe-"]:hover .lc-kpi-card--accent {
    background: #FFFFFF !important;
    color: var(--card-color) !important;
}

.lista-convidados-page [class*="lc-kpi-card--stripe-"]:hover .lc-kpi-card--accent * {
    color: var(--card-color) !important;
}



.lista-convidados-page .lc-kpi-card:hover {
    box-shadow: var(--lc-shadow-md);
}



.lista-convidados-page .lc-kpi-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #19242f;
    margin-bottom: 6px;
}

.lista-convidados-page .lc-kpi-card .lc-kpi-value {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
    color: #19242f;
}

.lista-convidados-page .lc-kpi-card .lc-kpi-sub {
    font-size: 10px;
    color: #19242f;
}

/* Colapsar sem display:none: campos dentro de display:none podem não ir no GET em alguns browsers. */
.lista-convidados-page .lc-filters-collapsible {
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.22s ease, margin 0.22s ease;
}

.lista-convidados-page .lc-filters-collapsible--collapsed {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
}

.lista-convidados-page .lc-filters-collapsible:not(.lc-filters-collapsible--collapsed) {
    max-height: 560px;
    opacity: 1;
    pointer-events: auto;
}

.lista-convidados-page .lc-filters-card {
    background: var(--lc-white);
    border-radius: var(--lc-radius-lg);
    border: 1px solid var(--lc-gray-200);
    box-shadow: var(--lc-shadow-sm);
    padding: 14px 16px;
    margin-bottom: 16px;
    width: 100%;
    box-sizing: border-box;
}

.lista-convidados-page .lc-filters-card.lc-filters-card--below-toolbar {
    width: auto;
    margin: 0 16px 16px;
    border: none;
    box-shadow: none;
}

.lista-convidados-page .lc-filters-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 2px 0 0;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: #ffbf1a;
    color: #1e1a10;
    cursor: pointer;
    flex-shrink: 0;
}

.lista-convidados-page .lc-filters-toggle:hover {
    background: #f0b215;
    color: #1e1a10;
}

.lista-convidados-page .lc-filters-toggle:focus-visible {
    outline: 2px solid var(--lc-purple-ink, #302100);
    outline-offset: 2px;
}

.lista-convidados-page .lc-filters-toggle__chevron {
    display: block;
    transition: transform 0.2s ease;
}

.lista-convidados-page .lc-filters-toggle[aria-expanded="true"] .lc-filters-toggle__chevron {
    transform: rotate(180deg);
}

.lista-convidados-page .lista-convidados-filters-v2 form {
    width: 100%;
    box-sizing: border-box;
}

.lista-convidados-page .lc-filters-row {
    width: 100%;
    box-sizing: border-box;
}

.lista-convidados-page .lc-filters-row + .lc-filters-row {
    margin-top: 8px;
}

/* Filtros dinâmicos por atributos do formulário (Gerenciamento RSVP) */
.lista-convidados-page .lc-filters-row--dfa-fields {
    display: block;
    width: 100%;
}

.lista-convidados-page .lc-filters-row--dfa-fields .lc-dfa-picker-wrap {
    width: 100%;
}

.lista-convidados-page .lc-dfa-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 6px;
}

.lista-convidados-page .lc-dfa-cb-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-gray-700);
    cursor: pointer;
    user-select: none;
}

.lista-convidados-page .lc-filters-row--dfa-values {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    align-items: end;
}

.lista-convidados-page .lc-filters-row--dfa-values .cx-form-group {
    min-width: 0;
}

.lista-convidados-page .lc-dfa-advanced-panel {
    display: none;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--lc-gray-200);
}

.lista-convidados-page .lc-dfa-advanced-panel.lc-dfa-advanced-panel--open {
    display: block;
}

/* Linha 1: seis selects em largura total */
.lista-convidados-page .lc-filters-row--r1 {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
}

.lista-convidados-page .lc-filters-row--r1 .cx-form-group {
    min-width: 0;
}

/* Linha 2: três selects (ações ficam fora da área colapsável, no .lc-filter-actions--rsvp-bar) */
.lista-convidados-page .lc-filters-row--r2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
}

.lista-convidados-page .lc-filters-row--r2 .cx-form-group {
    min-width: 0;
}

@media (max-width: 1100px) {
    .lista-convidados-page .lc-filters-row--r1 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lista-convidados-page .lc-filters-row--r2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lista-convidados-page .lc-filters-row--r2 .lc-filter-field--status {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .lista-convidados-page .lc-filters-row--r1 {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Campos do filtro: classes form-label / form-control (escopo .convidado-page-v2 em show-layout-v2-styles) */
.lista-convidados-page .lista-convidados-filters-v2.convidado-page-v2 {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lista-convidados-page .lc-filter-actions {
    display: flex;
    gap: 6px;
    align-items: flex-end;
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Gerenciamento RSVP: Limpar + Pesquisar — mesmo “pill” que .cx-btn-accent (dashboard) */
.lista-convidados-page .lc-filter-actions--rsvp-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 14px;
    margin-top: 4px;
    border-top: 1px solid var(--lc-gray-200);
}

.lista-convidados-page .lc-filter-actions--rsvp-bar > a.cx-btn,
.lista-convidados-page .lc-filter-actions--rsvp-bar > button.cx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px;
    min-height: 0;
    border-radius: 100px;
    font-family: 'Inter', 'Manrope', 'DM Sans', -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid #ffcf4e;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lista-convidados-page .lc-filter-actions--rsvp-bar > a.cx-btn-secondary,
.lista-convidados-page .lc-filter-actions--rsvp-bar > button.cx-btn-secondary {
    background: #fff;
    color: #2d3142;
}

.lista-convidados-page .lc-filter-actions--rsvp-bar > a.cx-btn-secondary:hover,
.lista-convidados-page .lc-filter-actions--rsvp-bar > button.cx-btn-secondary:hover {
    background: #fffdf5;
    border-color: #ffbf1a;
    color: #111827;
}

.lista-convidados-page .lc-filter-actions--rsvp-bar > button.cx-btn-primary {
    appearance: none;
    background: #ffcf4e;
    color: #1e1a10;
    border-color: #ffcf4e;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc;
}

.lista-convidados-page .lc-filter-actions--rsvp-bar > button.cx-btn-primary:hover {
    background: #ffbf1a;
    border-color: #ffbf1a;
    color: #1e1a10;
}

/* Só mostrar pesquisa avançada / Limpar / Pesquisar com o painel de filtros aberto (irmãos após o colapsável). */
.lista-convidados-page #lista-convidados-filters-collapsible.lc-filters-collapsible--collapsed ~ .lc-dfa-advanced-panel,
.lista-convidados-page #lista-convidados-filters-collapsible.lc-filters-collapsible--collapsed ~ .lc-filter-actions--rsvp-bar {
    display: none !important;
}

.lista-convidados-page .lc-table-card {
    background: #FFF;
    border-radius: 16px;
    border: 1px solid rgba(196, 198, 203, 0.15);
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

.lista-convidados-page .lc-bulk-bar {
    display: none;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 16px;
    background: #ffcf4e;
    border-bottom: 1px solid rgba(45, 49, 66, 0.12);
    font-size: 16px;
    color: #2d3142;
    font-weight: 600;
}

.lista-convidados-page .lc-bulk-bar-actions .new-but {
    font-size: 16px;
    font-family: 'Inter', sans-serif !important;
}

.lista-convidados-page .lc-bulk-bar.is-visible {
    display: flex;
}

.lista-convidados-page .lc-bulk-bar-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lista-convidados-page .lc-modal[hidden] {
    display: none;
}

.lista-convidados-page .lc-modal:not([hidden]) {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 1200;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.lista-convidados-page .lc-modal.lc-modal--confirm:not([hidden]) {
    z-index: 1300;
}

.lista-convidados-page .lc-confirm-modal__body {
    margin: 0 0 18px;
    min-height: 2.5em;
}

.lista-convidados-page .lc-confirm-modal__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: var(--lc-gray-900);
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

.lista-convidados-page .lc-confirm-modal__num {
    display: inline-block;
    font-size: 1.45em;
    font-weight: 800;
    line-height: 1;
    vertical-align: -0.06em;
    margin: 0 0.04em;
    letter-spacing: -0.02em;
    color: var(--lc-gray-900);
}

.lista-convidados-page .lc-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.lista-convidados-page .lc-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 400px;
    background: var(--lc-white);
    border-radius: var(--lc-radius-lg);
    border: 1px solid var(--lc-gray-200);
    box-shadow: var(--lc-shadow-sm);
    padding: 20px 20px 16px;
    box-sizing: border-box;
}

.lista-convidados-page .lc-modal__title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--lc-gray-900);
}

.lista-convidados-page .lc-modal__hint {
    margin: 0 0 16px;
    font-size: 12px;
    color: var(--lc-gray-500);
    line-height: 1.45;
}

.lista-convidados-page .lc-modal__field {
    margin-bottom: 18px;
}

.lista-convidados-page .lc-modal__label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--lc-gray-600);
    margin-bottom: 6px;
}

.lista-convidados-page .lc-modal__select {
    width: 100%;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--lc-gray-200);
    border-radius: 8px;
    font-size: 13px;
    background: #fff;
    outline: none;
    font-family: inherit;
    box-sizing: border-box;
}

.lista-convidados-page .lc-modal__textarea {
    display: block;
    width: 100%;
    min-height: 120px;
    padding: 10px 12px;
    border: 1px solid var(--lc-gray-200);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
    background: #fff;
    outline: none;
    font-family: inherit;
    box-sizing: border-box;
    resize: vertical;
}

.lista-convidados-page .lc-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.lista-convidados-page .lc-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: stretch;
    padding: 12px 16px;
    border-bottom: 1px solid var(--lc-gray-100);
}

.lista-convidados-page .lc-toolbar-trailing {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px 16px;
    width: 100%;
    max-width: 100%;
}

.lista-convidados-page .lc-toolbar-search-wrap {
    flex: 1 1 500px;
    min-width: min(100%, 500px);
    max-width: 100%;
    box-sizing: border-box;
}

.lista-convidados-page .lc-toolbar-search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    width: 100%;
    min-width: 0;
    border: 1px solid #92908c;
    border-radius: 999px;
    background: #fff;
    box-sizing: border-box;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc;
}

.lista-convidados-page .lc-toolbar-search__icon {
    flex-shrink: 0;
    display: flex;
    color: #422d2d;
}

.lista-convidados-page .lc-toolbar-search__icon svg {
    display: block;
}

.lista-convidados-page .lc-toolbar-search__input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: #422d2d;
    outline: none;
    box-shadow: none;
}

.lista-convidados-page .lc-toolbar-search__input::placeholder {
    color: #422d2d;
    opacity: 0.85;
    font-weight: 400;
}

.lista-convidados-page .lc-toolbar-search:focus-within {
    background: #fff;
    border-color: #7a7873;
    box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc, 0 0 0 1px rgba(66, 45, 45, 0.12);
}

@media (max-width: 640px) {
    .lista-convidados-page .lc-toolbar-trailing {
        flex-direction: column;
        align-items: stretch;
    }

    .lista-convidados-page .lc-toolbar-search-wrap {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
    }

    .lista-convidados-page .lc-show-selector {
        justify-content: flex-end;
        width: 100%;
        margin-inline-start: 0;
    }
}

/* Título da página (Manrope) + breadcrumb — acima da linha de KPI */
.lista-convidados-page .lista-convidados-pagina-header {
    margin-bottom: 32px;
}

.lista-convidados-page .pagina-h1 {
    margin: 0;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: #19242f;
    letter-spacing: -1px;
    line-height: 1.1;
}

.lista-convidados-page .breadcrumb.breadcrumb--pagina {
    font-size: 16px;
    color: #8a8070;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 10px 0 0;
}

.lista-convidados-page .breadcrumb.breadcrumb--pagina .breadcrumb-separator {
    color: #8a8070;
}

.lista-convidados-page .breadcrumb.breadcrumb--pagina .breadcrumb-current {
    color: #1e1a10;
    font-weight: 500;
    text-decoration: none;
}

.lista-convidados-page .breadcrumb.breadcrumb--pagina a.breadcrumb-current:hover {
    text-decoration: underline;
}

.lista-convidados-page .breadcrumb.breadcrumb--pagina a.breadcrumb-home.breadcrumb-current svg {
    fill: currentColor;
    vertical-align: -2px;
}

.lista-convidados-page .lc-show-selector {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    font-weight: 500;
    color: var(--lc-gray-700);
    flex-shrink: 0;
    margin-inline-start: auto;
}

.lista-convidados-page .lc-show-selector select {
    height: 40px;
    min-width: 72px;
    padding: 0 12px;
    border: 1px solid var(--lc-gray-200);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--lc-purple-ink, #302100);
    outline: none;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    cursor: pointer;
    box-sizing: border-box;
}

.lista-convidados-page .lc-table-wrap {
    overflow-x: auto;
}

.lista-convidados-page .lc-data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1100px;
}

.lista-convidados-page .lc-data-table thead th {
    padding: 14px 24px;
    text-align: center;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.6px;
    line-height: 16px;
    color: #44474b;
    background: #F2F4F7;
    border-bottom: 1px solid var(--lc-gray-200);
    white-space: nowrap;
    text-transform: uppercase;
}

.lista-convidados-page .lc-data-table thead th.lc-th--sortable {
    white-space: normal;
    vertical-align: middle;
}

.lista-convidados-page .lc-th-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.lista-convidados-page .lc-th-label {
    text-align: left;
    flex: 1 1 auto;
    min-width: 0;
}

.lista-convidados-page .lc-th-sort-btns {
    display: inline-flex;
    flex-direction: column;
    gap: 0;
    line-height: 1;
    flex-shrink: 0;
}

.lista-convidados-page a.lc-th-sort-btn {
    font-size: 10px;
    color: #6b7280;
    text-decoration: none;
    padding: 1px 3px;
    border-radius: 4px;
    line-height: 1.1;
}

.lista-convidados-page a.lc-th-sort-btn:hover {
    color: #302100;
    background: #e5e7eb;
}

.lista-convidados-page a.lc-th-sort-btn.is-active {
    color: #1d4ed8;
    font-weight: 700;
}

.lista-convidados-page .lc-data-table tbody tr {
    transition: background 0.1s;
}

.lista-convidados-page .lc-data-table tbody tr:last-child {
    border-bottom: none;
}

.lista-convidados-page .lc-data-table tbody tr:hover {
    background: #F2F4F7;
}

.lista-convidados-page .lc-data-table tbody tr.is-selected {
    background: #f5f2ff;
}

.lista-convidados-page .lc-data-table td {
    padding: 16px 12px;
    font-size: 10.5px;
    color: #55606A;
    vertical-align: middle;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    text-align: center;
}

.lista-convidados-page .lc-data-table thead th.lc-th-nome,
.lista-convidados-page .lc-data-table tbody td.lc-td-nome {
    text-align: left;
}

.lista-convidados-page .lc-td-id {
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--lc-gray-700);
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
    white-space: nowrap;
}

.lista-convidados-page .lc-td-id-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: max-content;
}

.lista-convidados-page .lc-td-id-num {
    font-weight: 500;
    color: var(--lc-gray-700);
    letter-spacing: normal;
    white-space: nowrap;
}

.lista-convidados-page .lc-td-name-with-wa {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.lista-convidados-page .lc-td-name-with-wa .lc-td-name {
    flex: 1;
    min-width: 0;
}

.lista-convidados-page .lc-wa-mark {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    line-height: 0;
    text-decoration: none;
}

.lista-convidados-page .lc-wa-mark__svg {
    width: 20px;
    height: 20px;
    display: block;
}

.lista-convidados-page .lc-wa-mark--yes {
    color: #25d366;
}

.lista-convidados-page .lc-wa-mark--yes:hover {
    color: #1da851;
}

.lista-convidados-page .lc-wa-mark--no {
    color: #b8c0c9;
    pointer-events: none;
}

.lista-convidados-page .lc-td-name {
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    color: #19242f;
}

.lista-convidados-page .lc-td-email-line {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
    min-width: 0;
}

.lista-convidados-page .lc-td-email-sub {
    font-size: 14px;
    color: #44474B;
    line-height: 1.55;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

.lista-convidados-page .lc-clipboard-btn {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--lc-gray-400);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.12s, background 0.12s;
}

.lista-convidados-page .lc-clipboard-btn:hover {
    color: var(--lc-gray-800);
    background: var(--lc-gray-100);
}

.lista-convidados-page .lc-clipboard-btn.is-copied {
    color: var(--lc-green, #00876a);
}

.lista-convidados-page .lc-td-actions {
    white-space: nowrap;
}

.lista-convidados-page .lc-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.15s;
}

.lista-convidados-page .lc-data-table tbody tr:hover .lc-row-actions {
    opacity: 1;
}

.lista-convidados-page .lc-icon-btn {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 1px solid var(--lc-gray-200);
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--lc-gray-500);
    transition: all 0.12s;
    text-decoration: none;
    padding: 0;
}

.lista-convidados-page .lc-icon-btn:hover {
    background: var(--lc-gray-100);
    color: var(--lc-gray-900);
}

.lista-convidados-page .lc-icon-btn svg {
    display: block;
    flex-shrink: 0;
}

.lista-convidados-page .lc-telefones-modal-body {
    max-height: min(55vh, 22rem);
    overflow-y: auto;
    margin-top: 0.35rem;
}

.lista-convidados-page .lc-telefones-modal-row {
    display: grid;
    grid-template-columns: minmax(0, 38%) 1fr;
    gap: 10px 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--lc-gray-100, #e8e8e8);
    font-size: 0.875rem;
}

.lista-convidados-page .lc-telefones-modal-row:last-child {
    border-bottom: none;
}

.lista-convidados-page .lc-telefones-modal-label {
    font-weight: 600;
    color: var(--lc-gray-700, #5c5c5c);
}

.lista-convidados-page .lc-telefones-modal-value {
    color: var(--lc-gray-900, #1a1a1a);
    word-break: break-word;
}

.lista-convidados-page .lc-telefones-modal-value-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.lista-convidados-page .lc-telefones-modal-value-text {
    flex: 1;
    min-width: 0;
    word-break: break-word;
}

.lista-convidados-page .lc-telefones-modal-copy {
    flex-shrink: 0;
}

.lista-convidados-page .lc-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px 16px !important;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 600;
    white-space: nowrap;
    text-transform: uppercase;
    font-family: 'Inter', sans-serif !important;
}

.lista-convidados-page .lc-badge--confirmado {
background: rgba(46, 125, 50, 0.2);
color: #2E7D32;
}

/* Com Participação / Com Patrocínio (inscrição): só cor de texto, sem fundo */
.lista-convidados-page .lc-badge--patrocinio {
    background: transparent;
    border: none;
    color: #2E7D32;
}

.lista-convidados-page .lc-badge--pendente {
  background: #fd9f02;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
}

.lista-convidados-page .lc-badge--declinado {
background: rgba(220, 38, 38, 0.2);
color: #DC2626;
}

.lista-convidados-page .lc-badge--recusado {
    background: rgba(166, 54, 27, 0.2);
    color: #A6361B;
}

.lista-convidados-page .lc-badge--cancelado {
    background: rgba(154, 165, 177, 0.2);
    color: #9aa5b1;
}

.lista-convidados-page .lc-badge--enviado {
background: rgba(59, 130, 246, 0.2);
color: #3B82F6;
}
.lista-convidados-page .lc-badge--voucher {
    background: rgba(124, 58, 237, 0.2);
    color: #7C3AED;
}

.lista-convidados-page .lc-badge--pendente-cliente {
    background: var(--pending-pill-bg, #fff5d9);
    color: var(--pending-pill-text, #9a5a28);
    border: none;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.lista-convidados-page .lc-badge--neutral {
    background: var(--lc-gray-100);
    color: var(--lc-gray-500);
    font-weight: 500;
}

.lista-convidados-page .lc-badge--acompanhante {
    background: rgba(79, 70, 229, 0.12);
    color: #4338CA;
}

.lista-convidados-page .lc-td-acompanhante-badge-wrap {
    margin-bottom: 6px;
}

.lista-convidados-page .lc-badge--plain {
    background: transparent;
    color: var(--lc-gray-700);
    font-weight: 500;
    padding: 4px 16px !important;
}

.lista-convidados-page .lc-td-with-resend {
    vertical-align: middle;
}

.lista-convidados-page .lc-badge-with-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.lista-convidados-page .lc-resend-email-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

.lista-convidados-page .lc-resend-email-btn {
    flex-shrink: 0;
    min-width: 30px;
    height: 26px;
    padding: 0 4px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--lc-gray-500);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.12s, background 0.12s, border-color 0.12s;
}

.lista-convidados-page .lc-resend-email-btn:hover {
    color: var(--lc-purple-ink, #302100);
    background: var(--lc-purple-light, #fff6db);
    border-color: rgba(48, 33, 0, 0.2);
}

.lista-convidados-page .lc-resend-email-icons {
    display: inline-flex;
    align-items: center;
    gap: 1px;
}

.lista-convidados-page .lc-resend-email-mail,
.lista-convidados-page .lc-resend-email-arrow {
    display: block;
    flex-shrink: 0;
}

.lista-convidados-page .lc-participacao-edit-btn,
.lista-convidados-page .lc-rsvp-status-edit-btn,
.lista-convidados-page .lc-grupo-edit-btn {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    padding: 0 !important;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    color: var(--lc-gray-500);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.12s, background 0.12s, border-color 0.12s;
}

.lista-convidados-page .lc-participacao-edit-btn:hover,
.lista-convidados-page .lc-rsvp-status-edit-btn:hover,
.lista-convidados-page .lc-grupo-edit-btn:hover {
    color: var(--lc-purple-ink, #302100);
    background: var(--lc-purple-light, #fff6db);
    border-color: rgba(48, 33, 0, 0.2);
}

.lista-convidados-page .lc-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    border-top: 1px solid var(--lc-gray-100);
    flex-wrap: wrap;
    gap: 8px;
}

.lista-convidados-page .lc-page-info {
    font-size: 12px;
    color: var(--lc-gray-500);
}

.lista-convidados-page .lc-page-btns {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Paginação estilo referência: setas em caixa, números inativos só texto, ativo em bloco escuro */
.lista-convidados-page .lc-page-btn {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    transition: background 0.15s, color 0.15s, border-color 0.15s, opacity 0.15s;
}

.lista-convidados-page .lc-page-btn--arrow {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border-radius: 24px;
    border: 1px solid #ffcf4e;
    background: #ffffff;
    color: #2d3142;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.lista-convidados-page a.lc-page-btn--arrow:hover {
    border-color: #ffbf1a;
    background: #fffdf5;
}

.lista-convidados-page .lc-page-btn--arrow[aria-disabled="true"] {
    pointer-events: none;
    border-color: #e8eaed;
    color: #c4c8ce;
    background: #ffffff;
    opacity: 1;
}

.lista-convidados-page .lc-page-btn--num {
    min-width: auto;
    height: auto;
    padding: 8px 4px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #19242f;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
}

.lista-convidados-page a.lc-page-btn--num:hover:not(.is-active) {
    color: #19242f;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lista-convidados-page .lc-page-btn--num.is-active {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border-radius: 24px;
    background: #ffcf4e;
    border: 1px solid #ffcf4e;
    color: #2d3142;
    font-weight: 700;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

.lista-convidados-page .lc-page-btn.lc-page-ellipsis {
    border: none;
    background: transparent;
    min-width: auto;
    height: auto;
    padding: 8px 2px;
    color: #19242f;
    font-size: 15px;
    font-weight: 500;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    cursor: default;
    pointer-events: none;
    opacity: 1;
}

.lista-convidados-page .lc-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--lc-gray-500);
    font-size: 13px;
}

/* Mesma linguagem visual que novo convidado: .so-dot + .cn-checkbox-accent (convidado-novo-page.css) */
.lista-convidados-page .lc-cb {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 0;
    box-sizing: border-box;
    flex-shrink: 0;
    border: 2px solid #777777;
    border-radius: 4px;
    background: #ffffff;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.lista-convidados-page .lc-cb:hover:not(:disabled) {
    border-color: #1e2d42;
}

.lista-convidados-page .lc-cb:focus {
    outline: none;
}

.lista-convidados-page .lc-cb:focus-visible {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(30, 45, 66, 0.28);
}

.lista-convidados-page .lc-cb:checked {
    background: #1e2d42;
    border-color: #1e2d42;
}

.lista-convidados-page .lc-cb:checked:not(:indeterminate)::after {
    content: '';
    position: absolute;
    box-sizing: border-box;
    left: 5px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.lista-convidados-page .lc-cb:indeterminate {
    background: #1e2d42;
    border-color: #1e2d42;
}

.lista-convidados-page .lc-cb:indeterminate::after {
    content: '';
    position: absolute;
    left: 4px;
    right: 4px;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    background: #ffffff;
    border-radius: 1px;
}

.lista-convidados-page .lc-row-link {
    cursor: pointer;
}

.lista-convidados-page .lc-row-link td.lc-td-select {
    cursor: default;
}

/* Ações da lista de convidados no header (antes do sino) — mesmos estilos .lc-btn */
.topbar .topbar-actions--lista-convidados {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-right: 6px;
    /* Alinhado à ficha do convidado / .cx-btn-accent (#ffcf4e) */
    --lc-accent: #ffcf4e;
    --lc-accent-dark: #ffbf1a;
    --lc-gray-700: #4a4035;
    --lc-gray-900: #1e1a10;
    --lc-white: #ffffff;
    --lc-gray-100: #f4f1e8;
    --lc-gray-200: #e8e3d0;
}

.topbar .topbar-actions--lista-convidados .lista-convidados-topbar-vista-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: 24px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid #ffcf4e;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    font-family: 'Inter', 'Manrope', 'DM Sans', sans-serif;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.2;
    background: var(--lc-white);
    color: #2d3142;
}

.topbar .topbar-actions--lista-convidados .lista-convidados-topbar-vista-link:hover {
    background: #fffdf5;
    border-color: #ffbf1a;
}

.topbar .topbar-actions--lista-convidados .lista-convidados-topbar-vista-link.is-disabled {
    pointer-events: none;
    opacity: 0.55;
}

.topbar .lc-export-dropdown {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}



.topbar .lc-export-dropdown__menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    min-width: 148px;
    background: #FFF;

    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 2000;
    padding: 4px 0;
}

.topbar .lc-export-dropdown[open] .lc-export-dropdown__menu {
    display: block;
}

.topbar .lc-export-dropdown__menu a {
    display: block;
    padding: 16px;
    font-size: 12.5px;
    color: var(--lc-gray-700);
    text-decoration: none;
    font-weight: 500;
}

.topbar .lc-export-dropdown__menu a:hover {
    background: #fffdf5;
    color: #2d3142;
}

/* === convidado-page-v2 (filtros lista + ficha) === */

.convidado-page-v2 {
  --bg-page: #f7f9fc;
  --accent: #f5c842;
  --accent-dark: #e0b030;
  --purple: #6c5ce7;
  --green: #00b894;
  --green-light: #e0f7f2;
  --orange: #e17055;
  --orange-light: #fdf0ec;
  --red: #d63031;
  --red-light: #fdecea;
  --blue-light: #e8f4fd;
  --purple-light: #ede9fb;
  --gray-50: #fdfaf2;
  --gray-100: #f4f1e8;
  --gray-200: #e8e3d0;
  --gray-300: #d0c9b0;
  --gray-400: #b0a890;
  --gray-500: #8a8070;
  --gray-600: #6a6058;
  --gray-700: #4a4035;
  --gray-900: #1e1a10;
  --white: #ffffff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --radius: 10px;
  --radius-lg: 14px;
  font-family: 'DM Sans', -apple-system, sans-serif;
  font-size: 14px;
  color: var(--gray-900);
  margin: 0;
  padding: 0 0 24px;
}
.convidado-page-v2 .cx-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 8px;
  font-size: 12.5px; font-weight: 500; cursor: pointer; border: none; transition: all 0.15s;
  font-family: inherit; white-space: nowrap; text-decoration: none;
}
.convidado-page-v2 .cx-btn-sm { padding: 5px 11px; font-size: 11.5px; }
.convidado-page-v2 .cx-btn-primary { background: var(--accent); color: var(--gray-900); }
.convidado-page-v2 .cx-btn-primary:hover { background: var(--accent-dark); color: var(--gray-900); }
.convidado-page-v2 .cx-btn-secondary { background: var(--white); color: var(--gray-700); border: 1px solid var(--gray-200); }
.convidado-page-v2 .cx-btn-secondary:hover { background: var(--gray-100); }
.convidado-page-v2 .cx-btn-ghost { background: transparent; color: var(--gray-500); border: 1px solid var(--gray-200); }
.convidado-page-v2 .cx-btn-ghost:hover { background: var(--gray-100); color: var(--gray-700); }
/* Faixa RSVP — cores da referência (texto branco + ícones; rótulos em maiúsculas) */
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-confirmado,
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-cancelado,
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-recusado,
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-declinado {
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff !important;
  display: inline-flex;
align-items: center;
gap: 6px;
border-radius: 8px;
padding: 0.35rem 0.75rem;
font-size: 0.8125rem;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-confirmado {
  background: #0e7e5c;
  border: 1px #90f6ce solid;
  color: #f1f1f1
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-confirmado:hover {
  background: #18b485;
  color: #fff !important;
  border: 1px solid #90f6ce;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-cancelado {
  background: #fef2f2;
  border: 1px #fecaca solid !important;
  color: #b91c1c !important;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-cancelado:hover {
  background: #ef4444;
  color: #fff !important;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-recusado {
  background: #fecaca;
  border: 1px solid #fb9d9d;
  color: #b91c1c !important;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-recusado:hover {
  background: #ef4444;
  color: #fff !important;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-declinado {
  background: #b92525;
  border: 1px solid #de7575;
  color: #f1f1f1;
}
.convidado-page-v2 .cx-ss-actions .cx-btn-rsvp-declinado:hover {
  background: #ef4444;
  color: #fff !important;
}
.convidado-page-v2 .cx-nav-bar {
  display: flex; align-items: center; justify-content: space-between; padding: 10px;
  background: var(--white); border-bottom: 1px solid var(--gray-200); gap: 12px;
}
.convidado-page-v2 .cx-nav-center { font-size: 12px; color: var(--gray-500); text-align: center; flex: 1; min-width: 0; }
.convidado-page-v2 .cx-nav-center a { color: var(--purple); font-weight: 500; text-decoration: none; }
.convidado-page-v2 .cx-nav-center a:hover { text-decoration: underline; }
.convidado-page-v2 .cx-nav-disabled { opacity: 0.45; pointer-events: none; }
.convidado-page-v2 .cx-status-strip { background: var(--white); border-bottom: 1px solid var(--gray-200); padding: 0 20px; overflow-x: auto; }
.convidado-page-v2 .cx-status-inner { display: flex; align-items: stretch; gap: 0; min-width: min-content; }
.convidado-page-v2 .cx-ss-actions {
  display: flex; align-items: center; gap: 6px; padding: 10px 0; border-right: 1px solid var(--gray-200);
  padding-right: 14px; margin-right: 14px; flex-shrink: 0; flex-wrap: wrap;
}
.convidado-page-v2 .cx-ss-fields { display: flex; align-items: stretch; gap: 0; flex: 1; }
.convidado-page-v2 .cx-ss-field {
  display: flex; flex-direction: column; gap: 3px; padding: 8px 14px; border-right: 0.5px solid var(--gray-200);
  min-width: 100px; flex-shrink: 0; justify-content: center;
}
.convidado-page-v2 .cx-ss-field:last-child { border-right: none; }
.convidado-page-v2 .cx-ss-label { font-size: 9px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gray-500); }
.convidado-page-v2 .cx-badge {
  display: inline-flex; align-items: center; gap: 3px; padding: 4px 16px !important; border-radius: 20px;
  font-size: 11px; font-weight: 600; white-space: nowrap;
}
.convidado-page-v2 .cx-badge::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:0.55; }
.convidado-page-v2 .cx-b-confirmado { background: var(--green-light); color: #00876a; }
.convidado-page-v2 .cx-b-pendente {
    background: #fd9f02;
    color: #ffffff;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.convidado-page-v2 .cx-b-pendente::before {
    display: none;
}
.convidado-page-v2 .cx-b-declinado { background: var(--red-light); color: #b02020; }
.convidado-page-v2 .cx-b-recusado {
    background: rgba(166, 54, 27, 0.2);
    color: #A6361B;
}
.convidado-page-v2 .cx-b-cancelado {
    background: rgba(154, 165, 177, 0.2);
    color: #9aa5b1;
}
.convidado-page-v2 .cx-b-enviado { background: var(--blue-light); color: #0670c0; }
.convidado-page-v2 .cx-b-sem { background: var(--gray-100); color: var(--gray-500); font-weight: 500; }
.convidado-page-v2 .cx-b-sem::before { display: none; }
.convidado-page-v2 .cx-b-pat {
    background: transparent;
    color: rgba(46, 125, 50, 0.2);
}
.convidado-page-v2 .cx-b-pat::before {
    display: none;
}
.convidado-page-v2 .cx-b-cancel, .convidado-page-v2 .cx-b-recusar { background: var(--gray-100); color: var(--gray-700); }

.convidado-page-v2 .cx-two-col { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
@media (min-width: 1100px) {
  .convidado-page-v2 .cx-two-col { grid-template-columns: 1fr 400px; }
}
.convidado-page-v2 .cx-card {
  background: var(--white); border-radius: var(--radius-lg); border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm); overflow: hidden; margin-bottom: 16px;
}
.convidado-page-v2 .cx-card-header {
  display: flex; align-items: center; justify-content: space-between; padding: 12px 16px;
  border-bottom: 1px solid var(--gray-100); background: var(--gray-50); gap: 10px; flex-wrap: wrap;
}
.convidado-page-v2 .cx-card-title { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 7px; }
.convidado-page-v2 .cx-card-body { padding: 14px 16px; }
.convidado-page-v2 .cx-form-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) {
  .convidado-page-v2 .cx-form-grid { grid-template-columns: 1fr 1fr; }
}
.convidado-page-v2 .cx-form-grid-3 { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 720px) {
  .convidado-page-v2 .cx-form-grid-3 { grid-template-columns: 1fr 1fr 1fr; }
}
.convidado-page-v2 .cx-form-group { display: flex; flex-direction: column; gap: 6px; }
.convidado-page-v2 .cx-form-group.span2 { grid-column: 1 / -1; }
@media (min-width: 640px) {
  .convidado-page-v2 .cx-form-group.span2-md { grid-column: span 2; }
}
@media (min-width: 720px) {
  .convidado-page-v2 .cx-form-group.span3 { grid-column: span 3; }
}
/* Labels e campos alinhados ao Novo Convidado / geral.css */
.convidado-page-v2 .form-label {
  font-size: 14px;
  font-weight: 500;
  color: #191c1e;
  letter-spacing: normal;
  text-transform: none;
}
.convidado-page-v2 textarea.form-control,
.convidado-page-v2 select.form-control,
.convidado-page-v2 input.form-control:not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]) {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #dbe0e6;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.4;
  color: #191c1e;
  background-color: #f8f9fa;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.convidado-page-v2 input.form-control[type="date"],
.convidado-page-v2 input.form-control[type="datetime-local"] {
  height: auto;
  min-height: 48px;
  padding-top: 12px;
  padding-bottom: 12px;
  line-height: 1.25;
}
.convidado-page-v2 textarea.form-control {
  height: auto;
  min-height: 48px;
  padding: 12px 14px;
  resize: vertical;
  line-height: 1.45;
}
.convidado-page-v2 select.form-control[multiple] {
  height: auto;
  min-height: 48px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.convidado-page-v2 input.form-control::placeholder,
.convidado-page-v2 textarea.form-control::placeholder {
  color: #9ca3af;
  opacity: 1;
}
.convidado-page-v2 select.form-control:not([multiple]) {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  color: #6b7280;
  background-color: #f8f9fa;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 0l6 7 6-7z' fill='%23191c1e'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 7px;
}
.convidado-page-v2 .form-control:focus {
  outline: none;
  border-color: #7c8794;
  box-shadow: 0 0 0 2px rgba(154, 165, 177, 0.35);
  background-color: #f8f9fa;
}
.convidado-page-v2 .cx-sec-div {
  font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--gray-500); margin: 16px 0 10px; display: flex; align-items: center; gap: 8px; grid-column: 1 / -1;
}
.convidado-page-v2 .cx-sec-div::after { content:''; flex:1; height:0.5px; background:var(--gray-200); }
.convidado-page-v2 .cx-presence-field { margin-bottom: 12px; }
.convidado-page-v2 .cx-presence-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--gray-600); margin: 0 0 10px;
}
.convidado-page-v2 .cx-rsvp-presence { display: flex; gap: 10px; align-items: stretch; }
.convidado-page-v2 .cx-presence-btn {
  flex: 1; min-height: 46px; padding: 10px 12px; border-radius: 12px;
  border: 1.5px solid var(--gray-200); background: var(--white);
  font-size: 13px; font-weight: 600; font-family: inherit; line-height: 1.2;
  cursor: default; opacity: 1; text-align: center;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.convidado-page-v2 .cx-presence-btn:disabled { opacity: 1; }
.convidado-page-v2 .cx-presence-btn--credenciamento-lock:disabled {
  cursor: not-allowed;
  pointer-events: none;
  background: var(--white) !important;
  border: 1.5px solid var(--gray-200) !important;
  color: var(--gray-600) !important;
  white-space: normal;
}
.convidado-page-v2 .cx-presence-hint {
  font-size: 11px;
  color: var(--gray-500);
  margin: 8px 0 0;
  line-height: 1.35;
  max-width: 42rem;
}
.convidado-page-v2 .cx-comunicacao-actions {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.convidado-page-v2 .cx-comunicacao-btn {
  width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid #19242f;
  background: #fff;
  color: #19242f;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: not-allowed; padding: 0; flex-shrink: 0;
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
  box-shadow: none;
}
.convidado-page-v2 .cx-comunicacao-btn:not(:disabled) {
  cursor: pointer;
}
.convidado-page-v2 .cx-comunicacao-btn:not(:disabled):hover {
  background: #f8fafc;
  border-color: #19242f;
}
.convidado-page-v2 .cx-comunicacao-btn svg {
  width: 20px; height: 20px; stroke: #19242f !important; fill: none !important;
}
.convidado-page-v2 .cx-comunicacao-btn:disabled {
  background: var(--gray-200);
  border-color: var(--gray-300);
  opacity: 1;
}
.convidado-page-v2 .cx-comunicacao-btn:disabled svg {
  stroke: var(--gray-500) !important;
}
.convidado-page-v2 .cx-comunicacao-btn--sent:disabled {
  opacity: 1;
}
.convidado-page-v2 .cx-rsvp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.convidado-page-v2 .cx-rsvp-chips .btn-icon {
  width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--gray-200) !important;
  background: var(--white) !important; display: inline-flex; align-items: center; justify-content: center;
}
.convidado-page-v2 .cx-rsvp-chips .btn-icon:hover { border-color: var(--purple) !important; }
/* Histórico de contato: círculos amarelos chapados (sem sombra / sem escala no hover) */
.convidado-page-v2 .historico-rsvp-actions .historico-rsvp-action-btn {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid var(--accent-dark) !important;
  background: var(--accent) !important;
  color: var(--gray-900) !important;
  box-shadow: none !important;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.convidado-page-v2 .historico-rsvp-actions .historico-rsvp-action-btn:hover {
  background: var(--accent-dark) !important;
  border-color: #c9a028 !important;
  color: var(--gray-900) !important;
}
.convidado-page-v2 .historico-rsvp-actions .historico-rsvp-action-btn svg {
  display: block;
  width: 18px !important;
  height: 18px !important;
  stroke: var(--gray-900) !important;
  fill: none !important;
}
.convidado-page-v2 .cx-history-table { width: 100%; border-collapse: collapse; }
.convidado-page-v2 .cx-history-table thead th {
  padding: 8px 10px; text-align: left; font-size: 10px; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--gray-500); background: var(--gray-100); border-bottom: 1px solid var(--gray-200);
}
.convidado-page-v2 .cx-history-table tbody td { padding: 8px 10px; font-size: 11.5px; color: var(--gray-700); vertical-align: top; border-bottom: 0.5px solid var(--gray-100); }
.convidado-page-v2 .cx-history-table tbody tr:hover { background: var(--gray-50); }
.convidado-page-v2 .cx-mono { font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--gray-500); white-space: nowrap; }
.convidado-page-v2 .cx-action-tag { display: inline-flex; padding: 2px 8px; border-radius: 5px; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; }
.convidado-page-v2 .cx-a-edit { background: var(--blue-light); color: #0670c0; }
.convidado-page-v2 .cx-a-rsvp { background: var(--purple-light); color: #4a36cc; }
.convidado-page-v2 .cx-a-decl { background: var(--red-light); color: #b02020; }
.convidado-page-v2 .cx-a-pend { background: #fff8e1; color: #c07800; }
.convidado-page-v2 .cx-a-def { background: var(--gray-100); color: var(--gray-600); }
.convidado-page-v2 .cx-doc-row {
  display: flex; align-items: center; justify-content: space-between; padding: 8px 10px;
  background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: 8px; margin-bottom: 8px; gap: 8px; flex-wrap: wrap;
}
/* Cromado / posição da .cx-save-bar: public/css/dashboard.css (igual à topbar) */
.convidado-page-v2 .cx-save-bar-left { font-size: 12px; color: var(--gray-500); }
.convidado-page-v2 .cx-save-bar-right { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
body.dashboard-shell .cx-save-bar .cx-btn:not(.cx-btn-accent):not(.cx-btn-footer-cancel) {
  border-radius: 14px;
  padding: 10px 18px;
  font-size: 13px;
}
body.dashboard-shell .cx-save-bar .cx-btn-footer-pill.cx-btn-ghost {
  background: var(--white);
  color: var(--gray-700);
  border: 1px solid var(--gray-200);
}
body.dashboard-shell .cx-save-bar .cx-btn-footer-pill.cx-btn-ghost:hover {
  background: var(--gray-100);
  color: var(--gray-900);
}
body.dashboard-shell .cx-save-bar .cx-nav-disabled {
  cursor: not-allowed;
}
/* .cx-alert: formato e cores globais em dashboard.css */
.convidado-page-v2 .cx-alert { margin-bottom: 12px; }
.convidado-page-v2 .cx-alert--convidado-top { margin: 12px 20px; max-width: calc(100% - 40px); }
.convidado-page-v2 .pendente-cliente-box { border-radius: var(--radius); margin-top: 8px; }
/* Campos alinhados a geral.css (#f8f9fa); foco igual a .form-control:focus */
.convidado-page-v2 .pendente-cliente-head { margin-bottom: 6px; }
.convidado-page-v2 .pendente-cliente-actions-row {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 8px;
  margin-top: 8px;
}
.convidado-page-v2 .pendente-cliente-actions-row #btn-salvar-pendente-cliente.cv-pendente-salvar-btn {
  align-self: flex-start;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.3;
  -webkit-appearance: none;
  appearance: none;
  background: #2f3a45 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-weight: 600;
}
.convidado-page-v2 .pendente-cliente-actions-row #btn-salvar-pendente-cliente.cv-pendente-salvar-btn:hover {
  background: #3d4b58 !important;
  color: #fff !important;
}
.convidado-page-v2 .pendente-cliente-actions-row #btn-salvar-pendente-cliente.cv-pendente-salvar-btn:focus-visible {
  outline: 2px solid #2f3a45;
  outline-offset: 2px;
}
/* Mesma altura do botão Salvar: ícone quadrado com cantos alinhados ao btn-sm */
.convidado-page-v2 .pendente-cliente-actions-row .pendente-cliente-btn-edit.btn-icon {
  width: auto;
  height: auto;
  min-width: 0;
  /* ~altura btn-sm; com Salvar visível o stretch iguala à linha flex */
  min-height: 2.25rem;
  padding: 0;
  flex: 0 0 auto;
  align-self: stretch;
  aspect-ratio: 1;
  border-radius: 8px;
  box-sizing: border-box;
}
.convidado-page-v2 .pendente-cliente-hint {
  margin-top: 0.35rem;
  display: block;
}
.convidado-page-v2 .historico-rsvp-textarea { min-height: 100px; }
.convidado-page-v2 .convidado-historico-quadro { max-height: 220px; overflow-y: auto; border: 1px solid var(--gray-200); border-radius: 8px; background: var(--gray-50); }
.convidado-page-v2 .convidado-historico-quadro-inner { padding: 10px 12px; }
.convidado-page-v2 .convidado-historico-item { padding: 8px 0; border-bottom: 1px solid var(--gray-200); font-size: 12px; }
.convidado-page-v2 .convidado-historico-item:last-child { border-bottom: none; }
.convidado-page-v2 .btn.btn-secondary { border-radius: 8px; font-family: inherit; font-size: 12px; }
/*
 * Modal “sair sem salvar”: ID + !important para não depender do ancestral .convidado-page-v2
 * (evita overlay no fluxo da página se o seletor encadeado falhar). Botões duplicados aqui
 * porque o nó pode ser movido para document.body pelo script da ficha.
 */
#cx-leave-confirm-modal.cx-leave-modal {
  position: fixed !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  z-index: 10050 !important;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
#cx-leave-confirm-modal.cx-leave-modal[hidden] { display: none !important; }
#cx-leave-confirm-modal.cx-leave-modal:not([hidden]) { display: flex !important; }
#cx-leave-confirm-modal .cx-leave-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(30, 26, 16, 0.45);
  cursor: default;
}
#cx-leave-confirm-modal .cx-leave-modal__panel {
  position: relative;
  z-index: 1;
  max-width: 480px;
  width: 100%;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e8e3d0;
  box-shadow: 0 16px 48px rgba(0,0,0,0.12);
  padding: 20px 22px;
}
#cx-leave-confirm-modal .cx-leave-modal__text {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.45;
  color: #1e1a10;
  font-weight: 500;
}
#cx-leave-confirm-modal .cx-leave-modal__detail {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  color: #3d3628;
}
#cx-leave-confirm-modal .cx-leave-modal__detail[hidden] {
  display: none !important;
}
#cx-leave-confirm-modal .cx-leave-modal__detail .cx-leave-modal__list {
  margin: 0;
  padding-left: 1.15rem;
}
#cx-leave-confirm-modal .cx-leave-modal__detail .cx-leave-modal__list li {
  margin-bottom: 6px;
}
#cx-leave-confirm-modal .cx-leave-modal__detail .cx-leave-modal__list li:last-child {
  margin-bottom: 0;
}
#cx-leave-confirm-modal .cx-leave-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
#cx-leave-confirm-modal .cx-leave-modal__actions .cx-btn {
  min-width: 128px;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
  font-family: 'Inter', 'Manrope', 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  white-space: nowrap;
  text-decoration: none;
}
#cx-leave-confirm-modal .cx-leave-modal__actions .cx-btn-primary {
  background: #ffcf4e;
  border-color: #ffcf4e;
  color: #1e1a10;
  box-shadow: -1px -1px 4px 0 #ffffff, 1px 1px 4px 0 #abbccc;
}
#cx-leave-confirm-modal .cx-leave-modal__actions .cx-btn-primary:hover {
  background: #ffbf1a;
  border-color: #ffbf1a;
  color: #1e1a10;
}
#cx-leave-confirm-modal .cx-leave-modal__actions .cx-btn-secondary {
  background: #ffffff;
  color: #4a4035;
  border: 1px solid #e8e3d0;
}
#cx-leave-confirm-modal .cx-leave-modal__actions .cx-btn-secondary:hover {
  background: #f4f1e8;
}

/* === Utilitários lista (sem style inline em lista.blade.php) === */
#lista-convidados-bulk-rsvp-form,
#lista-convidados-bulk-group-form,
#lista-convidados-bulk-delete-form {
    display: none;
}

#lista-convidados-per-page-form {
    display: inline;
}

.lc-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lista-convidados-page .lc-data-table thead th.lc-th-select,
.lista-convidados-page .lc-data-table tbody td.lc-td-select {
    text-align: center;
    vertical-align: middle;
}

.lista-convidados-page .lc-data-table thead th.lc-th-select {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    padding: 14px 6px;
}

.lista-convidados-page .lc-data-table tbody td.lc-td-select {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    padding: 16px 6px;
}

.lista-convidados-page .lc-data-table thead th.lc-th-select .lc-cb,
.lista-convidados-page .lc-data-table tbody td.lc-td-select .lc-cb {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.lista-convidados-page .lc-th-id-col {
    width: 1%;
    min-width: 6.5rem;
    white-space: nowrap;
}

.lista-convidados-page .lc-th-acoes {
    width: 88px;
}

.dashboard-content .usuarios-alert-error.lc-lista-flash-spacing {
    margin: 0 0 12px;
}
