/*
 * Ingressos MS — ETAPA 8
 * Branding visual completo do Filament
 * v1.0.0
 *
 * Identidade:
 * - títulos: Barlow
 * - textos: Lato
 * - azul escuro: #08243A
 * - azul: #1677B8
 * - verde: #A8CD00
 * - amarelo: #FFD43B
 */

html,
:root {
    --ims-navy: #08243A;
    --ims-navy-2: #0F3551;
    --ims-blue: #1677B8;
    --ims-blue-dark: #0F5F96;
    --ims-green: #A8CD00;
    --ims-green-dark: #769300;
    --ims-yellow: #FFD43B;
    --ims-yellow-dark: #B98A00;
    --ims-bg: #F5F8FB;
    --ims-card: #FFFFFF;
    --ims-line: #DFE7ED;
    --ims-text: #172B3D;
    --ims-muted: #657583;
    --ims-soft-green: #F3F8DF;
    --ims-soft-blue: #EDF6FC;
    --ims-soft-yellow: #FFF8D8;
    --ims-soft-navy: #EFF4F7;

    /* substitui o antigo primary amber/laranja */
    --primary-50: #F7FBE8 !important;
    --primary-100: #EDF5C6 !important;
    --primary-200: #DBEB8F !important;
    --primary-300: #C9E059 !important;
    --primary-400: #B7D626 !important;
    --primary-500: #A8CD00 !important;
    --primary-600: #8FAF00 !important;
    --primary-700: #769300 !important;
    --primary-800: #5E7500 !important;
    --primary-900: #465700 !important;
    --primary-950: #273100 !important;

    /* warning deixa de ser laranja e passa para amarelo da marca */
    --warning-50: #FFFDF0 !important;
    --warning-100: #FFF9CE !important;
    --warning-200: #FFF29B !important;
    --warning-300: #FFE866 !important;
    --warning-400: #FFDD48 !important;
    --warning-500: #FFD43B !important;
    --warning-600: #E8B817 !important;
    --warning-700: #B98A00 !important;
    --warning-800: #916A00 !important;
    --warning-900: #705100 !important;
    --warning-950: #3D2C00 !important;

    /* info no azul da identidade */
    --info-50: #F0F8FD !important;
    --info-100: #E1F1FB !important;
    --info-200: #BCE2F5 !important;
    --info-300: #89CEEC !important;
    --info-400: #4DB3DC !important;
    --info-500: #1677B8 !important;
    --info-600: #126AA5 !important;
    --info-700: #0F5F96 !important;
    --info-800: #114F78 !important;
    --info-900: #123F5D !important;
    --info-950: #08243A !important;
}

html,
body,
.fi-body,
.fi-main,
.fi-layout,
.fi-page,
.fi-section,
.fi-ta,
.fi-modal,
.fi-dropdown,
.fi-input-wrp,
.fi-fo-field-wrp {
    font-family: "Lato", Arial, sans-serif !important;
}

.fi-header-heading,
.fi-section-header-heading,
.fi-modal-heading,
.fi-ta-header-heading,
.fi-page-heading,
.fi-breadcrumbs,
h1,
h2,
h3,
h4 {
    font-family: "Barlow", "Lato", Arial, sans-serif !important;
    letter-spacing: -.015em;
}

.fi-body,
.fi-main,
.fi-main-ctn {
    background: var(--ims-bg) !important;
    color: var(--ims-text) !important;
}

.fi-main {
    padding-top: 1.2rem !important;
}

.fi-page {
    max-width: 100% !important;
}

.fi-header-heading {
    color: #071D30 !important;
    font-weight: 800 !important;
}

.fi-header-subheading,
.fi-section-header-description,
.fi-fo-field-wrp-helper-text,
.fi-ta-text-item-description {
    color: var(--ims-muted) !important;
}

/* ==========================================================
   TOPBAR
   ========================================================== */

.fi-topbar nav,
.fi-topbar > div {
    background: rgba(255, 255, 255, .98) !important;
    border-bottom: 1px solid #E7EDF2 !important;
    box-shadow: 0 1px 0 rgba(8, 36, 58, .035) !important;
}

.fi-topbar .fi-logo {
    max-height: 2.25rem !important;
}

.fi-topbar .fi-input-wrp,
.fi-global-search-field {
    border-color: #DDE5EB !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* ==========================================================
   SIDEBAR
   ========================================================== */

.fi-sidebar {
    background: #FFFFFF !important;
    border-right: 1px solid var(--ims-line) !important;
    box-shadow: 8px 0 28px rgba(8, 36, 58, .035) !important;
}

.fi-sidebar-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDF1F4 !important;
    box-shadow: none !important;
}

