.integrations-page { background: #f7f7fb; color: #24193d; }
.integrations-page [hidden] { display: none !important; }
.catalog-navigation { display: flex; align-items: center; gap: 2rem; }
.catalog-home-link { font-size: .95rem; color: #d8c9f4; }
.catalog-hero { padding: 9.5rem 0 3.2rem; color: white; background: radial-gradient(ellipse at 80% 80%, #5221a0 0%, transparent 57%), linear-gradient(120deg, #190535, #2c0c62); position: relative; overflow: hidden; }
.catalog-hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: linear-gradient(#ffffff0c 1px, transparent 1px), linear-gradient(90deg, #ffffff0c 1px, transparent 1px); background-size: 56px 56px; }
.catalog-hero-content { position: relative; z-index: 1; }
.catalog-eyebrow { font-size: .76rem; font-weight: 700; letter-spacing: .16em; color: #7142b6; }
.catalog-hero .catalog-eyebrow { color: #c3a5f1; }
.catalog-hero h1 { font-size: clamp(2.8rem, 4.8vw, 4.7rem); line-height: 1.04; letter-spacing: -.035em; margin: 1rem 0 1.2rem; }
.catalog-hero h1 em { font-style: normal; color: #c2a2ff; }
.catalog-hero p { color: #d7caee; max-width: 43rem; font-size: 1.12rem; line-height: 1.6; }
.catalog-summary { display: flex; gap: 3rem; margin-top: 2.4rem; }
.catalog-summary > div { display: flex; align-items: center; gap: .7rem; }
.catalog-summary strong { font-size: 2rem; line-height: 1; }
.catalog-summary span { color: #d7caee; font-size: .93rem; }
.status-dot { display: inline-block; width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.production-dot { background: #28be88; }
.testing-dot { background: #e9b956; }
.catalog-summary .status-dot { margin-right: .25rem; }
.catalog-section { padding: 3.7rem 0 0; }
.catalog-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.catalog-section-heading h2 { font-size: 2.3rem; letter-spacing: -.025em; line-height: 1.1; margin: .6rem 0 0; }
.catalog-section-heading p { color: #756b84; font-size: 1rem; line-height: 1.6; }
.catalog-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-bottom: 1rem; }
.catalog-search { display: flex; align-items: center; gap: .65rem; background: white; border: 1px solid #dfdbe7; border-radius: .65rem; padding: 0 .9rem; flex: 1 1 18rem; }
.catalog-search > span { color: #836d9e; font-size: 1.7rem; }
.catalog-search input { min-width: 0; width: 100%; background: transparent; border: 0; padding: .85rem 0; font: inherit; color: #24193d; }
.catalog-search:focus-within { outline: 2px solid #8755db; outline-offset: 2px; }
.catalog-search input:focus { outline: none; }
.catalog-environments { display: flex; gap: .2rem; border: 1px solid #dfdbe7; border-radius: .65rem; padding: .25rem; background: #eeebf3; }
.catalog-environments button { background: transparent; border: 0; border-radius: .45rem; color: #70617f; font: inherit; font-size: .91rem; cursor: pointer; padding: .65rem .85rem; white-space: nowrap; }
.catalog-environments button[aria-pressed="true"] { background: #fff; color: #5420a5; box-shadow: 0 2px 5px #35165310; font-weight: 700; }
.catalog-method select { font: inherit; font-size: .94rem; padding: .87rem .75rem; border: 1px solid #dfdbe7; border-radius: .65rem; color: #51425f; background: white; max-width: 100%; }
.catalog-results { color: #7b7189; font-size: .85rem; margin: 0 0 1.2rem; min-height: 1.1rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.catalog-card { min-width: 0; background: #fff; border: 1px solid #e6e1ee; border-radius: 1rem; padding: 1.15rem 1.35rem 1.35rem; transition: border-color .2s, box-shadow .2s; }
.catalog-card:hover { border-color: #bda3e4; box-shadow: 0 7px 22px #4225700a; }
.catalog-status { display: flex; gap: .35rem; align-items: center; width: fit-content; margin-left: auto; font-size: .72rem; font-weight: 600; }
.catalog-status-production { color: #16815c; }
.catalog-status-testing { color: #916113; }
.catalog-logo { height: 5.4rem; display: flex; align-items: center; }
.catalog-logo img { width: auto; height: auto; max-width: 100%; max-height: 2.9rem; object-fit: contain; }
.catalog-logo > span { font-size: 2.3rem; color: #713cc5; font-weight: 800; }
.catalog-card h3 { font-size: 1.17rem; margin: .35rem 0 .22rem; }
.catalog-bank-code { margin: 0; color: #8c8198; font-size: .78rem; }
.catalog-methods { list-style: none; display: flex; flex-wrap: wrap; padding: 0; gap: .4rem; margin: 1.05rem 0 0; }
.catalog-methods li { font-size: .76rem; font-weight: 600; border-radius: .4rem; background: #f3eefb; color: #7040aa; padding: .32rem .55rem; }
.catalog-methods li { display: flex; flex-direction: column; gap: .16rem; }
.catalog-methods small { font-size: .65rem; font-weight: 400; }
.catalog-methods [data-modality-environment="homologacao"] { color: #80571d; background: #fff3dc; }
.catalog-empty { padding: 3.5rem 1rem; text-align: center; grid-column: 1 / -1; }
.catalog-empty h3 { font-size: 1.5rem; margin-bottom: .5rem; }
.catalog-empty p { color: #7b7189; }
.catalog-reset { margin-top: 1rem; border: 0; border-radius: .5rem; padding: .7rem 1.2rem; font: inherit; font-weight: 700; color: #6634b1; background: #eae0fa; cursor: pointer; }
.catalog-legend { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 1.5rem 0 3.5rem; color: #7b7189; font-size: .82rem; }
.catalog-legend span { display: flex; align-items: center; gap: .35rem; }
.catalog-legend strong { color: #5b4b6e; }
.catalog-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2.2rem; border-radius: 1rem; background: #eee7f8; margin-bottom: 3.5rem; }
.catalog-cta h2 { margin: 0 0 .5rem; font-size: 1.65rem; }
.catalog-cta p { margin: 0; color: #79628e; }
.catalog-footer { border-top: 1px solid #e3ddeb; padding: 1.5rem 0; font-size: .85rem; color: #7b7189; }
.catalog-footer > div { display: flex; justify-content: space-between; gap: 1rem; }
.integrations-page button:focus-visible, .integrations-page select:focus-visible, .catalog-footer a:focus-visible, .catalog-home-link:focus-visible { outline: 2px solid #8755db; outline-offset: 3px; }
.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; }
@media (max-width: 1000px) { .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .catalog-controls { align-items: stretch; } .catalog-search { flex-basis: 100%; } }
@media (max-width: 640px) {
    .catalog-home-link { font-size: .85rem; } .catalog-navigation { gap: .5rem; }
    .catalog-hero { padding-top: 7.5rem; padding-bottom: 2.5rem; }
    .catalog-hero h1 { font-size: 2.8rem; } .catalog-hero p { font-size: 1.02rem; }
    .desktop-break { display: none; } .catalog-summary { gap: 1rem; justify-content: space-between; margin-top: 2rem; }
    .catalog-summary > div { flex-direction: column; align-items: flex-start; gap: .5rem; } .catalog-summary strong { font-size: 1.75rem; } .catalog-summary span { font-size: .77rem; }
    .catalog-section { padding-top: 2.4rem; } .catalog-section-heading { display: block; } .catalog-section-heading h2 { font-size: 2rem; } .catalog-section-heading p { margin-top: 1rem; }
    .catalog-environments { width: 100%; } .catalog-environments button { flex: 1; padding: .65rem .45rem; }
    .catalog-method, .catalog-method select { width: 100%; }
    .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .catalog-card { padding: .85rem; border-radius: .8rem; } .catalog-logo { height: 4.6rem; } .catalog-logo img { max-height: 2.2rem; }
    .catalog-status { font-size: .65rem; } .catalog-card h3 { font-size: 1.02rem; } .catalog-bank-code { font-size: .7rem; }
    .catalog-legend { flex-direction: column; gap: .7rem; margin-bottom: 2.3rem; }
    .catalog-cta { flex-direction: column; align-items: flex-start; padding: 1.5rem; margin-bottom: 2.5rem; }
    .catalog-footer > div { flex-direction: column; }
}
