.cadastro-tab {
    display: inline-flex;
    flex-shrink: 0;
    padding: 0.625rem 1.25rem;
    border-radius: 0.5rem 0.5rem 0 0;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    background-color: rgb(243 244 246);
    color: rgb(75 85 99);
}

@media (min-width: 768px) {
    .cadastro-tab {
        font-size: 1rem;
    }
}

.cadastro-tab:hover {
    background-color: rgb(229 231 235);
    color: rgb(2 132 199);
}

.cadastro-tab--active {
    background-color: rgb(2 132 199);
    color: #fff;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.06);
}

.cadastro-tab--active:hover {
    background-color: rgb(2 132 199);
    color: #fff;
}

.cadastro-tabs-nav {
    display: flex;
    gap: 0.5rem;
    border-bottom: 1px solid rgb(229 231 235);
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 0.25rem;
}

.cadastro-page-content {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.25s ease, transform 0.25s ease;
    will-change: opacity, transform;
}

.cadastro-page-content.cadastro-content-leaving {
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
}

.cadastro-page-content.cadastro-content-enter {
    opacity: 0;
    transform: translateY(8px);
}

.cadastro-page-content.cadastro-content-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .cadastro-page-content,
    .cadastro-tab {
        transition: none;
    }
}