.fi-sidebar-nav {
    background: #FFFFFF !important;
    padding: 12px 10px 18px !important;
    scrollbar-width: thin;
    scrollbar-color: #C9D3DA transparent;
}

.fi-sidebar-nav::-webkit-scrollbar {
    width: 5px;
}

.fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: #C9D3DA;
    border-radius: 999px;
}

.fi-sidebar-nav-groups {
    gap: 9px !important;
}

.fi-sidebar-item-btn,
.fi-sidebar-item-button,
.fi-sidebar-item > a {
    min-height: 39px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    transition: background-color .16s ease, transform .16s ease, color .16s ease !important;
}

.fi-sidebar-item-label {
    color: #1C3144 !important;
    font-weight: 700 !important;
    font-size: .875rem !important;
}

.fi-sidebar-item svg,
.fi-sidebar-item .fi-icon {
    color: #758594 !important;
}

@media (hover:hover) and (pointer:fine) {
    .fi-sidebar-item-btn:hover,
    .fi-sidebar-item-button:hover,
    .fi-sidebar-item > a:hover {
        background: #F2F6F8 !important;
        transform: translateX(1px);
    }
}

.fi-sidebar-item-active .fi-sidebar-item-btn,
.fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar-item.fi-active .fi-sidebar-item-btn,
.fi-sidebar-item.fi-active .fi-sidebar-item-button,
.fi-sidebar-item [aria-current="page"] {
    background: linear-gradient(90deg, #EEF6C8 0%, #F8FBEA 100%) !important;
    box-shadow: inset 4px 0 0 var(--ims-green) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar-item [aria-current="page"] .fi-sidebar-item-label {
    color: var(--ims-navy) !important;
    font-weight: 900 !important;
}

.fi-sidebar-item-active svg,
.fi-sidebar-item.fi-active svg,
.fi-sidebar-item [aria-current="page"] svg {
    color: var(--ims-green-dark) !important;
}

/* grupos: somente cores da marca */
.fi-sidebar-group {
    --ims-group-bg: var(--ims-soft-navy);
    --ims-group-accent: var(--ims-navy);
    --ims-group-text: var(--ims-navy);
}

.fi-sidebar-group.ims-group-relatorios {
    --ims-group-bg: var(--ims-soft-blue);
    --ims-group-accent: var(--ims-blue);
    --ims-group-text: #0E567E;
}

.fi-sidebar-group.ims-group-operacao {
    --ims-group-bg: var(--ims-soft-navy);
    --ims-group-accent: var(--ims-navy);
    --ims-group-text: var(--ims-navy);
}

.fi-sidebar-group.ims-group-comunicacao {
    --ims-group-bg: var(--ims-soft-yellow);
    --ims-group-accent: var(--ims-yellow);
    --ims-group-text: #735B00;
}

.fi-sidebar-group.ims-group-eventos {
    --ims-group-bg: var(--ims-soft-green);
    --ims-group-accent: var(--ims-green);
    --ims-group-text: #526500;
}

.fi-sidebar-group.ims-group-conteudo-do-evento {
    --ims-group-bg: var(--ims-soft-blue);
    --ims-group-accent: var(--ims-blue);
    --ims-group-text: #0E567E;
}

.fi-sidebar-group.ims-group-vendas {
    --ims-group-bg: var(--ims-soft-yellow);
    --ims-group-accent: var(--ims-yellow);
    --ims-group-text: #735B00;
}

.fi-sidebar-group.ims-group-financeiro,
.fi-sidebar-group.ims-group-efi-bank,
.fi-sidebar-group.ims-group-efi {
    --ims-group-bg: var(--ims-soft-navy);
    --ims-group-accent: var(--ims-navy);
    --ims-group-text: var(--ims-navy);
}

.fi-sidebar-group > .fi-sidebar-group-button {
    width: 100% !important;
    min-height: 39px !important;
    margin: 0 0 3px !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-left: 3px solid var(--ims-group-accent) !important;
    border-radius: 9px !important;
    background: var(--ims-group-bg) !important;
    box-shadow: none !important;
}

.fi-sidebar-group-label {
    color: var(--ims-group-text) !important;
    font-family: "Barlow", "Lato", sans-serif !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.fi-sidebar-group-collapse-button {
    color: var(--ims-group-text) !important;
}

.fi-sidebar-group-items {
    margin: 2px 0 1px 8px !important;
    padding: 3px 0 3px 8px !important;
    border-left: 1px solid #E1E8ED !important;
    gap: 1px !important;
}

.fi-sidebar-group.ims-group-has-active > .fi-sidebar-group-button {
    box-shadow: inset 0 0 0 1px rgba(8, 36, 58, .07) !important;
}

.ims-dashboard-item > a,
.ims-dashboard-item .fi-sidebar-item-btn,
.ims-dashboard-item .fi-sidebar-item-button {
    border: 1px solid #E1EBC2 !important;
    background: #FCFDF8 !important;
}

.ims-legacy-hidden {
    display: none !important;
}

/* ==========================================================
   CARDS / SECTIONS / TABLES
   ========================================================== */

.fi-section,
.fi-ta-ctn,
.fi-modal-window,
.fi-wi-stats-overview-stat {
    border-color: #DDE5EA !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(8, 36, 58, .035) !important;
}

.fi-section {
    background: #FFFFFF !important;
}

.fi-section-header {
    border-bottom-color: #E8EEF2 !important;
}

.fi-section-header-heading {
    color: var(--ims-navy) !important;
    font-weight: 800 !important;
}

.fi-wi-stats-overview-stat {
    background: linear-gradient(145deg, #FFFFFF 0%, #FBFCFD 100%) !important;
}

.fi-wi-stats-overview-stat-value {
    color: var(--ims-navy) !important;
    font-family: "Barlow", "Lato", sans-serif !important;
    font-weight: 800 !important;
}

.fi-ta-header,
.fi-ta-header-toolbar {
    background: #FFFFFF !important;
}

.fi-ta-row:hover {
    background: #F8FAFB !important;
}

.fi-ta-header-cell-label {
    color: #455A6B !important;
    font-weight: 800 !important;
}

.fi-ta-cell {
    border-color: #EEF2F5 !important;
}

/* ==========================================================
   FORMULÁRIOS
   ========================================================== */

.fi-input-wrp {
    border-radius: 10px !important;
    border-color: #CFD9E0 !important;
    box-shadow: none !important;
    background: #FFFFFF !important;
}

.fi-input-wrp:focus-within {
    border-color: var(--ims-blue) !important;
    box-shadow: 0 0 0 3px rgba(22, 119, 184, .11) !important;
}

.fi-input,
.fi-select-input,
.fi-fo-textarea,
.fi-fo-field-wrp-label {
    color: var(--ims-text) !important;
}

.fi-fo-field-wrp-label {
    font-weight: 700 !important;
}

.fi-fo-field-wrp-label-required-mark {
    color: #BE3F36 !important;
}

.fi-fo-toggle {
    --primary-600: var(--ims-green-dark) !important;
}

/* ==========================================================
   BOTÕES / AÇÕES
   ========================================================== */

.fi-btn {
    border-radius: 10px !important;
    font-family: "Lato", Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: .005em;
    box-shadow: none !important;
}

.fi-btn.fi-color-primary {
    background: var(--ims-green) !important;
    color: #182500 !important;
}

.fi-btn.fi-color-primary:hover {
    background: #98BC00 !important;
}

.fi-btn.fi-color-info {
    background: var(--ims-blue) !important;
    color: #FFFFFF !important;
}

.fi-btn.fi-color-warning {
    background: var(--ims-yellow) !important;
    color: #463600 !important;
}

.fi-btn.fi-color-gray {
    border-color: #D8E0E6 !important;
    background: #FFFFFF !important;
    color: #33495B !important;
}

.fi-link.fi-color-primary {
    color: var(--ims-green-dark) !important;
}

.fi-link.fi-color-info {
    color: var(--ims-blue-dark) !important;
}

/* badges */
.fi-badge.fi-color-primary {
    background: #EEF6C8 !important;
    color: #4F6200 !important;
}

.fi-badge.fi-color-info {
    background: #EAF4FA !important;
    color: #0D5F8D !important;
}

.fi-badge.fi-color-warning {
    background: #FFF5C2 !important;
    color: #715500 !important;
}

/* ==========================================================
   WIZARD DO EVENTO
   ========================================================== */

.fi-sc-wizard {
    border-radius: 16px !important;
    overflow: hidden !important;
    border-color: #DCE5EA !important;
    box-shadow: 0 5px 20px rgba(8, 36, 58, .03) !important;
}

.fi-sc-wizard-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid #E7EDF1 !important;
}

@media (min-width: 1024px) {
    .fi-sc-wizard-header {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    .fi-sc-wizard-header-step {
        min-width: 0 !important;
        display: flex !important;
    }

    .fi-sc-wizard-header-step-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 120px !important;
        padding: 16px 12px !important;
        column-gap: 10px !important;
        align-items: flex-start !important;
    }

    .fi-sc-wizard-header-step-text {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .fi-sc-wizard-header-step-label,
    .fi-sc-wizard-header-step-description {
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    .fi-sc-wizard-header-step-description {
        max-width: 16ch !important;
        line-height: 1.28 !important;
    }

    .fi-sc-wizard-header-step-separator {
        display: none !important;
    }
}

.fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-icon-ctn {
    background: var(--ims-green) !important;
}

.fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-icon-ctn .fi-icon {
    color: #173000 !important;
}

.fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-icon-ctn {
    border-color: var(--ims-blue) !important;
    background: #F3F9FC !important;
}

.fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-icon-ctn .fi-icon {
    color: var(--ims-blue) !important;
}

.fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-label {
    color: var(--ims-blue-dark) !important;
    font-weight: 800 !important;
}

.fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-label {
    color: var(--ims-navy) !important;
    font-weight: 800 !important;
}

/* ==========================================================
   MODAIS / NOTIFICAÇÕES / PROGRESSO
   ========================================================== */

.fi-modal-window {
    overflow: hidden !important;
}

.fi-modal-header {
    background: #FBFCFD !important;
    border-bottom: 1px solid #E6EDF1 !important;
}

.fi-notification {
    border-radius: 14px !important;
    box-shadow: 0 12px 34px rgba(8, 36, 58, .13) !important;
}

progress,
.fi-progress-bar {
    accent-color: var(--ims-green);
}

/* cards de preenchimento personalizados da etapa 1 */
.ims-event-progress,
[class*="event-progress"] {
    border-radius: 16px !important;
}

/* ==========================================================
   LOGIN
   ========================================================== */

.fi-simple-layout {
    background:
        radial-gradient(circle at 15% 15%, rgba(168, 205, 0, .12), transparent 28%),
        radial-gradient(circle at 85% 12%, rgba(22, 119, 184, .10), transparent 30%),
        #F5F8FB !important;
}

.fi-simple-main {
    border-radius: 18px !important;
    box-shadow: 0 18px 50px rgba(8, 36, 58, .09) !important;
    border: 1px solid #DDE6EB !important;
}

/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media (max-width: 1023px) {
    .fi-sidebar-nav {
        padding: 10px !important;
    }

    .fi-main {
        padding-top: .8rem !important;
    }

    .fi-section,
    .fi-ta-ctn {
        border-radius: 13px !important;
    }
}

@media (max-width: 767px) {
    .fi-header-heading {
        font-size: 1.55rem !important;
        line-height: 1.08 !important;
    }

    .fi-btn {
        min-height: 40px !important;
    }

    .fi-sc-wizard-header-step.fi-active {
        display: flex !important;
    }

    .fi-sc-wizard-header-step-btn {
        min-height: 86px !important;
        padding: 12px 14px !important;
    }

    .fi-sc-wizard-header-step-description {
        line-height: 1.3 !important;
    }
}


/* ETAPA 9 — hibernação visual robusta do legado Asaas */
.fi-sidebar-item:has(a[href*="/admin/asaas-"]),
.fi-sidebar-item:has(a[href*="/integracoes/asaas"]),
a[href*="/admin/asaas-"],
a[href*="/integracoes/asaas"] {
    display: none !important;
}


/* AJUSTE — bordas dos campos mais visíveis em repouso */
.fi-input-wrp {
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #B9C7D2 !important;
    box-shadow: inset 0 0 0 1px rgba(185, 199, 210, .28) !important;
    background: #FFFFFF !important;
}

.fi-input-wrp:hover {
    border-color: #9FB2C1 !important;
    box-shadow: inset 0 0 0 1px rgba(159, 178, 193, .32) !important;
}

.fi-input-wrp:focus-within {
    border-color: var(--ims-blue) !important;
    box-shadow:
        inset 0 0 0 1px rgba(22, 119, 184, .18) !important,
        0 0 0 3px rgba(22, 119, 184, .11) !important;
}

.fi-input-wrp .fi-input,
.fi-input-wrp input,
.fi-input-wrp textarea,
.fi-input-wrp select {
    background: transparent !important;
}

.fi-fo-placeholder,
.fi-input::placeholder,
input::placeholder,
textarea::placeholder {
    color: #8A9AA8 !important;
    opacity: 1 !important;
}

/* ==========================================================
   INGRESSOS MS — LAYOUT ADMIN AMPLO v1.0.0
   Remove o limite central do Filament e usa toda a largura
   disponível, inclusive com a sidebar recolhida.
   ========================================================== */

@media (min-width: 1024px) {
    .fi-main {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    .fi-main > *,
    .fi-page,
    .fi-page > *,
    .fi-resource-list-records-page,
    .fi-resource-edit-record-page,
    .fi-resource-create-record-page {
        width: 100% !important;
        max-width: none !important;
    }

    .fi-ta,
    .fi-ta-ctn,
    .fi-section,
    .fi-section-content,
    .fi-fo-component-ctn {
        max-width: none !important;
    }
}

@media (min-width: 1536px) {
    .fi-main {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

@media (max-width: 1023px) {
    .fi-main {
        width: 100% !important;
        max-width: none !important;
    }

    .fi-page {
        width: 100% !important;
        max-width: none !important;
    }
}
