@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';

/* /Components/ErrorContent.razor.rz.scp.css */
.text-danger[b-r0rz7r47ka] {
    color: #dc3545;
}

.text-center[b-r0rz7r47ka] {
    text-align: center;
}

.mt-5[b-r0rz7r47ka] {
    margin-top: 3rem;
}

.btn-primary[b-r0rz7r47ka] {
    background-color: #D85F0A;
    border-color: #D85F0A;
    color: #fff;
}

    .btn-primary:hover[b-r0rz7r47ka] {
        background-color: #bb5208;
        border-color: #bb5208;
    }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.dashboard-wrapper[b-m68p4b5dtb] {
    display: flex;
    min-height: 100vh;
    overflow: hidden;
    background-color: #121212;
}

.sidebar-main[b-m68p4b5dtb] {
    width: 250px;
    flex-shrink: 0;
    transition: width 0.3s ease, left 0.3s ease;
    background-color: #1C1C1C;
    color: white;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.5);
}

.dashboard-wrapper.sidebar-collapsed .sidebar-main[b-m68p4b5dtb] {
    width: 60px;
}

.sidebar-overlay[b-m68p4b5dtb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999;
    display: none;
}

.dashboard-wrapper.sidebar-open .sidebar-overlay[b-m68p4b5dtb] {
    display: block;
}

.main-content-wrapper[b-m68p4b5dtb] {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background-color: #121212;
}

.topbar-main[b-m68p4b5dtb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 64px;
    background-color: #1E1E1E;
    border-bottom: 1px solid #37474F;
    padding: 0 1.5rem;
    font-family: 'Segoe UI', sans-serif;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    flex-wrap: wrap;
    height: auto;
    min-height: 64px;
    padding: 0.5rem 1rem;
    position: relative;
}

.topbar-left[b-m68p4b5dtb],
.topbar-right[b-m68p4b5dtb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.current-page-title[b-m68p4b5dtb] {
    font-size: 1.3rem;
    font-weight: 600;
    color: #1E90FF;
    margin-right: 1.5rem;
    white-space: nowrap;
    min-width: fit-content;
}

.mobile-topbar-logo[b-m68p4b5dtb] {
    display: none;
    height: 30px;
    width: auto;
    margin-right: 0.5rem;
}

.weather-info[b-m68p4b5dtb],
.datetime-info[b-m68p4b5dtb] {
    display: flex;
    align-items: center;
    background-color: #2A2A2A;
    color: #E0E0E0;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    gap: 0.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
    border: 1px solid #37474F;
}

    .weather-info i[b-m68p4b5dtb],
    .datetime-info i[b-m68p4b5dtb] {
        color: #1E90FF;
    }

.hamburger-menu[b-m68p4b5dtb] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.3rem;
    display: none;
    order: -1;
}

.hamburger-menu-icon[b-m68p4b5dtb] {
    stroke: #1E90FF;
    width: 24px;
    height: 24px;
}

.user-info[b-m68p4b5dtb] {
    font-size: 0.95rem;
    color: #E0E0E0;
    font-weight: 500;
}

.logout-btn[b-m68p4b5dtb] {
    background-color: #1E90FF;
    color: white;
    border: none;
    padding: 0.5rem 0.9rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.3s ease;
}

    .logout-btn:hover[b-m68p4b5dtb] {
        background-color: #1873CC;
    }

.logout-btn-icon[b-m68p4b5dtb] {
    width: 20px;
    height: 20px;
    stroke: white;
}

.content-area[b-m68p4b5dtb] {
    flex-grow: 1;
    padding: 1.5rem;
    overflow-y: auto;
    background-color: #121212;
}

.loading-overlay[b-m68p4b5dtb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(18, 18, 18, 0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    text-align: center;
    font-size: 1.2rem;
    color: #E0E0E0;
}

.spinner[b-m68p4b5dtb] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #1E90FF;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-m68p4b5dtb 1s linear infinite;
    margin: 0 auto 10px;
}

.small-spinner[b-m68p4b5dtb] {
    border: 3px solid rgba(255, 255, 255, 0.1);
    border-top: 3px solid #1E90FF;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin-b-m68p4b5dtb 1s linear infinite;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

@keyframes spin-b-m68p4b5dtb {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* MOBILE DEVICES (max 767.98px) */
@media (max-width: 767.98px) {
    .sidebar-main[b-m68p4b5dtb] {
        position: fixed;
        left: -250px;
        top: 0;
        height: 100%;
        z-index: 1000;
        width: 250px;
    }

    .dashboard-wrapper.sidebar-open .sidebar-main[b-m68p4b5dtb] {
        left: 0;
    }

    .hamburger-menu[b-m68p4b5dtb] {
        display: block;
        margin-right: 0; /* Remove margin as logo will be absolutely positioned */
    }

    .topbar-left[b-m68p4b5dtb] {
        width: auto; /* Let it size based on hamburger */
        justify-content: flex-start; /* Keep hamburger to the left */
        flex-grow: 0;
    }

    .desktop-only-title[b-m68p4b5dtb] {
        display: none;
    }

    .mobile-topbar-logo[b-m68p4b5dtb] {
        display: block;
        height: 30px; /* Or whatever fixed height you prefer */
        width: auto;
        max-width: 120px; /* Limit logo width to prevent overlap */

        position: absolute; /* Take out of flow */
        left: 50%; /* Start from the middle */
        transform: translateX(-50%); /* Shift back by half its width to truly center */
        top: 50%; /* Vertically center */
        transform: translate(-50%, -50%); /* Combine horizontal and vertical centering */
    }

    .weather-info[b-m68p4b5dtb],
    .datetime-info[b-m68p4b5dtb] {
        display: none;
    }

    .user-info[b-m68p4b5dtb] {
        display: none;
    }

    .logout-btn[b-m68p4b5dtb] {
        display: none;
    }

    .topbar-right[b-m68p4b5dtb] {
        display: none; /* Hide topbar-right completely */
    }

    .topbar-main[b-m68p4b5dtb] {
        padding: 0.5rem 1rem;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}

/* TABLET DEVICES (min 768px and max 1023.98px) */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .sidebar-main[b-m68p4b5dtb] {
        width: 250px;
        position: relative;
    }

    .dashboard-wrapper.sidebar-collapsed .sidebar-main[b-m68p4b5dtb] {
        width: 250px;
    }

    .hamburger-menu[b-m68p4b5dtb] {
        display: none;
    }

    .topbar-main[b-m68p4b5dtb] {
        padding: 0.8rem 1.5rem;
        flex-wrap: wrap;
        height: auto;
        align-items: center;
    }

    .topbar-left[b-m68p4b5dtb],
    .topbar-right[b-m68p4b5dtb] {
        flex-grow: 1;
        justify-content: flex-start;
        gap: 0.8rem;
        flex-wrap: wrap;
    }

    .topbar-right[b-m68p4b5dtb] {
        justify-content: flex-end;
    }

    .current-page-title[b-m68p4b5dtb] {
        font-size: 1.2rem;
        margin-right: 1rem;
        order: -1;
    }

    .weather-info[b-m68p4b5dtb],
    .datetime-info[b-m68p4b5dtb] {
        display: flex;
        font-size: 0.8rem;
        padding: 0.3rem 0.6rem;
        gap: 0.4rem;
    }

    .user-info[b-m68p4b5dtb] {
        font-size: 0.9rem;
    }

    .logout-btn[b-m68p4b5dtb] {
        display: flex;
        padding: 0.4rem 0.8rem;
        font-size: 0.85rem;
    }

    .logout-btn-icon[b-m68p4b5dtb] {
        width: 18px;
        height: 18px;
    }

    .mobile-topbar-logo[b-m68p4b5dtb] {
        display: none;
    }

    .desktop-only-title[b-m68p4b5dtb] {
        display: block;
    }
}


/* DESKTOP DEVICES (min 1024px) */
@media (min-width: 1024px) {
    .hamburger-menu[b-m68p4b5dtb] {
        display: none;
    }

    .dashboard-wrapper:not(.sidebar-collapsed) .sidebar-main[b-m68p4b5dtb] {
        width: 250px;
    }

    .mobile-topbar-logo[b-m68p4b5dtb] {
        display: none;
    }

    .desktop-only-title[b-m68p4b5dtb] {
        display: block;
    }

    .weather-info[b-m68p4b5dtb],
    .datetime-info[b-m68p4b5dtb],
    .user-info[b-m68p4b5dtb],
    .logout-btn[b-m68p4b5dtb] {
        display: flex;
    }

    .topbar-left[b-m68p4b5dtb],
    .topbar-right[b-m68p4b5dtb] {
        flex-wrap: nowrap;
        gap: 1rem;
    }

    .current-page-title[b-m68p4b5dtb] {
        font-size: 1.3rem;
        margin-right: 1.5rem;
    }

    .weather-info[b-m68p4b5dtb],
    .datetime-info[b-m68p4b5dtb] {
        font-size: 0.85rem;
        padding: 0.4rem 0.75rem;
        gap: 0.5rem;
    }

    .user-info[b-m68p4b5dtb] {
        font-size: 0.95rem;
    }

    .logout-btn[b-m68p4b5dtb] {
        padding: 0.5rem 0.9rem;
        font-size: 0.95rem;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Vari�veis de cor - Dark Theme */
:root[b-zzs9x5okvl] {
    --sidebar-bg-color: #1C1C1C;
    --sidebar-text-color-light: #E0E0E0;
    --sidebar-hover-bg-color: #2C2C2C;
    --sidebar-active-color: #1E90FF;
    --sidebar-active-text-color: #ffffff;
    --sidebar-border-color: #37474F;
    --cor-destaque: #1E90FF;
    --danger-color: #e74c3c;
    --logout-button-initial-bg: #2A2A2A;
}

/* ------------------------------------------- */
/* Estilos da Sidebar (Componente filho: NavMenu) */
/* ------------------------------------------- */

.sidebar[b-zzs9x5okvl] {
    display: flex;
    flex-direction: column; /* This is crucial for vertical stacking */
    height: 100%; /* Important for scroll to work */
    background-color: var(--sidebar-bg-color);
    box-shadow: none;
    width: 100%;
    position: static;
    transform: translateX(0);
    transition: none;
    z-index: auto;
}

.sidebar-logo[b-zzs9x5okvl] {
    display: flex;
    align-items: center;
    padding: 0.75rem 0.75rem;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    text-decoration: none;
    color: var(--sidebar-active-text-color);
    font-size: 1.125rem;
    font-weight: bold;
    border-bottom: 1px solid var(--sidebar-border-color);
    padding-bottom: 1rem;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    flex-shrink: 0; /* Prevents logo from shrinking */
}

.company-logo[b-zzs9x5okvl] {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 0.6rem;
    box-shadow: none;
}

.sidebar-logo .sidebar-text[b-zzs9x5okvl] {
    margin-left: 0.4rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--sidebar-active-text-color);
    flex-grow: 1;
}

.close-sidebar-button[b-zzs9x5okvl] {
    background: none;
    border: none;
    color: var(--sidebar-text-color-light);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.3rem;
    display: none;
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition: color 0.2s ease-in-out;
}

    .close-sidebar-button:hover[b-zzs9x5okvl] {
        color: #1E90FF;
    }

/* New scrollable area for navigation links */
.sidebar-nav-scrollable-area[b-zzs9x5okvl] {
    flex-grow: 1; /* Allows this section to take up all available space */
    padding: 0 0.5rem; /* Matches padding of sidebar-links for consistency */
    overflow-y: auto; /* Enables vertical scrolling */
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: var(--sidebar-hover-bg-color) transparent; /* Firefox */
    display: flex; /* Use flexbox to stack buttons vertically */
    flex-direction: column;
}

    /* Scrollbar styles for webkit browsers (Chrome, Safari, Edge) */
    .sidebar-nav-scrollable-area[b-zzs9x5okvl]::-webkit-scrollbar {
        width: 6px;
    }

    .sidebar-nav-scrollable-area[b-zzs9x5okvl]::-webkit-scrollbar-track {
        background: transparent;
    }

    .sidebar-nav-scrollable-area[b-zzs9x5okvl]::-webkit-scrollbar-thumb {
        background-color: var(--sidebar-hover-bg-color);
        border-radius: 10px;
        border: 3px solid transparent;
    }


.sidebar-link[b-zzs9x5okvl] {
    display: flex;
    align-items: center;
    width: calc(100% - 1rem); /* 100% of parent minus padding */
    height: 2.8rem;
    padding: 0 0.8rem; /* <-- This padding creates the icon alignment */
    margin-top: 0.3rem;
    border-radius: 0.25rem;
    color: var(--sidebar-text-color-light);
    text-decoration: none;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    white-space: nowrap;
    box-shadow: none;
    border: none;
    cursor: pointer;
    background-color: transparent;
    overflow: hidden;
    flex-shrink: 0; /* Prevents links from shrinking on small screens */
}

.sidebar-link-icon[b-zzs9x5okvl] {
    width: 1.3rem;
    height: 1.3rem;
    stroke: currentColor;
    fill: currentColor;
    flex-shrink: 0;
}

.sidebar-link .sidebar-text[b-zzs9x5okvl] {
    margin-left: 0.6rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.sidebar-link:hover[b-zzs9x5okvl] {
    background-color: var(--sidebar-hover-bg-color);
    color: var(--sidebar-active-text-color);
    transform: none;
    box-shadow: none;
}

.sidebar-link.active[b-zzs9x5okvl] {
    background-color: var(--sidebar-active-color);
    color: var(--sidebar-active-text-color);
    font-weight: 600;
    border-left: 5px solid var(--cor-destaque);
    padding-left: 0.7rem;
    box-shadow: none;
    transform: none;
}

    .sidebar-link.active:hover[b-zzs9x5okvl] {
        background-color: var(--sidebar-active-color);
        transform: none;
        box-shadow: none;
    }

.sidebar-bottom-link[b-zzs9x5okvl] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: calc(100% - 1rem);
    height: 3.2rem;
    padding: 0 0.8rem; /* <-- Apply the same padding as sidebar-link */
    margin: 1rem 0.5rem 0.5rem 0.5rem; /* Margin to separate from scrollable area */
    background-color: var(--logout-button-initial-bg);
    text-decoration: none;
    color: var(--sidebar-text-color-light);
    font-weight: 600;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    border-radius: 0.25rem;
    border: none;
    cursor: pointer;
    box-shadow: none;
    outline: none;
    flex-shrink: 0; /* Prevents logout button from shrinking */
}

    .sidebar-bottom-link:hover[b-zzs9x5okvl] {
        background-color: var(--danger-color);
        color: white;
        transform: none;
        box-shadow: none;
        outline: none;
    }

    .sidebar-bottom-link .sidebar-text[b-zzs9x5okvl],
    .sidebar-bottom-link .sidebar-link-icon[b-zzs9x5okvl] {
        color: inherit;
        /* Ensure the icon for logout also has the same margin-left if needed */
        /* margin-left: 0; You might need to adjust this depending on final alignment */
    }

/* === Mobile specific internal styles for NavMenu === */
@media (max-width: 767.98px) {
    .sidebar-bottom-link[b-zzs9x5okvl] {
        display: flex;
        padding: 0 0.8rem; 
    }

    .close-sidebar-button[b-zzs9x5okvl] {
        display: none;
    }

    .sidebar-logo .sidebar-text[b-zzs9x5okvl] {
        margin-right: 0.5rem;
        flex-grow: 1;
    }

    .sidebar-link[b-zzs9x5okvl] {
        width: calc(100% - 1rem);
        padding: 0 0.8rem;
        justify-content: flex-start;
    }

    .sidebar-link-icon[b-zzs9x5okvl] {
        margin-left: 0;
    }

    .sidebar-bottom-link[b-zzs9x5okvl] {
        width: calc(100% - 1rem);
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
body[b-uzeg6khgdz] {
}
/* /Components/Layout/PublicNav.razor.rz.scp.css */
.btn-primary-nav[b-md5arzyoxx] {
    background-color: #D85F0A; 
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    text-align: center;
    transition: background-color 0.3s ease;
}

    .btn-primary-nav:hover[b-md5arzyoxx] {
        background-color: #b84e07;
        color: white;
        text-decoration: none;
    }
/* /Components/NotFoundPage.razor.rz.scp.css */
.not-found-container[b-ed6wor4x4x] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh; 
    background-color: #f8f9fa; 
    text-align: center;
    padding: 20px;
}

    .not-found-container .content[b-ed6wor4x4x] {
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        padding: 40px;
        max-width: 600px;
        width: 100%;
        animation: fadeInScale-b-ed6wor4x4x 0.8s ease-out forwards; 
    }

    .not-found-container h1[b-ed6wor4x4x] {
        font-size: 8em;
        color: #dc3545; 
        margin-bottom: 0px;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    }

    .not-found-container h2[b-ed6wor4x4x] {
        font-size: 2.5em;
        color: #343a40;
        margin-top: 5px;
        margin-bottom: 20px;
    }

    .not-found-container p[b-ed6wor4x4x] {
        font-size: 1.1em;
        color: #6c757d;
        margin-bottom: 15px;
    }

    .not-found-container .btn-home[b-ed6wor4x4x] {
        background-color: #007bff; 
        color: white;
        padding: 12px 25px;
        border: none;
        border-radius: 5px;
        font-size: 1.1em;
        cursor: pointer;
        transition: background-color 0.3s ease, transform 0.2s ease;
        text-decoration: none; 
        display: inline-block; 
        margin-top: 20px;
    }

        .not-found-container .btn-home:hover[b-ed6wor4x4x] {
            background-color: #0056b3;
            transform: translateY(-2px); 
        }

@keyframes fadeInScale-b-ed6wor4x4x {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width: 768px) {
    .not-found-container h1[b-ed6wor4x4x] {
        font-size: 6em;
    }

    .not-found-container h2[b-ed6wor4x4x] {
        font-size: 1.8em;
    }

    .not-found-container .content[b-ed6wor4x4x] {
        padding: 30px;
    }
}
/* /Components/Pages/Dashboard/ClientForm.razor.rz.scp.css */
.client-form-container[b-03ho1rw0hy] {
    padding: 25px;
    background-color: var(--cor-fundo-claro);
    border-radius: 8px;
    box-shadow: var(--sombra-card-padrao);
    max-width: 700px;
    margin: 30px auto;
}

    .client-form-container h3[b-03ho1rw0hy] {
        text-align: center;
        color: var(--cor-titulo);
        margin-bottom: 30px;
        font-weight: 600;
    }

.form-label[b-03ho1rw0hy] {
    font-weight: 600;
    color: var(--cor-filtro-texto);
    margin-bottom: .25rem;
}

.form-control[b-03ho1rw0hy] {
    border-radius: 5px;
    border: 1px solid var(--cor-filtro-borda);
    padding: .5rem .75rem;
    font-size: 0.95rem;
    color: var(--cor-texto);
    background-color: #fff;
}

    .form-control:focus[b-03ho1rw0hy] {
        border-color: var(--cor-filtro-focus);
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25);
        outline: none;
    }

.input-group > .form-control:not(:last-child)[b-03ho1rw0hy] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .btn[b-03ho1rw0hy] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    height: auto;
    background-color: var(--cor-filtro-borda);
    border-color: var(--cor-filtro-borda);
    color: var(--cor-texto-secundario);
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .input-group > .btn:hover[b-03ho1rw0hy] {
        background-color: #dee2e6;
        color: var(--cor-destaque);
    }

    .input-group > .btn:focus[b-03ho1rw0hy] {
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25);
        outline: none;
    }

.validation-message[b-03ho1rw0hy] {
    color: var(--danger-color);
    font-size: 0.875em;
    margin-top: 5px;
    display: block;
}

.validation-summary ul[b-03ho1rw0hy] {
    list-style-type: none;
    padding-left: 0;
    color: var(--danger-color);
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
    background-color: #f8d7da;
    padding: 15px;
    border-radius: 6px;
}

.button-group .btn[b-03ho1rw0hy] {
    padding: 0.55rem 1.2rem;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.submit-btn[b-03ho1rw0hy] {
    background-color: var(--cor-botao-filtro-fundo);
    border-color: var(--cor-botao-filtro-fundo);
    color: var(--cor-botao-filtro-texto);
}

    .submit-btn:hover[b-03ho1rw0hy] {
        background-color: var(--cor-botao-filtro-hover-fundo);
        border-color: var(--cor-botao-filtro-hover-fundo);
        transform: translateY(-2px);
    }

.btn-secondary[b-03ho1rw0hy] {
    background-color: var(--cor-contraste);
    border-color: var(--cor-contraste);
    color: var(--cor-texto);
}

    .btn-secondary:hover[b-03ho1rw0hy] {
        background-color: #90a4ae;
        border-color: #90a4ae;
        transform: translateY(-2px);
    }

.spinner[b-03ho1rw0hy] {
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--cor-pesquisa, #D85F0A);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-03ho1rw0hy 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-03ho1rw0hy {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-03ho1rw0hy] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-03ho1rw0hy] {
        display: flex;
        justify-content: center;
        align-items: center;
    }
/* /Components/Pages/Dashboard/ClientList.razor.rz.scp.css */
.client-list-container[b-of5cm4rp17] {
    padding: 20px;
    background-color: #1E1E1E;
    border: 1px solid #37474F;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    width: 100%;
    overflow-x: hidden;
}

/* Secção de filtros */
.filter-section[b-of5cm4rp17] {
    background-color: #2A2A2A;
    border: 1px solid #37474F;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
}

    .filter-section .form-label[b-of5cm4rp17] {
        font-weight: 600;
        color: #E0E0E0;
        margin-bottom: .25rem;
    }

.filter-select[b-of5cm4rp17],
.filter-input[b-of5cm4rp17] {
    border-radius: 5px;
    border: 1px solid #37474F;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    background-color: #2A2A2A;
    color: #E0E0E0;
    width: 100%;
    box-sizing: border-box;
}

    .filter-select:focus[b-of5cm4rp17],
    .filter-input:focus[b-of5cm4rp17] {
        border-color: #1E90FF;
        outline: none;
        box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.25);
        background-color: #2A2A2A;
        color: #E0E0E0;
    }

    .filter-select option[b-of5cm4rp17] {
        background-color: #2A2A2A;
        color: #E0E0E0;
    }

.button-group-mobile[b-of5cm4rp17] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

/* Botões */
.btn-modern-add[b-of5cm4rp17],
.btn-modern-search[b-of5cm4rp17] {
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: 180px;
}

.btn-modern-add[b-of5cm4rp17] {
    background-color: #1E90FF;
    color: white;
}

    .btn-modern-add:hover[b-of5cm4rp17] {
        background-color: #1873CC;
    }

.btn-modern-search[b-of5cm4rp17] {
    background-color: #00ACC1;
    color: white;
}

    .btn-modern-search:hover[b-of5cm4rp17] {
        background-color: #008B9A;
    }

/* Tabela */
.table-responsive[b-of5cm4rp17] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.client-table[b-of5cm4rp17] {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
}

    .client-table th[b-of5cm4rp17],
    .client-table td[b-of5cm4rp17] {
        padding: 12px 15px;
        border-bottom: 1px solid #37474F;
        text-align: left;
        color: #E0E0E0;
    }

    .client-table thead[b-of5cm4rp17] {
        background-color: #1E90FF;
        color: white;
        font-weight: 600;
    }

    .client-table tbody tr[b-of5cm4rp17] {
        background-color: #2A2A2A;
    }

    .client-table tbody tr:hover[b-of5cm4rp17] {
        background-color: #333333;
    }

/* Paginação */
.modern-pagination[b-of5cm4rp17] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 20px;
}

.pag-btn[b-of5cm4rp17] {
    padding: 0.4rem 0.75rem;
    border-radius: 5px;
    border: 1px solid #37474F;
    font-size: 0.95rem;
    font-weight: 500;
    background-color: #2A2A2A;
    color: #E0E0E0;
}

    .pag-btn.active[b-of5cm4rp17] {
        background-color: #1E90FF;
        color: white;
        border-color: #1E90FF;
    }

    .pag-btn:hover:not(:disabled)[b-of5cm4rp17] {
        background-color: #333333;
    }

    .pag-btn:disabled[b-of5cm4rp17] {
        opacity: 0.4;
        cursor: not-allowed;
    }

/* Responsividade */
@media (max-width: 767.98px) {
    .client-list-container[b-of5cm4rp17] {
        padding: 10px;
    }

    .filter-section[b-of5cm4rp17] {
        padding: 10px;
    }

    .filter-input-group[b-of5cm4rp17] {
        flex-direction: column !important;
    }

    .button-group-mobile[b-of5cm4rp17] {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-modern-add[b-of5cm4rp17],
    .btn-modern-search[b-of5cm4rp17] {
        width: 100%;
        max-width: none;
    }

    .client-table[b-of5cm4rp17] {
        min-width: 100%;
    }
}

.filter-input-group[b-of5cm4rp17] {
    width: 100%;
    gap: 0.5rem;
}

.button-group-mobile[b-of5cm4rp17] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
}

.table-responsive[b-of5cm4rp17] {
    width: 100%;
    overflow-x: auto;
}

@media (min-width: 768px) {
    .button-group-mobile[b-of5cm4rp17] {
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-end;
        width: auto;
    }

    .btn-modern-add[b-of5cm4rp17],
    .btn-modern-search[b-of5cm4rp17] {
        width: auto;
    }
}
/* /Components/Pages/Dashboard/Dashboard.razor.rz.scp.css */
.dashboard-grid[b-23613sfkzh] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.dashboard-card[b-23613sfkzh] {
    background-color: #1E1E1E;
    border: 1px solid #37474F;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    padding: 20px;
    text-align: center;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

    .dashboard-card:hover[b-23613sfkzh] {
        transform: translateY(-5px);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
        border-color: #1E90FF;
    }

    .dashboard-card h4[b-23613sfkzh] {
        margin-top: 0;
        font-size: 1.2em;
        color: #E0E0E0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

        .dashboard-card h4 i[b-23613sfkzh] {
            font-size: 1.5em;
            color: #1E90FF;
        }

.metric-value[b-23613sfkzh] {
    font-size: 2.5em;
    font-weight: bold;
    color: #1E90FF;
    margin: 10px 0 0;
}

.card-primary .metric-value[b-23613sfkzh] {
    color: #1E90FF;
}

.card-info .metric-value[b-23613sfkzh] {
    color: #00ACC1;
}

.card-warning .metric-value[b-23613sfkzh] {
    color: #FFC107;
}

.card-success .metric-value[b-23613sfkzh] {
    color: #4CAF50;
}

.chart-section[b-23613sfkzh] {
    background-color: #1E1E1E;
    border: 1px solid #37474F;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    padding: 20px;
    min-height: 400px;
    margin-top: 20px;
}

    .chart-section h4[b-23613sfkzh] {
        text-align: center;
        margin-bottom: 20px;
        color: #E0E0E0;
    }

.chart-container-chartjs[b-23613sfkzh] {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 10px;
}

canvas[b-23613sfkzh] {
    max-width: 100%;
    height: auto;
}

.spinner[b-23613sfkzh] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #1E90FF;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-23613sfkzh 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-23613sfkzh {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-23613sfkzh] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(18, 18, 18, 0.95);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-23613sfkzh] {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #E0E0E0;
    }

@media (max-width: 768px) {
    .dashboard-grid[b-23613sfkzh] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .dashboard-grid[b-23613sfkzh] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .dashboard-grid[b-23613sfkzh] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Dashboard/FuelTypeForm.razor.rz.scp.css */
.fueltype-form-container[b-uoxi9knbx4] {
    padding: 25px;
    background-color: var(--cor-fundo-claro);
    border-radius: 8px;
    box-shadow: var(--sombra-card-padrao);
    max-width: 700px;
    margin: 30px auto;
}

    .fueltype-form-container h3[b-uoxi9knbx4] {
        text-align: center;
        color: var(--cor-titulo);
        margin-bottom: 30px;
        font-weight: 600;
    }

.form-label[b-uoxi9knbx4] {
    font-weight: 600; 
    color: var(--cor-filtro-texto); 
    margin-bottom: .25rem;
}

.form-control[b-uoxi9knbx4] {
    border-radius: 5px; 
    border: 1px solid var(--cor-filtro-borda); 
    padding: .5rem .75rem; 
    font-size: 0.95rem; 
    color: var(--cor-texto); 
    background-color: #fff;
}

    .form-control:focus[b-uoxi9knbx4] {
        border-color: var(--cor-filtro-focus); 
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25); 
        outline: none;
    }

.input-group > .form-control:not(:last-child)[b-uoxi9knbx4] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .btn[b-uoxi9knbx4] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    height: auto;
    background-color: var(--cor-filtro-borda);
    border-color: var(--cor-filtro-borda);
    color: var(--cor-texto-secundario);
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .input-group > .btn:hover[b-uoxi9knbx4] {
        background-color: #dee2e6;
        color: var(--cor-destaque);
    }

    .input-group > .btn:focus[b-uoxi9knbx4] {
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25);
        outline: none;
    }

.validation-message[b-uoxi9knbx4] {
    color: var(--danger-color); 
    font-size: 0.875em;
    margin-top: 5px;
    display: block;
}

.validation-summary ul[b-uoxi9knbx4] {
    list-style-type: none;
    padding-left: 0;
    color: var(--danger-color); 
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
    background-color: #f8d7da;
    padding: 15px;
    border-radius: 6px;
}

.button-group .btn[b-uoxi9knbx4] {
    padding: 0.55rem 1.2rem; 
    border-radius: 6px; 
    font-weight: 500;
    transition: all 0.3s ease;
}

.submit-btn[b-uoxi9knbx4] {
    background-color: var(--cor-botao-filtro-fundo); 
    border-color: var(--cor-botao-filtro-fundo); 
    color: var(--cor-botao-filtro-texto); 
}

    .submit-btn:hover[b-uoxi9knbx4] {
        background-color: var(--cor-botao-filtro-hover-fundo); 
        border-color: var(--cor-botao-filtro-hover-fundo);
        transform: translateY(-2px);
    }

.btn-secondary[b-uoxi9knbx4] {
    background-color: var(--cor-contraste); 
    border-color: var(--cor-contraste); 
    color: var(--cor-texto); 
}

    .btn-secondary:hover[b-uoxi9knbx4] {
        background-color: #90a4ae; 
        border-color: #90a4ae; 
        transform: translateY(-2px);
    }

.spinner[b-uoxi9knbx4] {
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--cor-pesquisa, #D85F0A);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-uoxi9knbx4 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-uoxi9knbx4 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-uoxi9knbx4] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-uoxi9knbx4] {
        display: flex;
        justify-content: center;
        align-items: center;
    }
/* /Components/Pages/Dashboard/FuelTypeList.razor.rz.scp.css */
.fueltype-list-container[b-ppivdzoxds] {
    padding: 20px;
    background-color: #1E1E1E;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    color: #E0E0E0;
}

.filter-section[b-ppivdzoxds] {
    background-color: #2A2A2A;
    border: 1px solid #37474F;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
}

    .filter-section .form-label[b-ppivdzoxds] {
        font-weight: 600;
        color: #E0E0E0;
        margin-bottom: .25rem;
    }

.filter-select[b-ppivdzoxds],
.filter-input[b-ppivdzoxds] {
    border-radius: 5px;
    border: 1px solid #37474F;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    background-color: #1E1E1E;
    color: #E0E0E0;
    width: 100%;
}

    .filter-select:focus[b-ppivdzoxds],
    .filter-input:focus[b-ppivdzoxds] {
        border-color: #1E90FF;
        outline: none;
        box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.25);
        background-color: #252525;
    }

    .filter-select option[b-ppivdzoxds] {
        background-color: #1E1E1E;
        color: #E0E0E0;
    }

.btn-modern-add[b-ppivdzoxds] {
    background-color: #1E90FF;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-add:hover[b-ppivdzoxds] {
        background-color: #1565C0;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(30, 144, 255, 0.3);
    }

.btn-modern-search[b-ppivdzoxds] {
    background-color: #37474F;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border-radius: 6px;
    border: none;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-search:hover[b-ppivdzoxds] {
        background-color: #455A64;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(55, 71, 79, 0.3);
    }

.table-responsive[b-ppivdzoxds] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.fueltype-table[b-ppivdzoxds] {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    min-width: 600px;
    background-color: #1E1E1E;
}

    .fueltype-table th[b-ppivdzoxds],
    .fueltype-table td[b-ppivdzoxds] {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #37474F;
        color: #E0E0E0;
    }

    .fueltype-table thead[b-ppivdzoxds] {
        background-color: #2A2A2A;
        color: #1E90FF;
        font-weight: 600;
    }

    .fueltype-table tbody tr[b-ppivdzoxds] {
        background-color: #1E1E1E;
        transition: all 0.2s ease;
    }

    .fueltype-table tbody tr:hover[b-ppivdzoxds] {
        background-color: #252525;
        cursor: pointer;
        transform: translateX(2px);
    }

    .fueltype-table tbody tr:nth-child(even)[b-ppivdzoxds] {
        background-color: #1A1A1A;
    }

        .fueltype-table tbody tr:nth-child(even):hover[b-ppivdzoxds] {
            background-color: #252525;
        }

.edit-btn[b-ppivdzoxds],
.delete-btn[b-ppivdzoxds] {
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 1rem;
    border-radius: 5px;
    transition: all 0.2s ease;
}

.edit-btn[b-ppivdzoxds] {
    background-color: #00ACC1;
    color: white;
    border: none;
}

    .edit-btn:hover[b-ppivdzoxds] {
        background-color: #00838F;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 172, 193, 0.3);
    }

.delete-btn[b-ppivdzoxds] {
    background-color: #dc3545;
    color: white;
    border: none;
}

    .delete-btn:hover[b-ppivdzoxds] {
        background-color: #bd2130;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
    }

.spinner[b-ppivdzoxds] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #1E90FF;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-ppivdzoxds 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-ppivdzoxds {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-ppivdzoxds] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(18, 18, 18, 0.95);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-ppivdzoxds] {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #E0E0E0;
    }

.modern-pagination[b-ppivdzoxds] {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.pag-btn[b-ppivdzoxds] {
    padding: 0.4rem 0.75rem;
    border-radius: 5px;
    border: 1px solid #37474F;
    background-color: #2A2A2A;
    color: #E0E0E0;
    margin: 0 2px;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

    .pag-btn.active[b-ppivdzoxds] {
        background-color: #1E90FF;
        color: white;
        border-color: #1E90FF;
    }

    .pag-btn:hover:not(:disabled)[b-ppivdzoxds] {
        background-color: #37474F;
        border-color: #1E90FF;
        transform: translateY(-2px);
    }

    .pag-btn:disabled[b-ppivdzoxds] {
        opacity: 0.4;
        cursor: not-allowed;
    }

.alert-info[b-ppivdzoxds] {
    background-color: #2A2A2A;
    border-color: #1E90FF;
    color: #E0E0E0;
}

    .alert-info a[b-ppivdzoxds] {
        color: #1E90FF;
        text-decoration: underline;
    }

        .alert-info a:hover[b-ppivdzoxds] {
            color: #64B5F6;
        }

.modal-content[b-ppivdzoxds] {
    background-color: #1E1E1E;
    color: #E0E0E0;
    border: 1px solid #37474F;
}

.modal-header.bg-danger[b-ppivdzoxds] {
    background-color: #dc3545 !important;
}

.modal-body[b-ppivdzoxds] {
    color: #E0E0E0;
}

.modal-footer .btn-secondary[b-ppivdzoxds] {
    background-color: #37474F;
    border-color: #37474F;
}

    .modal-footer .btn-secondary:hover[b-ppivdzoxds] {
        background-color: #455A64;
    }

.modal-backdrop.show[b-ppivdzoxds] {
    opacity: 0.8;
    background-color: #000;
}

@media (max-width: 767.98px) {
    .filter-section .form-label[b-ppivdzoxds] {
        font-size: 0.9rem;
    }

    .btn-modern-search[b-ppivdzoxds],
    .btn-modern-add[b-ppivdzoxds] {
        width: auto;
        max-width: fit-content;
    }

    .filter-section .filter-input-group[b-ppivdzoxds] {
        flex-direction: column;
        gap: 0.5rem;
    }

        .filter-section .filter-input-group > div.flex-grow-1[b-ppivdzoxds] {
            width: 100%;
        }

    .filter-section .button-group-mobile[b-ppivdzoxds] {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
        width: 100%;
        justify-content: space-between;
    }

    .modern-pagination[b-ppivdzoxds] {
        gap: 4px;
    }

    .filter-section .d-flex > *[b-ppivdzoxds] {
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 768px) {
    .filter-section .d-flex[b-ppivdzoxds] {
        align-items: flex-end;
    }

        .filter-section .d-flex > *[b-ppivdzoxds] {
            margin-bottom: 0;
        }

    .filter-input-group[b-ppivdzoxds] {
        display: flex;
        gap: 8px;
    }

        .filter-input-group .form-label[b-ppivdzoxds] {
            display: none;
        }

    .btn-modern-search[b-ppivdzoxds],
    .btn-modern-add[b-ppivdzoxds] {
        width: auto;
    }
}

.text-muted[b-ppivdzoxds] {
    color: #90A4AE !important;
}
/* /Components/Pages/Dashboard/QuoteRequestDetails.razor.rz.scp.css */
h3[b-yk3ms5paeh] {
    color: var(--cor-titulo); 
    margin-bottom: 1.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.75rem; 
}

hr[b-yk3ms5paeh] {
    border-top: 2px solid var(--cor-destaque); 
    margin-bottom: 2rem;
    opacity: 0.7;
}

.spinner[b-yk3ms5paeh] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-yk3ms5paeh 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-yk3ms5paeh {
    to {
        transform: rotate(360deg);
    }
}

/* Alert for not found */
.alert.alert-warning[b-yk3ms5paeh] {
    background-color: #fff3cd;
    border-color: #ffeeba;
    color: #856404;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: var(--sombra-card-padrao);
}


.card[b-yk3ms5paeh] {
    border: none; 
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao); 
    margin-bottom: 1.5rem; 
    overflow: hidden; 
    transition: transform 0.2s ease-in-out; 
}

    .card:hover[b-yk3ms5paeh] {
        transform: translateY(-3px);
        box-shadow: var(--sombra-card-hover); 
    }

.card-header[b-yk3ms5paeh] {
    padding: 1.25rem 1.5rem; 
    font-size: 1.15rem;
    font-weight: 600;
    color: white; 
    border-bottom: none; 
}

    .card-header.bg-primary[b-yk3ms5paeh] {
        background-color: var(--cor-destaque) !important;
    }

    .card-header.bg-secondary[b-yk3ms5paeh] {
        background-color: var(--cor-secundaria-escura) !important;
    }

.card-body[b-yk3ms5paeh] {
    padding: 1.5rem; 
    color: var(--cor-texto-secundario); 
    line-height: 1.8; 
}

    .card-body p[b-yk3ms5paeh] {
        margin-bottom: 0.75rem; 
    }

        .card-body p:last-child[b-yk3ms5paeh] {
            margin-bottom: 0;
        }

    .card-body strong[b-yk3ms5paeh] {
        color: var(--cor-titulo); 
        font-weight: 700;
    }


.form-label[b-yk3ms5paeh] {
    font-weight: 600;
    color: var(--cor-titulo); 
    margin-bottom: 0.5rem;
}

.form-control[b-yk3ms5paeh],
.form-select[b-yk3ms5paeh] {
    border-radius: 6px; 
    border: 1px solid var(--cor-contraste); 
    padding: 0.75rem 1rem; 
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05); 
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

    .form-control:focus[b-yk3ms5paeh],
    .form-select:focus[b-yk3ms5paeh] {
        border-color: var(--cor-destaque); 
        box-shadow: 0 0 0 0.25rem rgba(var(--cor-destaque-rgb), 0.25); 
        outline: none;
    }

.d-flex.justify-content-end .btn[b-yk3ms5paeh] {
    min-width: 140px; 
    padding: 0.75rem 1.5rem; 
    border-radius: 8px; 
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-primary[b-yk3ms5paeh] {
    background-color: var(--cor-destaque);
    border-color: var(--cor-destaque);
}

    .btn-primary:hover[b-yk3ms5paeh] {
        background-color: #bf4e08; 
        border-color: #bf4e08;
        transform: translateY(-1px); 
    }

.btn-secondary[b-yk3ms5paeh] {
    background-color: var(--cor-secundaria-escura);
    border-color: var(--cor-secundaria-escura);
    color: white; 
}

    .btn-secondary:hover[b-yk3ms5paeh] {
        background-color: #34495e; 
        border-color: #34495e;
        transform: translateY(-1px);
    }

.badge[b-yk3ms5paeh] {
    padding: 0.5em 0.8em;
    border-radius: 0.5rem;
    font-size: 0.85em;
    font-weight: 700;
    vertical-align: middle;
}

.badge-success[b-yk3ms5paeh] {
    background-color: #28a745;
    color: white;
}
.badge-info[b-yk3ms5paeh] {
    background-color: #17a2b8;
    color: white;
}
.badge-warning[b-yk3ms5paeh] {
    background-color: #ffc107;
    color: #343a40;
}
.badge-danger[b-yk3ms5paeh] {
    background-color: #dc3545;
    color: white;
}
.badge-primary[b-yk3ms5paeh] {
    background-color: var(--cor-destaque);
    color: white;
}
.badge-secondary[b-yk3ms5paeh] {
    background-color: var(--cor-contraste);
    color: white;
}
.text-center[b-yk3ms5paeh] {
    text-align: center;
}
/* /Components/Pages/Dashboard/QuoteRequests.razor.rz.scp.css */
.quote-request-list-container[b-5dpe535pn8] {
    padding: 20px;
    background-color: #1E1E1E;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    color: #E0E0E0;
}

.filter-section[b-5dpe535pn8] {
    background-color: #2A2A2A;
    border: 1px solid #37474F;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
}

    .filter-section .form-label[b-5dpe535pn8] {
        font-weight: 600;
        color: #E0E0E0;
        margin-bottom: .25rem;
    }

.filter-select[b-5dpe535pn8],
.filter-input[b-5dpe535pn8] {
    border-radius: 5px;
    border: 1px solid #37474F;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    background-color: #1E1E1E;
    color: #E0E0E0;
    width: 100%;
}

    .filter-select:focus[b-5dpe535pn8],
    .filter-input:focus[b-5dpe535pn8] {
        border-color: #4CAF50;
        outline: none;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.25);
        background-color: #252525;
    }

    .filter-select option[b-5dpe535pn8] {
        background-color: #1E1E1E;
        color: #E0E0E0;
    }

.btn-modern-add[b-5dpe535pn8] {
    background-color: #4CAF50;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-add:hover[b-5dpe535pn8] {
        background-color: #388E3C;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3);
    }

.btn-modern-search[b-5dpe535pn8] {
    background-color: #37474F;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border-radius: 6px;
    border: none;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-search:hover[b-5dpe535pn8] {
        background-color: #455A64;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(55, 71, 79, 0.3);
    }

.table-responsive[b-5dpe535pn8] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.quote-request-table[b-5dpe535pn8] {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    min-width: 600px;
    background-color: #1E1E1E;
}

    .quote-request-table th[b-5dpe535pn8],
    .quote-request-table td[b-5dpe535pn8] {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #37474F;
        color: #E0E0E0;
    }

    .quote-request-table thead[b-5dpe535pn8] {
        background-color: #2A2A2A;
        color: #4CAF50;
        font-weight: 600;
    }

    .quote-request-table tbody tr[b-5dpe535pn8] {
        background-color: #1E1E1E;
        transition: all 0.2s ease;
    }

    .quote-request-table tbody tr:hover[b-5dpe535pn8] {
        background-color: #252525;
        cursor: pointer;
        transform: translateX(2px);
    }

    .quote-request-table tbody tr:nth-child(even)[b-5dpe535pn8] {
        background-color: #1A1A1A;
    }

        .quote-request-table tbody tr:nth-child(even):hover[b-5dpe535pn8] {
            background-color: #252525;
        }

.btn-sm.btn-info[b-5dpe535pn8] {
    background-color: #00ACC1;
    color: white;
    border: none;
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 1rem;
    border-radius: 5px;
    transition: all 0.2s ease;
}

    .btn-sm.btn-info:hover[b-5dpe535pn8] {
        background-color: #00838F;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 172, 193, 0.3);
    }

.btn-sm.btn-danger[b-5dpe535pn8] {
    background-color: #dc3545;
    color: white;
    border: none;
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 1rem;
    border-radius: 5px;
    transition: all 0.2s ease;
}

    .btn-sm.btn-danger:hover[b-5dpe535pn8] {
        background-color: #bd2130;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
    }

.badge[b-5dpe535pn8] {
    padding: 0.4em 0.6em;
    font-size: 0.85em;
    font-weight: 600;
    border-radius: 4px;
}

.bg-warning[b-5dpe535pn8] {
    background-color: #FFC107 !important;
    color: #1E1E1E !important;
}

.bg-success[b-5dpe535pn8] {
    background-color: #4CAF50 !important;
    color: white !important;
}

.bg-danger[b-5dpe535pn8] {
    background-color: #dc3545 !important;
    color: white !important;
}

.bg-info[b-5dpe535pn8] {
    background-color: #00ACC1 !important;
    color: white !important;
}

.bg-secondary[b-5dpe535pn8] {
    background-color: #90A4AE !important;
    color: white !important;
}

.spinner[b-5dpe535pn8] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #4CAF50;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-5dpe535pn8 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-5dpe535pn8 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-5dpe535pn8] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(18, 18, 18, 0.95);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-5dpe535pn8] {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #E0E0E0;
    }

.modern-pagination[b-5dpe535pn8] {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.pag-btn[b-5dpe535pn8] {
    padding: 0.4rem 0.75rem;
    border-radius: 5px;
    border: 1px solid #37474F;
    background-color: #2A2A2A;
    color: #E0E0E0;
    margin: 0 2px;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

    .pag-btn.active[b-5dpe535pn8] {
        background-color: #4CAF50;
        color: white;
        border-color: #4CAF50;
    }

    .pag-btn:hover:not(:disabled)[b-5dpe535pn8] {
        background-color: #37474F;
        border-color: #4CAF50;
        transform: translateY(-2px);
    }

    .pag-btn:disabled[b-5dpe535pn8] {
        opacity: 0.4;
        cursor: not-allowed;
    }

.alert-info[b-5dpe535pn8] {
    background-color: #2A2A2A;
    border-color: #4CAF50;
    color: #E0E0E0;
}

    .alert-info a[b-5dpe535pn8] {
        color: #4CAF50;
        text-decoration: underline;
    }

        .alert-info a:hover[b-5dpe535pn8] {
            color: #66BB6A;
        }

.text-muted[b-5dpe535pn8] {
    color: #90A4AE !important;
}

.modal-content[b-5dpe535pn8] {
    background-color: #1E1E1E;
    color: #E0E0E0;
    border: 1px solid #37474F;
}

.modal-header.bg-danger[b-5dpe535pn8] {
    background-color: #dc3545 !important;
}

.modal-body[b-5dpe535pn8] {
    color: #E0E0E0;
}

.modal-footer .btn-secondary[b-5dpe535pn8] {
    background-color: #37474F;
    border-color: #37474F;
}

    .modal-footer .btn-secondary:hover[b-5dpe535pn8] {
        background-color: #455A64;
    }

.modal-footer .btn-danger[b-5dpe535pn8] {
    background-color: #dc3545;
    border-color: #dc3545;
}

    .modal-footer .btn-danger:hover[b-5dpe535pn8] {
        background-color: #bd2130;
    }

.modal-backdrop.show[b-5dpe535pn8] {
    opacity: 0.8;
    background-color: #000;
}

@media (max-width: 767.98px) {
    .filter-section .form-label[b-5dpe535pn8] {
        font-size: 0.9rem;
    }

    .btn-modern-search[b-5dpe535pn8],
    .btn-modern-add[b-5dpe535pn8] {
        width: auto;
        max-width: fit-content;
    }

    .filter-section .filter-input-group[b-5dpe535pn8] {
        flex-direction: column;
        gap: 0.5rem;
    }

        .filter-section .filter-input-group > div.flex-grow-1[b-5dpe535pn8] {
            width: 100%;
        }

    .filter-section .button-group-mobile[b-5dpe535pn8] {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
        width: 100%;
        justify-content: space-between;
    }

    .modern-pagination[b-5dpe535pn8] {
        gap: 4px;
    }

    .filter-section .d-flex > *[b-5dpe535pn8] {
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 768px) {
    .filter-section .d-flex[b-5dpe535pn8] {
        align-items: flex-end;
    }

        .filter-section .d-flex > *[b-5dpe535pn8] {
            margin-bottom: 0;
        }

    .filter-input-group[b-5dpe535pn8] {
        display: flex;
        gap: 8px;
    }

        .filter-input-group .form-label[b-5dpe535pn8] {
            display: none;
        }

    .btn-modern-search[b-5dpe535pn8],
    .btn-modern-add[b-5dpe535pn8] {
        width: auto;
    }
}
/* /Components/Pages/Dashboard/Reports.razor.rz.scp.css */
.report-filters[b-bj90qlgnsw] {
    margin-bottom: 1rem;
}

    .report-filters label[b-bj90qlgnsw] {
        font-size: 1.1rem;
        margin-right: 10px;
    }

    .report-filters select[b-bj90qlgnsw], .report-filters input[b-bj90qlgnsw] {
        padding: 5px;
        margin-right: 10px;
    }

.report-table[b-bj90qlgnsw] {
    margin-top: 2rem;
    border-collapse: collapse;
    width: 100%;
}

    .report-table th[b-bj90qlgnsw], .report-table td[b-bj90qlgnsw] {
        padding: 8px;
        text-align: left;
        border: 1px solid var(--cor-filtro-borda);
    }

    .report-table th[b-bj90qlgnsw] {
        background-color: var(--cor-destaque);
        color: white;
    }

    .report-table td[b-bj90qlgnsw] {
        background-color: var(--cor-fundo-claro);
    }

.btn-primary[b-bj90qlgnsw] {
    background-color: var(--cor-destaque);
    border: none;
    color: white;
    padding: 0.5rem 1.2rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

    .btn-primary:hover[b-bj90qlgnsw] {
        background-color: #bf4e08;
    }

.report-warning[b-bj90qlgnsw] {
    margin-top: 15px;
    margin-bottom: 20px;
    padding: 10px 15px;
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    border-radius: 5px;
    font-size: 0.95rem;
}
/* /Components/Pages/Dashboard/VehicleForm.razor.rz.scp.css */
h3[b-ffxswqrv89] {
    color: var(--cor-titulo);
    margin-bottom: 1.5rem;
    font-weight: 700;
    text-align: center;
}

.vehicle-form-container[b-ffxswqrv89] {
    padding: 2.5rem;
    background-color: var(--bs-white);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    max-width: 900px;
    margin: 30px auto;
    transition: box-shadow 0.2s ease-in-out;
}

    .vehicle-form-container:hover[b-ffxswqrv89] {
        box-shadow: var(--sombra-card-hover);
    }

.form-label[b-ffxswqrv89] {
    font-weight: 600;
    color: var(--cor-titulo);
    margin-bottom: 0.5rem;
}

.form-control[b-ffxswqrv89],
.form-select[b-ffxswqrv89] {
    border-radius: 8px;
    border: 1px solid var(--cor-contraste);
    padding: 0.75rem 1rem;
    font-size: 1rem;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

    .form-control:focus[b-ffxswqrv89],
    .form-select:focus[b-ffxswqrv89] {
        border-color: var(--cor-destaque);
        box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.25);
        outline: none;
    }

.validation-message[b-ffxswqrv89] {
    color: var(--bs-danger);
    font-size: 0.875em;
    margin-top: 0.25rem;
    display: block;
}

.validation-summary ul[b-ffxswqrv89] {
    list-style-type: none;
    padding-left: 0;
    color: var(--bs-danger);
    margin-bottom: 1.5rem;
    border: 1px solid #f5c6cb;
    background-color: #f8d7da;
    padding: 1rem 1.5rem;
    border-radius: 8px;
}

hr[b-ffxswqrv89] {
    border-top: 2px solid var(--cor-destaque);
    margin: 2.5rem 0;
    opacity: 0.7;
}

.vehicle-form-container h4[b-ffxswqrv89] {
    color: var(--cor-titulo);
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-align: center;
}

.upload-photo-section[b-ffxswqrv89] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background-color: var(--bs-light, #f8f9fa);
    border: 2px dashed #ced4da;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 2rem;
    transition: border-color 0.3s ease;
}

    .upload-photo-section:hover[b-ffxswqrv89] {
        border-color: var(--cor-destaque);
    }

.upload-button[b-ffxswqrv89] {
    font-size: 1.1rem;
    padding: 0.8rem 2.2rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: var(--cor-destaque);
    border-color: var(--cor-destaque);
    color: white;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

    .upload-button:hover[b-ffxswqrv89] {
        background-color: #bf4e08;
        border-color: #bf4e08;
        transform: translateY(-2px);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }

.upload-photo-section small[b-ffxswqrv89] {
    color: var(--cor-texto-secundario, #6c757d);
    font-size: 0.9em;
}

.photo-gallery-grid[b-ffxswqrv89] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1.5rem;
    padding: 1rem 0;
    justify-content: center;
}

.photo-card[b-ffxswqrv89] {
    position: relative !important;
    border: 1px solid var(--photo-card-border, #e0e0e0);
    border-radius: 12px;
    overflow: hidden;
    background-color: var(--photo-card-bg, #ffffff);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-width: 150px;
    min-height: 150px;
}

    .photo-card:hover[b-ffxswqrv89] {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    }

.photo-thumbnail[b-ffxswqrv89] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    min-width: 100%;
    min-height: 100%;
    z-index: 1;
}

.photo-card:hover .photo-thumbnail[b-ffxswqrv89] {
    transform: scale(1.05);
}

.photo-overlay[b-ffxswqrv89] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--photo-overlay-bg, rgba(0, 0, 0, 0.6));
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 1rem;
    box-sizing: border-box;
    z-index: 2;
}

.photo-card:hover .photo-overlay[b-ffxswqrv89] {
    opacity: 1;
}

.photo-actions[b-ffxswqrv89] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.photo-action-button[b-ffxswqrv89] {
    font-size: 1.2rem;
    padding: 0.6rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 0;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

    .photo-action-button span[b-ffxswqrv89] {
        display: none;
    }

    .photo-action-button.btn-view[b-ffxswqrv89] {
        background-color: var(--cor-frescor);
        border-color: var(--cor-frescor);
        color: white;
    }

        .photo-action-button.btn-view:hover[b-ffxswqrv89] {
            background-color: #428d7a;
            border-color: #428d7a;
            transform: scale(1.1);
        }

    .photo-action-button.btn-outline-danger[b-ffxswqrv89] {
        color: var(--bs-danger);
        border-color: var(--bs-danger);
        background-color: white;
    }

        .photo-action-button.btn-outline-danger:hover[b-ffxswqrv89] {
            background-color: var(--bs-danger);
            color: white;
            transform: scale(1.1);
        }

    .photo-action-button.btn-outline-primary[b-ffxswqrv89] {
        color: var(--cor-destaque);
        border-color: var(--cor-destaque);
        background-color: white;
    }

        .photo-action-button.btn-outline-primary:hover[b-ffxswqrv89] {
            background-color: var(--cor-destaque);
            color: white;
            transform: scale(1.1);
        }

.photo-action-label[b-ffxswqrv89] {
    background-color: var(--bs-success);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

    .photo-action-label i[b-ffxswqrv89] {
        font-size: 1.1rem;
    }

.photo-card.cover-photo[b-ffxswqrv89] {
    border: 4px solid var(--cor-destaque);
    box-shadow: 0 0 20px rgba(243, 156, 18, 0.6);
}

.empty-photos-message[b-ffxswqrv89] {
    grid-column: 1 / -1;
    padding: 3rem;
    background-color: var(--bs-light, #f8f9fa);
    border: 2px dashed var(--photo-card-border, #ced4da);
    border-radius: 12px;
    color: var(--bs-gray, #6c757d);
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 1.5rem;
}

    .empty-photos-message i[b-ffxswqrv89] {
        font-size: 4rem !important;
        color: var(--bs-gray-light, #adb5bd);
    }

.button-group .btn[b-ffxswqrv89] {
    padding: 0.55rem 1.2rem;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.submit-btn[b-ffxswqrv89] {
    background-color: var(--cor-botao-filtro-fundo);
    border-color: var(--cor-botao-filtro-fundo);
    color: var(--cor-botao-filtro-texto);
}

    .submit-btn:hover[b-ffxswqrv89] {
        background-color: var(--cor-botao-filtro-hover-fundo);
        border-color: var(--cor-botao-filtro-hover-fundo);
        transform: translateY(-2px);
    }

.btn-secondary[b-ffxswqrv89] {
    background-color: var(--cor-contraste);
    border-color: var(--cor-contraste);
    color: var(--cor-texto);
}

    .btn-secondary:hover[b-ffxswqrv89] {
        background-color: #90a4ae;
        border-color: #90a4ae;
        transform: translateY(-2px);
    }

.spinner[b-ffxswqrv89] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-ffxswqrv89 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-ffxswqrv89 {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 767.98px) {
    .photo-gallery-grid[b-ffxswqrv89] {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .photo-action-button[b-ffxswqrv89] {
        font-size: 1rem;
        padding: 0.5rem;
        width: 36px;
        height: 36px;
    }

    .empty-photos-message[b-ffxswqrv89] {
        padding: 2rem;
        min-height: 120px;
    }

        .empty-photos-message i[b-ffxswqrv89] {
            font-size: 3rem !important;
        }
}
/* /Components/Pages/Dashboard/VehicleIncidentForm.razor.rz.scp.css */
.incident-form-container[b-2plm5egfgj] {
    padding: 25px;
    background-color: var(--cor-fundo-claro);
    border-radius: 8px;
    box-shadow: var(--sombra-card-padrao);
    max-width: 700px;
    margin: 30px auto;
}

    .incident-form-container h3[b-2plm5egfgj] {
        text-align: center;
        color: var(--cor-titulo);
        margin-bottom: 30px;
        font-weight: 600;
    }

.form-label[b-2plm5egfgj] {
    font-weight: 600;
    color: var(--cor-filtro-texto);
    margin-bottom: .25rem;
}

.form-control[b-2plm5egfgj] {
    border-radius: 5px;
    border: 1px solid var(--cor-filtro-borda);
    padding: .5rem .75rem;
    font-size: 0.95rem;
    color: var(--cor-texto);
    background-color: #fff;
}

    .form-control:focus[b-2plm5egfgj] {
        border-color: var(--cor-filtro-focus);
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25);
        outline: none;
    }

.input-group > .form-control:not(:last-child)[b-2plm5egfgj] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .btn[b-2plm5egfgj] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    height: auto;
    background-color: var(--cor-filtro-borda);
    border-color: var(--cor-filtro-borda);
    color: var(--cor-texto-secundario);
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .input-group > .btn:hover[b-2plm5egfgj] {
        background-color: #dee2e6;
        color: var(--cor-destaque);
    }

    .input-group > .btn:focus[b-2plm5egfgj] {
        box-shadow: 0 0 0 2px rgba(216, 95, 10, 0.25);
        outline: none;
    }

.validation-message[b-2plm5egfgj] {
    color: var(--danger-color);
    font-size: 0.875em;
    margin-top: 5px;
    display: block;
}

.validation-summary ul[b-2plm5egfgj] {
    list-style-type: none;
    padding-left: 0;
    color: var(--danger-color);
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
    background-color: #f8d7da;
    padding: 15px;
    border-radius: 6px;
}

.button-group .btn[b-2plm5egfgj] {
    padding: 0.55rem 1.2rem;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.submit-btn[b-2plm5egfgj] {
    background-color: var(--cor-botao-filtro-fundo);
    border-color: var(--cor-botao-filtro-fundo);
    color: var(--cor-botao-filtro-texto);
}

    .submit-btn:hover[b-2plm5egfgj] {
        background-color: var(--cor-botao-filtro-hover-fundo);
        border-color: var(--cor-botao-filtro-hover-fundo);
        transform: translateY(-2px);
    }

.btn-secondary[b-2plm5egfgj] {
    background-color: var(--cor-contraste);
    border-color: var(--cor-contraste);
    color: var(--cor-texto);
}

    .btn-secondary:hover[b-2plm5egfgj] {
        background-color: #90a4ae;
        border-color: #90a4ae;
        transform: translateY(-2px);
    }

.spinner[b-2plm5egfgj] {
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--cor-pesquisa, #D85F0A);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-2plm5egfgj 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-2plm5egfgj {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-2plm5egfgj] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-2plm5egfgj] {
        display: flex;
        justify-content: center;
        align-items: center;
    }
/* /Components/Pages/Dashboard/VehicleIncidentList.razor.rz.scp.css */
.client-list-container[b-jb2lz4dboz] {
    padding: 20px;
    background-color: #1E1E1E;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    color: #E0E0E0;
}

.filter-section[b-jb2lz4dboz] {
    background-color: #2A2A2A;
    border: 1px solid #37474F;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
}

    .filter-section .form-label[b-jb2lz4dboz] {
        font-weight: 600;
        color: #E0E0E0;
        margin-bottom: .25rem;
    }

.filter-select[b-jb2lz4dboz],
.filter-input[b-jb2lz4dboz] {
    border-radius: 5px;
    border: 1px solid #37474F;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    background-color: #1E1E1E;
    color: #E0E0E0;
    width: 100%;
}

    .filter-select:focus[b-jb2lz4dboz],
    .filter-input:focus[b-jb2lz4dboz] {
        border-color: #FFC107;
        outline: none;
        box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.25);
        background-color: #252525;
    }

    .filter-select option[b-jb2lz4dboz] {
        background-color: #1E1E1E;
        color: #E0E0E0;
    }

.btn-modern-add[b-jb2lz4dboz] {
    background-color: #FFC107;
    color: #1E1E1E;
    padding: 0.55rem 1.2rem;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-add:hover[b-jb2lz4dboz] {
        background-color: #FFD54F;
        color: #1E1E1E;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(255, 193, 7, 0.3);
    }

.btn-modern-search[b-jb2lz4dboz] {
    background-color: #37474F;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border-radius: 6px;
    border: none;
    transition: all 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-search:hover[b-jb2lz4dboz] {
        background-color: #455A64;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(55, 71, 79, 0.3);
    }

.table-responsive[b-jb2lz4dboz] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.client-table[b-jb2lz4dboz] {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    min-width: 600px;
    background-color: #1E1E1E;
}

    .client-table th[b-jb2lz4dboz],
    .client-table td[b-jb2lz4dboz] {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #37474F;
        color: #E0E0E0;
    }

    .client-table thead[b-jb2lz4dboz] {
        background-color: #2A2A2A;
        color: #FFC107;
        font-weight: 600;
    }

    .client-table tbody tr[b-jb2lz4dboz] {
        background-color: #1E1E1E;
        transition: all 0.2s ease;
    }

    .client-table tbody tr:hover[b-jb2lz4dboz] {
        background-color: #252525;
        cursor: pointer;
        transform: translateX(2px);
    }

    .client-table tbody tr:nth-child(even)[b-jb2lz4dboz] {
        background-color: #1A1A1A;
    }

        .client-table tbody tr:nth-child(even):hover[b-jb2lz4dboz] {
            background-color: #252525;
        }

.edit-btn[b-jb2lz4dboz],
.delete-btn[b-jb2lz4dboz] {
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 1rem;
    border-radius: 5px;
    transition: all 0.2s ease;
}

.edit-btn[b-jb2lz4dboz] {
    background-color: #00ACC1;
    color: white;
    border: none;
}

    .edit-btn:hover[b-jb2lz4dboz] {
        background-color: #00838F;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 172, 193, 0.3);
    }

.delete-btn[b-jb2lz4dboz] {
    background-color: #dc3545;
    color: white;
    border: none;
}

    .delete-btn:hover[b-jb2lz4dboz] {
        background-color: #bd2130;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
    }

.spinner[b-jb2lz4dboz] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #FFC107;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-jb2lz4dboz 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-jb2lz4dboz {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-jb2lz4dboz] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(18, 18, 18, 0.95);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-jb2lz4dboz] {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #E0E0E0;
    }

.modern-pagination[b-jb2lz4dboz] {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.pag-btn[b-jb2lz4dboz] {
    padding: 0.4rem 0.75rem;
    border-radius: 5px;
    border: 1px solid #37474F;
    background-color: #2A2A2A;
    color: #E0E0E0;
    margin: 0 2px;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

    .pag-btn.active[b-jb2lz4dboz] {
        background-color: #FFC107;
        color: #1E1E1E;
        border-color: #FFC107;
        font-weight: 600;
    }

    .pag-btn:hover:not(:disabled)[b-jb2lz4dboz] {
        background-color: #37474F;
        border-color: #FFC107;
        transform: translateY(-2px);
    }

    .pag-btn:disabled[b-jb2lz4dboz] {
        opacity: 0.4;
        cursor: not-allowed;
    }

.alert-info[b-jb2lz4dboz] {
    background-color: #2A2A2A;
    border-color: #FFC107;
    color: #E0E0E0;
}

    .alert-info a[b-jb2lz4dboz] {
        color: #FFC107;
        text-decoration: underline;
    }

        .alert-info a:hover[b-jb2lz4dboz] {
            color: #FFD54F;
        }

.text-muted[b-jb2lz4dboz] {
    color: #90A4AE !important;
}

.text-truncate[b-jb2lz4dboz] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 767.98px) {
    .filter-section .form-label[b-jb2lz4dboz] {
        font-size: 0.9rem;
    }

    .btn-modern-search[b-jb2lz4dboz],
    .btn-modern-add[b-jb2lz4dboz] {
        width: auto;
        max-width: fit-content;
    }

    .filter-section .filter-input-group[b-jb2lz4dboz] {
        flex-direction: column;
        gap: 0.5rem;
    }

        .filter-section .filter-input-group > div.flex-grow-1[b-jb2lz4dboz] {
            width: 100%;
        }

    .filter-section .button-group-mobile[b-jb2lz4dboz] {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
        width: 100%;
        justify-content: space-between;
    }

    .modern-pagination[b-jb2lz4dboz] {
        gap: 4px;
    }

    .filter-section .d-flex > *[b-jb2lz4dboz] {
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 768px) {
    .filter-section .d-flex[b-jb2lz4dboz] {
        align-items: flex-end;
    }

        .filter-section .d-flex > *[b-jb2lz4dboz] {
            margin-bottom: 0;
        }

    .filter-input-group[b-jb2lz4dboz] {
        display: flex;
        gap: 8px;
    }

        .filter-input-group .form-label[b-jb2lz4dboz] {
            display: none;
        }

    .btn-modern-search[b-jb2lz4dboz],
    .btn-modern-add[b-jb2lz4dboz] {
        width: auto;
    }
}
/* /Components/Pages/Dashboard/VehicleList.razor.rz.scp.css */
.vehicle-list-container[b-vqbg68648z] {
    padding: 20px;
    background-color: #1E1E1E;
    border: 1px solid #37474F;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.filter-section[b-vqbg68648z] {
    background-color: #2A2A2A;
    border: 1px solid #37474F;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
}

    .filter-section .form-label[b-vqbg68648z] {
        font-weight: 600;
        color: #E0E0E0;
        margin-bottom: .25rem;
    }

.filter-select[b-vqbg68648z],
.filter-input[b-vqbg68648z] {
    border-radius: 5px;
    border: 1px solid #37474F;
    padding: .5rem .75rem;
    font-size: 0.95rem;
    background-color: #2A2A2A;
    color: #E0E0E0;
    width: 100%;
}

    .filter-select:focus[b-vqbg68648z],
    .filter-input:focus[b-vqbg68648z] {
        border-color: #1E90FF;
        outline: none;
        box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.25);
        background-color: #2A2A2A;
        color: #E0E0E0;
    }

    .filter-select option[b-vqbg68648z] {
        background-color: #2A2A2A;
        color: #E0E0E0;
    }

.btn-modern-add[b-vqbg68648z] {
    background-color: #1E90FF;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-add:hover[b-vqbg68648z] {
        background-color: #1873CC;
        color: white;
    }

.btn-modern-search[b-vqbg68648z] {
    background-color: #00ACC1;
    color: white;
    padding: 0.55rem 1.2rem;
    font-weight: 500;
    border-radius: 6px;
    border: none;
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: fit-content;
}

    .btn-modern-search:hover[b-vqbg68648z] {
        background-color: #008B9A;
        color: white;
    }

.table-responsive[b-vqbg68648z] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.vehicle-table[b-vqbg68648z] {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    min-width: 600px;
}

    .vehicle-table th[b-vqbg68648z],
    .vehicle-table td[b-vqbg68648z] {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #37474F;
        color: #E0E0E0;
    }

    .vehicle-table thead[b-vqbg68648z] {
        background-color: #1E90FF;
        color: white;
        font-weight: 600;
    }

    .vehicle-table tbody tr[b-vqbg68648z] {
        background-color: #2A2A2A;
    }

    .vehicle-table tbody tr:hover[b-vqbg68648z] {
        background-color: #333333;
        cursor: pointer;
    }

.edit-btn[b-vqbg68648z],
.delete-btn[b-vqbg68648z] {
    min-width: 36px;
    min-height: 36px;
    padding: 6px 9px;
    font-size: 1rem;
    border-radius: 5px;
}

.edit-btn[b-vqbg68648z] {
    background-color: #00ACC1;
    color: white;
    border: none;
}

    .edit-btn:hover[b-vqbg68648z] {
        background-color: #008B9A;
    }

.delete-btn[b-vqbg68648z] {
    background-color: #dc3545;
    color: white;
    border: none;
}

    .delete-btn:hover[b-vqbg68648z] {
        background-color: #bd2130;
    }

.spinner[b-vqbg68648z] {
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-top: 4px solid #1E90FF;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-vqbg68648z 1s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin-b-vqbg68648z {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-overlay[b-vqbg68648z] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(18, 18, 18, 0.95);
    display: none;
    z-index: 1050;
}

    .loading-overlay.active[b-vqbg68648z] {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #E0E0E0;
    }

.modern-pagination[b-vqbg68648z] {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.pag-btn[b-vqbg68648z] {
    padding: 0.4rem 0.75rem;
    border-radius: 5px;
    border: 1px solid #37474F;
    margin: 0 2px;
    font-size: 0.95rem;
    font-weight: 500;
    background-color: #2A2A2A;
    color: #E0E0E0;
}

    .pag-btn.active[b-vqbg68648z] {
        background-color: #1E90FF;
        color: white;
        border-color: #1E90FF;
    }

    .pag-btn:hover:not(:disabled)[b-vqbg68648z] {
        background-color: #333333;
    }

    .pag-btn:disabled[b-vqbg68648z] {
        opacity: 0.4;
        cursor: not-allowed;
    }

@media (max-width: 767.98px) {
    .filter-section .form-label[b-vqbg68648z] {
        font-size: 0.9rem;
    }

    .btn-modern-search[b-vqbg68648z],
    .btn-modern-add[b-vqbg68648z] {
        width: 100%;
        justify-content: center;
    }

    .filter-section .filter-input-group[b-vqbg68648z] {
        flex-direction: column;
        gap: 0.5rem;
    }

        .filter-section .filter-input-group > *[b-vqbg68648z] {
            width: 100%;
        }

    .modern-pagination[b-vqbg68648z] {
        gap: 4px;
    }

    .filter-section .d-flex > *[b-vqbg68648z] {
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 768px) {
    .filter-section .d-flex[b-vqbg68648z] {
        align-items: flex-end;
    }

        .filter-section .d-flex > *[b-vqbg68648z] {
            margin-bottom: 0;
        }

    .filter-input-group[b-vqbg68648z] {
        display: flex;
        gap: 8px;
    }

        .filter-input-group .form-label[b-vqbg68648z] {
            display: none;
        }

    .btn-modern-search[b-vqbg68648z],
    .btn-modern-add[b-vqbg68648z] {
        width: auto;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
:root[b-3qr1pgl7d4] {
    --cor-primaria: #007bff;
    --cor-secundaria: #6c757d;
    --cor-destaque: #FF6F00;
    --cor-frescor: #00C853;
    --cor-titulo: #343a40;
    --cor-texto-principal: #212529;
    --cor-texto-secundario: #495057;
    --cor-contraste: #ced4da;
    --cor-destaque-rgb: 255, 111, 0;
    --cor-frescor-rgb: 0, 200, 83;
    --cor-fundo-claro: #f0f2f5;
}

.login-container[b-3qr1pgl7d4] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 80px);
    background-color: var(--cor-fundo);
    padding: 20px;
    box-sizing: border-box;
}

.login-card[b-3qr1pgl7d4] {
    background-color: var(--cor-fundo-claro);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    border: 1px solid var(--cor-contraste);
    max-width: 450px;
    width: 100%;
    animation: fadeInScale-b-3qr1pgl7d4 0.6s ease-out forwards;
}

.login-logo-container[b-3qr1pgl7d4] {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--cor-contraste);
    line-height: 0.1em;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-logo[b-3qr1pgl7d4] {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.08));
    transition: transform 0.3s ease;
}

    .login-logo:hover[b-3qr1pgl7d4] {
        transform: translateY(-3px);
    }

.form-group[b-3qr1pgl7d4] {
    margin-bottom: 25px;
}

    .form-group label[b-3qr1pgl7d4] {
        font-weight: 600;
        color: var(--cor-titulo);
        margin-bottom: 10px;
        display: block;
        font-size: 1.1em;
    }

.form-control[b-3qr1pgl7d4] {
    border-radius: 8px;
    padding: 14px 18px;
    border: 1px solid var(--cor-contraste);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    width: 100%;
    font-size: 1.05em;
    color: var(--cor-texto);
    background-color: #2A2A2A;
    height: 48px; 
}

    .form-control[b-3qr1pgl7d4]::placeholder {
        color: rgba(224, 224, 224, 0.5);
    }

    .form-control:focus[b-3qr1pgl7d4] {
        border-color: var(--cor-frescor);
        box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.3);
        outline: none;
    }

/* Regras específicas para o input-group do Login */
.login-card .input-group > .form-control:not(:last-child)[b-3qr1pgl7d4] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Existing CSS for .input-group > .btn */
.login-card .input-group > .btn[b-3qr1pgl7d4] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    background-color: #37474F;
    border: 1px solid var(--cor-contraste);
    border-left: none;
    color: var(--cor-texto);
    font-size: 1.05em;
    padding: 0 16px; /* horizontal apenas */
    height: 48px; /* define altura fixa igual ao input */
    display: flex;
    align-items: center; /* Add this for vertical alignment */
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Add or modify .input-group to ensure consistent alignment */
.input-group[b-3qr1pgl7d4] {
    display: flex; /* Ensures flexbox behavior */
    align-items: stretch; /* Stretches children to fill the height of the container */
    width: 100%; /* Ensures the input group takes full width */
}

    .input-group .form-control[b-3qr1pgl7d4] {
        flex: 1; /* Allows the input to grow and shrink as needed */
        width: auto; /* Override explicit width to allow flex-item behavior */
    }


    .login-card .input-group > .btn:hover[b-3qr1pgl7d4] {
        background-color: #455A64;
        color: var(--cor-destaque);
        border-color: var(--cor-contraste);
    }

    .login-card .input-group > .btn:focus[b-3qr1pgl7d4] {
        box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.3);
        outline: none;
        border-color: var(--cor-frescor);
    }

.validation-message[b-3qr1pgl7d4] {
    color: var(--bs-danger);
    font-size: 0.9em;
    margin-top: 5px;
    display: block;
}

.validation-summary-valid[b-3qr1pgl7d4] {
    display: none;
}

.validation-summary-errors[b-3qr1pgl7d4] {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 8px;
    padding: 15px 20px;
    margin-bottom: 20px;
    font-size: 0.95em;
}

    .validation-summary-errors ul[b-3qr1pgl7d4] {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    .validation-summary-errors li[b-3qr1pgl7d4] {
        margin-bottom: 5px;
    }

.alert-danger[b-3qr1pgl7d4] {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 0.95em;
    margin-top: 20px;
}

.login-btn[b-3qr1pgl7d4] {
    width: 100%;
    padding: 15px 20px;
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: 8px;
    background-color: var(--cor-destaque);
    border-color: var(--cor-destaque);
    color: white;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .login-btn:hover:not(:disabled)[b-3qr1pgl7d4] {
        background-color: var(--cor-frescor);
        border-color: var(--cor-frescor);
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 172, 193, 0.3);
    }

    .login-btn:active:not(:disabled)[b-3qr1pgl7d4] {
        transform: translateY(0);
        box-shadow: 0 3px 10px rgba(0, 172, 193, 0.2);
    }

    .login-btn:disabled[b-3qr1pgl7d4] {
        opacity: 0.6;
        cursor: not-allowed;
        background-color: var(--cor-destaque);
        border-color: var(--cor-destaque);
    }

.spinner-border[b-3qr1pgl7d4] {
    margin-right: 10px;
    color: white;
}

.mt-3.text-center[b-3qr1pgl7d4] {
    font-size: 1em;
    color: var(--cor-texto-secundario);
}

.nav-link[b-3qr1pgl7d4] {
    color: var(--cor-frescor);
    text-decoration: none;
    font-weight: 700;
    transition: color 0.3s ease, text-decoration 0.3s ease;
}

    .nav-link:hover[b-3qr1pgl7d4] {
        color: var(--cor-destaque);
        text-decoration: underline;
    }

@keyframes fadeInScale-b-3qr1pgl7d4 {
    from {
        opacity: 0;
        transform: scale(0.98) translateY(10px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@media (max-width: 576px) {
    .login-card[b-3qr1pgl7d4] {
        padding: 30px 20px;
        margin: 0 15px;
    }

    .login-logo[b-3qr1pgl7d4] {
        width: 90px;
        height: 90px;
    }

    .login-logo-container[b-3qr1pgl7d4] {
        margin-bottom: 30px;
    }

    .form-group[b-3qr1pgl7d4] {
        margin-bottom: 20px;
    }

        .form-group label[b-3qr1pgl7d4] {
            font-size: 1em;
        }

    .form-control[b-3qr1pgl7d4] {
        padding: 12px 15px;
        font-size: 1em;
    }

    .login-btn[b-3qr1pgl7d4] {
        padding: 12px 15px;
        font-size: 1.1rem;
    }

    .spinner-border[b-3qr1pgl7d4] {
        margin-right: 8px;
    }
}
/* /Components/Pages/Public/AboutUs.razor.rz.scp.css */
:root[b-ubpdnjwluh] {
    --cor-frescor: #4CAF50; /* Um verde vibrante */
    --cor-destaque: #FF6F00; /* Um laranja para destaque */
    --cor-secundaria-escura: #D85F0A; /* Laranja mais escuro para sombras */
    --cor-titulo: #333;
    --cor-texto: #555;
    --cor-texto-secundario: #777;
    --cor-fundo-claro: #f8f9fa;
    --cor-contraste: #e9ecef;
    /* Sombras */
    --sombra-card-padrao: 0 4px 10px rgba(0, 0, 0, 0.08);
    --sombra-card-hover: 0 8px 20px rgba(0, 0, 0, 0.15);
    /* Para a cor RGB do frescor para rgba() - se necessário */
    --cor-frescor-rgb: 76, 175, 80;
}

/* Base styles - Adjust as needed if they conflict with global styles */
body[b-ubpdnjwluh] {
    /* Pode remover este se o seu body for globalmente gerido noutro CSS */
    /* height: 100vh; */
    /* display: flex; */
    /* justify-content: center; */
    /* align-items: center; */
}

.wrapper[b-ubpdnjwluh] {
    display: flex;
    justify-content: center;
    /* Adicione margin-top ou bottom conforme necessário para espaçamento */
    margin-top: 3rem; /* Exemplo: adicione espaço acima do botão */
    margin-bottom: 3rem; /* Exemplo: adicione espaço abaixo do botão */
}


/* Pages/AboutUs.razor.css */

.about-hero[b-ubpdnjwluh] {
    background: linear-gradient(135deg, var(--cor-frescor), var(--cor-destaque));
    color: white;
    padding: 6rem 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    animation: fadeInBackground-b-ubpdnjwluh 1s ease-out;
}

    .about-hero h1[b-ubpdnjwluh] {
        color: white;
        font-size: 3.5rem;
        line-height: 1.2;
    }

    .about-hero p.lead[b-ubpdnjwluh] {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto 2rem auto;
        opacity: 0.9;
    }

    .about-hero .btn-outline-light[b-ubpdnjwluh] {
        border-color: white;
        color: white;
        font-weight: 600;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

        .about-hero .btn-outline-light:hover[b-ubpdnjwluh] {
            background-color: white;
            color: var(--cor-frescor);
        }

.about-content[b-ubpdnjwluh] {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.section-subtitle[b-ubpdnjwluh] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--cor-titulo);
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 10px;
}

    .section-subtitle[b-ubpdnjwluh]::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 60px;
        height: 4px;
        background-color: var(--cor-destaque);
        border-radius: 5px;
    }

.text-secondary-dark[b-ubpdnjwluh] {
    color: var(--cor-texto-secundario);
    line-height: 1.7;
    font-size: 1.05rem;
}

.image-container[b-ubpdnjwluh] {
    padding: 10px;
    background-color: white;
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .image-container:hover[b-ubpdnjwluh] {
        transform: translateY(-5px);
        box-shadow: var(--sombra-card-hover);
    }

    .image-container img[b-ubpdnjwluh] {
        display: block;
        width: 100%;
        height: auto;
    }

.values-heading[b-ubpdnjwluh] {
    font-size: 1.5rem;
    color: var(--cor-destaque);
    font-weight: 600;
}

    .values-heading .icon-mission[b-ubpdnjwluh] {
        color: var(--cor-frescor);
        font-size: 1.8rem;
    }

    .values-heading .icon-values[b-ubpdnjwluh] {
        color: var(--cor-frescor);
        font-size: 1.8rem;
    }

.values-list li[b-ubpdnjwluh] {
    margin-bottom: 0.7rem;
    color: var(--cor-texto);
    font-size: 1.05rem;
}

    .values-list li i[b-ubpdnjwluh] {
        color: var(--cor-destaque);
    }

.feature-card[b-ubpdnjwluh] {
    background-color: var(--cor-fundo-claro);
    border: 1px solid var(--cor-contraste);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    padding: 2rem;
}

    .feature-card:hover[b-ubpdnjwluh] {
        transform: translateY(-5px);
        box-shadow: var(--sombra-card-hover);
        border-color: var(--cor-frescor);
    }

    .feature-card .feature-icon[b-ubpdnjwluh] {
        font-size: 3.5rem;
        color: var(--cor-destaque);
        margin-bottom: 1rem;
    }

    .feature-card .feature-title[b-ubpdnjwluh] {
        font-size: 1.4rem;
        font-weight: 700;
        color: var(--cor-titulo);
        margin-bottom: 0.75rem;
    }

    .feature-card .feature-text[b-ubpdnjwluh] {
        color: var(--cor-texto-secundario);
        font-size: 0.95rem;
        line-height: 1.6;
    }

/* Botão CTA (Call to Action) - Estilo atualizado e corrigido */
.cta-contact[b-ubpdnjwluh] {
    --color: var(--cor-frescor); /* A cor principal do botão, que é o verde vibrante */
    font-family: 'Poppins', sans-serif; /* Mantenha a fonte aqui para garantia */
    display: inline-flex; /* Para alinhar o texto e o SVG */
    align-items: center;
    justify-content: center;
    padding: 0.8em 1.5em; /* Ajuste do padding */
    background-color: transparent;
    border: 2px solid var(--color);
    border-radius: 0.6em; /* Borda arredondada */
    font-size: 1.2em; /* Tamanho da fonte */
    cursor: pointer;
    text-decoration: none;
    color: var(--color); /* Cor do texto inicial */
    font-weight: 600;
    position: relative;
    overflow: hidden; /* Importante para o efeito de preenchimento */
    z-index: 1; /* Keep this at 1 for the button itself */
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
    box-shadow: 6px 6px 0 black; /* Sombra inicial, com cor fixa (ou var) */
    transform: skewX(-15deg); /* O efeito de inclinação */
}

    .cta-contact:focus[b-ubpdnjwluh] {
        outline: none; /* Remove o contorno ao focar */
    }

    .cta-contact:hover[b-ubpdnjwluh] {
        box-shadow: 10px 10px 0 var(--cor-destaque); /* Sombra no hover com a cor destaque */
        /* IMPORTANT: Do NOT set background-color here if you want the fill effect */
        color: #fff; /* O texto fica branco no hover */
    }

    /* Inner wrapper for content to manage z-index and un-skewing */
    .cta-contact > span:first-child[b-ubpdnjwluh] { /* Selects the "Contactar" span */
        position: relative; /* Essential for z-index to work */
        z-index: 2; /* Ensures text is above the fill span */
        transition: color 0.3s ease-in-out;
        display: inline-block; /* Allows margin-right */
        margin-right: 0.5em; /* Space between text and icon */
        transform: skewX(15deg); /* UN-SKEW the text */
    }

    .cta-contact svg[b-ubpdnjwluh] { /* Selects the SVG icon */
        position: relative; /* Essential for z-index to work */
        z-index: 2; /* Ensures SVG is above the fill span */
        margin-left: 0; /* Reset any default margin */
        transition: transform 0.3s ease-in-out;
        color: currentColor; /* Inherit color from parent (.cta-contact) */
        width: 24px; /* Icon size */
        height: 24px; /* Icon size */
        transform: skewX(15deg); /* UN-SKEW the SVG icon */
    }

    /* This span creates the fill effect */
    .cta-contact > span:last-child[b-ubpdnjwluh] {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.6em;
        background-color: var(--color); /* Fill color */
        transform: translateX(-100%); /* Starts off-screen to the left */
        transition: transform 0.3s ease-in-out;
        z-index: 0; /* Ensure it's behind the text and SVG */
    }

    .cta-contact:hover > span:last-child[b-ubpdnjwluh] {
        transform: translateX(0); /* Fills the button on hover */
    }

    .cta-contact:hover svg[b-ubpdnjwluh] {
        transform: translateX(0.5em) skewX(15deg); /* Icon movement on hover, maintaining un-skew */
    }

    /* Animação de cor para o ícone SVG */
    .cta-contact svg path[b-ubpdnjwluh] { /* Selects the path inside the SVG */
        transition: fill 0.4s; /* Transition for fill color */
        fill: currentColor; /* Starts with the button text color (var(--color) or #fff on hover) */
    }

    .cta-contact:hover svg path[b-ubpdnjwluh] {
        animation: color_anim-b-ubpdnjwluh 1s infinite 0.2s; /* Apply color animation */
    }

/* Keyframes para a animação de cor */
@keyframes color_anim-b-ubpdnjwluh {
    0% {
        fill: white; /* Starts white */
    }

    50% {
        fill: var(--cor-destaque); /* Changes to highlight color in the middle */
    }

    100% {
        fill: white; /* Returns to white */
    }
}


/* Animação para o hero section */
@keyframes fadeInBackground-b-ubpdnjwluh {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Media Queries */
@media (max-width: 991.98px) {
    .about-hero h1[b-ubpdnjwluh] {
        font-size: 3rem;
    }

    .about-hero p.lead[b-ubpdnjwluh] {
        font-size: 1.15rem;
    }

    .section-subtitle[b-ubpdnjwluh] {
        font-size: 2rem;
        text-align: center;
    }

        .section-subtitle[b-ubpdnjwluh]::after {
            left: 50%;
            transform: translateX(-50%);
        }

    .image-container[b-ubpdnjwluh] {
        margin-bottom: 2rem;
    }

    .about-content .row.flex-row-reverse[b-ubpdnjwluh] {
        flex-direction: column !important;
    }

    .values-heading[b-ubpdnjwluh] {
        text-align: center;
    }

    .values-list[b-ubpdnjwluh] {
        text-align: center;
        padding-left: 0;
    }

        .values-list li[b-ubpdnjwluh] {
            text-align: left;
            display: inline-block;
            width: 100%;
            text-align: center;
        }

            .values-list li i[b-ubpdnjwluh] {
                margin-right: 0.5rem;
            }

    .feature-card[b-ubpdnjwluh] {
        margin-bottom: 1.5rem;
    }

    /* Media query para o botão de contacto em telas menores */
    .cta-contact[b-ubpdnjwluh] {
        font-size: 1.1em;
        padding: 0.7em 1.3em;
    }
}

@media (max-width: 767.98px) {
    .about-hero[b-ubpdnjwluh] {
        padding: 4rem 1rem;
    }

        .about-hero h1[b-ubpdnjwluh] {
            font-size: 2.5rem;
        }

        .about-hero p.lead[b-ubpdnjwluh] {
            font-size: 1rem;
        }

    .section-subtitle[b-ubpdnjwluh] {
        font-size: 1.8rem;
    }

    .image-container[b-ubpdnjwluh] {
        padding: 5px;
    }

    .feature-card .feature-icon[b-ubpdnjwluh] {
        font-size: 3rem;
    }

    .feature-card .feature-title[b-ubpdnjwluh] {
        font-size: 1.2rem;
    }

    /* Media query para o botão de contacto em telas muito pequenas */
    .cta-contact[b-ubpdnjwluh] {
        font-size: 1em;
        padding: 0.6em 1em;
    }

        .cta-contact svg[b-ubpdnjwluh] {
            width: 20px;
            height: 20px;
        }
}

.spinner[b-ubpdnjwluh] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-ubpdnjwluh 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-ubpdnjwluh {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Pages/Public/Contacts.razor.rz.scp.css */
/* Pages/Contacts.razor.css */

/* Hero Section */
.contacts-hero[b-0vd0nbayen] {
    background: linear-gradient(135deg, var(--cor-destaque), var(--cor-frescor)); /* Usar cores primárias */
    color: white;
    padding: 6rem 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    animation: fadeInBackground-b-0vd0nbayen 1s ease-out;
}

    .contacts-hero h1[b-0vd0nbayen] {
        color: white;
        font-size: 3.5rem;
        line-height: 1.2;
    }

    .contacts-hero p.lead[b-0vd0nbayen] {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto 2rem auto;
        opacity: 0.9;
    }

/* Section Subtitle (similar to AboutUs) */
.section-subtitle[b-0vd0nbayen] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--cor-titulo);
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 10px;
}

    .section-subtitle[b-0vd0nbayen]::after {
        content: '';
        position: absolute;
        left: 50%; /* Centralizar para títulos de secção */
        transform: translateX(-50%);
        bottom: 0;
        width: 60px;
        height: 4px;
        background-color: var(--cor-destaque);
        border-radius: 5px;
    }

/* Contact Info Section */
.contact-info-section[b-0vd0nbayen] {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.contact-details-card[b-0vd0nbayen],
.map-card[b-0vd0nbayen],
.contact-form-card[b-0vd0nbayen] {
    border: 1px solid var(--cor-contraste);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: var(--cor-fundo-claro);
}

    .contact-details-card:hover[b-0vd0nbayen],
    .contact-form-card:hover[b-0vd0nbayen] {
        transform: translateY(-5px);
        box-shadow: var(--sombra-card-hover);
    }

    .contact-details-card .card-title[b-0vd0nbayen] { /* Não altere este se for para os títulos dos detalhes de contacto */
        font-size: 1.7rem;
        font-weight: 700;
        color: var(--cor-destaque);
    }

    .contact-details-card p[b-0vd0nbayen] {
        color: var(--cor-texto-secundario);
        font-size: 1.05rem;
        line-height: 1.5;
    }

    .contact-details-card h5[b-0vd0nbayen] {
        color: var(--cor-destaque);
    }

.icon-contact[b-0vd0nbayen] {
    font-size: 1.5rem;
    color: var(--cor-frescor);
    vertical-align: middle;
    margin-top: -3px; /* Adjust alignment */
}

.contact-link[b-0vd0nbayen] {
    color: var(--cor-texto-secundario); /* Default link color */
    text-decoration: none;
    transition: color 0.3s ease;
}

    .contact-link:hover[b-0vd0nbayen] {
        color: var(--cor-destaque); /* Hover color for links */
        text-decoration: underline;
    }

.social-icons-contact .social-icon-contact[b-0vd0nbayen] {
    font-size: 2.2rem;
    color: var(--cor-frescor);
    transition: color 0.3s ease, transform 0.2s ease;
}

    .social-icons-contact .social-icon-contact:hover[b-0vd0nbayen] {
        color: var(--cor-destaque); /* Change to highlight color on hover */
        transform: translateY(-3px) scale(1.1);
    }

/* Map Card */
.map-card[b-0vd0nbayen] {
    overflow: hidden; /* Ensure border-radius applies to iframe */
    background-color: var(--cor-fundo-claro);
}

    .map-card .map-title[b-0vd0nbayen] {
        font-size: 1.7rem;
        font-weight: 700;
        color: var(--cor-destaque);
        padding: 1.5rem; /* Padding for the title inside the card */
        margin-bottom: 0; /* Remove default margin */
        background-color: var(--cor-fundo-claro);
    }

.map-responsive[b-0vd0nbayen] {
    overflow: hidden;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
    position: relative;
    height: 0;
}

    .map-responsive iframe[b-0vd0nbayen] {
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        position: absolute;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

/* Contact Form Section */
.contact-form-section[b-0vd0nbayen] {
    background-color: var(--cor-fundo-claro); /* Light background for the form section */
    padding: 4rem 0;
    border-radius: 12px;
    margin-top: 3rem;
}

.contact-form-card[b-0vd0nbayen] {
    border: none; /* No border for the inner card, relies on section background */
    box-shadow: var(--sombra-card-hover); /* A bit more prominent shadow */
    border-radius: 12px;
    background-color: var(--cor-fundo-claro);
}

    .contact-form-card .form-label[b-0vd0nbayen] {
        font-weight: 600;
        color: var(--cor-titulo);
        margin-bottom: 0.5rem;
    }

    .contact-form-card .form-control[b-0vd0nbayen] {
        border-radius: 8px;
        padding: 0.75rem 1rem;
        border: 1px solid var(--cor-contraste);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
        background-color: #2A2A2A;
        color: var(--cor-texto);
    }

        .contact-form-card .form-control:focus[b-0vd0nbayen] {
            border-color: var(--cor-frescor);
            box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.25);
            outline: none;
        }

        .contact-form-card .form-control[b-0vd0nbayen]::placeholder {
            color: rgba(224, 224, 224, 0.5);
        }

    .contact-form-card .btn-primary[b-0vd0nbayen] {
        width: 100%;
        padding: 0.85rem 1.5rem;
        font-size: 1.15rem;
        border-radius: 8px;
        background-color: var(--cor-destaque);
        border-color: var(--cor-destaque);
        transition: background-color 0.3s ease, transform 0.2s ease;
    }

        .contact-form-card .btn-primary:hover[b-0vd0nbayen] {
            background-color: #bf4e08;
            border-color: #bf4e08;
            transform: translateY(-2px);
        }

/* Animations */
@keyframes fadeInBackground-b-0vd0nbayen {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Responsive Adjustments */
@media (max-width: 991.98px) {
    .contacts-hero h1[b-0vd0nbayen] {
        font-size: 3rem;
    }

    .contacts-hero p.lead[b-0vd0nbayen] {
        font-size: 1.15rem;
    }

    .section-subtitle[b-0vd0nbayen] {
        font-size: 2rem;
    }

    .contact-details-card[b-0vd0nbayen],
    .map-card[b-0vd0nbayen],
    .contact-form-card[b-0vd0nbayen] {
        margin-bottom: 1.5rem; /* Add space between stacked cards */
    }

        .contact-details-card .card-body[b-0vd0nbayen],
        .contact-form-card .card-body[b-0vd0nbayen] {
            padding: 1.5rem !important; /* Reduce padding on smaller screens */
        }

        .map-card .map-title[b-0vd0nbayen] {
            padding: 1rem;
            font-size: 1.5rem;
        }
}

@media (max-width: 767.98px) {
    .contacts-hero[b-0vd0nbayen] {
        padding: 4rem 1rem;
    }

        .contacts-hero h1[b-0vd0nbayen] {
            font-size: 2.5rem;
        }

        .contacts-hero p.lead[b-0vd0nbayen] {
            font-size: 1rem;
        }

    .section-subtitle[b-0vd0nbayen] {
        font-size: 1.8rem;
    }

    .icon-contact[b-0vd0nbayen] {
        font-size: 1.3rem;
    }

    .social-icons-contact .social-icon-contact[b-0vd0nbayen] {
        font-size: 1.8rem;
    }
}

.company-logo-form[b-0vd0nbayen] {
    max-width: 150px; /* Ajuste o tamanho máximo do logo */
    height: auto;
    margin-bottom: 2rem;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
}

/* Form Titles inside containers */
.form-title[b-0vd0nbayen] {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--cor-destaque);
    text-align: center; /* Garante que o título está centrado */
    margin-bottom: 2rem;
    padding-bottom: 10px;
    position: relative;
}

    .form-title[b-0vd0nbayen]::after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 50px;
        height: 3px;
        background-color: var(--cor-frescor);
        border-radius: 5px;
    }

/* Adjustments for validation messages */
.validation-message[b-0vd0nbayen] {
    color: var(--bs-danger); /* Assuming Bootstrap's danger color for errors */
    font-size: 0.875em;
    margin-top: 0.25rem;
    display: block; /* Ensure it's on its own line */
}

/* General form control styling (already largely defined, but reinforcing) */
.contact-form-card .form-control[b-0vd0nbayen] {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    border: 1px solid var(--cor-contraste);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

    .contact-form-card .form-control:focus[b-0vd0nbayen] {
        border-color: var(--cor-frescor);
        box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.25);
        outline: none;
    }


.spinner[b-0vd0nbayen] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-0vd0nbayen 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-0vd0nbayen {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Pages/Public/Index.razor.rz.scp.css */
.contacts-hero[b-fxlx9cplby] {
    background: linear-gradient(135deg, var(--cor-destaque), var(--cor-frescor));
    color: white;
    padding: 6rem 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    animation: fadeInBackground-b-fxlx9cplby 1s ease-out;
}

    .contacts-hero h1[b-fxlx9cplby] {
        color: white;
        font-size: 3.5rem;
        line-height: 1.2;
    }

    .contacts-hero p.lead[b-fxlx9cplby] {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto 2rem auto;
        opacity: 0.9;
    }

.section-subtitle[b-fxlx9cplby] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--cor-titulo);
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 10px;
}

    .section-subtitle[b-fxlx9cplby]::after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 60px;
        height: 4px;
        background-color: var(--cor-destaque);
        border-radius: 5px;
    }

.contact-info-section[b-fxlx9cplby] {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.contact-details-card[b-fxlx9cplby],
.map-card[b-fxlx9cplby],
.contact-form-card[b-fxlx9cplby] {
    border: 1px solid var(--cor-contraste);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: white;
}

    .contact-details-card:hover[b-fxlx9cplby],
    .contact-form-card:hover[b-fxlx9cplby] {
        transform: translateY(-5px);
        box-shadow: var(--sombra-card-hover);
    }

    .contact-details-card .card-title[b-fxlx9cplby] {
        font-size: 1.7rem;
        font-weight: 700;
        color: var(--cor-destaque);
    }

    .contact-details-card p[b-fxlx9cplby] {
        color: var(--cor-texto-secundario);
        font-size: 1.05rem;
        line-height: 1.5;
    }

.icon-contact[b-fxlx9cplby] {
    font-size: 1.5rem;
    color: var(--cor-frescor);
    vertical-align: middle;
    margin-top: -3px;
}

.contact-link[b-fxlx9cplby] {
    color: var(--cor-texto-secundario);
    text-decoration: none;
    transition: color 0.3s ease;
}

    .contact-link:hover[b-fxlx9cplby] {
        color: var(--cor-destaque);
        text-decoration: underline;
    }

.social-icons-contact .social-icon-contact[b-fxlx9cplby] {
    font-size: 2.2rem;
    color: var(--cor-frescor);
    transition: color 0.3s ease, transform 0.2s ease;
}

    .social-icons-contact .social-icon-contact:hover[b-fxlx9cplby] {
        color: var(--cor-destaque);
        transform: translateY(-3px) scale(1.1);
    }

.map-card[b-fxlx9cplby] {
    overflow: hidden;
}

    .map-card .map-title[b-fxlx9cplby] {
        font-size: 1.7rem;
        font-weight: 700;
        color: var(--cor-destaque);
        padding: 1.5rem;
        margin-bottom: 0;
    }

.map-responsive[b-fxlx9cplby] {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

    .map-responsive iframe[b-fxlx9cplby] {
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        position: absolute;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

.contact-form-section[b-fxlx9cplby] {
    background-color: var(--cor-fundo-claro);
    padding: 4rem 0;
    border-radius: 12px;
    margin-top: 3rem;
}

.contact-form-card[b-fxlx9cplby] {
    border: none;
    box-shadow: var(--sombra-card-hover);
    border-radius: 12px;
}

    .contact-form-card .form-label[b-fxlx9cplby] {
        font-weight: 600;
        color: var(--cor-titulo);
        margin-bottom: 0.5rem;
    }

    .contact-form-card .form-control[b-fxlx9cplby] {
        border-radius: 8px;
        padding: 0.75rem 1rem;
        border: 1px solid var(--cor-contraste);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

        .contact-form-card .form-control:focus[b-fxlx9cplby] {
            border-color: var(--cor-frescor);
            box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.25);
            outline: none;
        }

    .contact-form-card .btn-primary[b-fxlx9cplby] {
        width: 100%;
        padding: 0.85rem 1.5rem;
        font-size: 1.15rem;
        border-radius: 8px;
        background-color: var(--cor-destaque);
        border-color: var(--cor-destaque);
        transition: background-color 0.3s ease, transform 0.2s ease;
    }

        .contact-form-card .btn-primary:hover[b-fxlx9cplby] {
            background-color: #bf4e08;
            border-color: #bf4e08;
            transform: translateY(-2px);
        }

@keyframes fadeInBackground-b-fxlx9cplby {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (max-width: 991.98px) {
    .contacts-hero h1[b-fxlx9cplby] {
        font-size: 3rem;
    }

    .contacts-hero p.lead[b-fxlx9cplby] {
        font-size: 1.15rem;
    }

    .section-subtitle[b-fxlx9cplby] {
        font-size: 2rem;
    }

    .contact-details-card[b-fxlx9cplby],
    .map-card[b-fxlx9cplby],
    .contact-form-card[b-fxlx9cplby] {
        margin-bottom: 1.5rem;
    }

        .contact-details-card .card-body[b-fxlx9cplby],
        .contact-form-card .card-body[b-fxlx9cplby] {
            padding: 1.5rem !important;
        }

        .map-card .map-title[b-fxlx9cplby] {
            padding: 1rem;
            font-size: 1.5rem;
        }

    .section-about-us .col-md-5[b-fxlx9cplby] {
        margin-top: 50px;
    }
}

@media (max-width: 767.98px) {
    .contacts-hero[b-fxlx9cplby] {
        padding: 4rem 1rem;
    }

        .contacts-hero h1[b-fxlx9cplby] {
            font-size: 2.5rem;
        }

        .contacts-hero p.lead[b-fxlx9cplby] {
            font-size: 1rem;
        }

    .section-subtitle[b-fxlx9cplby] {
        font-size: 1.8rem;
    }

    .icon-contact[b-fxlx9cplby] {
        font-size: 1.3rem;
    }

    .social-icons-contact .social-icon-contact[b-fxlx9cplby] {
        font-size: 1.8rem;
    }
}

.company-logo-form[b-fxlx9cplby] {
    max-width: 150px;
    height: auto;
    margin-bottom: 2rem;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}

.form-title[b-fxlx9cplby] {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--cor-destaque);
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 10px;
    position: relative;
}

    .form-title[b-fxlx9cplby]::after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 50px;
        height: 3px;
        background-color: var(--cor-frescor);
        border-radius: 5px;
    }

.validation-message[b-fxlx9cplby] {
    color: var(--bs-danger);
    font-size: 0.875em;
    margin-top: 0.25rem;
    display: block;
}

.contact-form-card .form-control[b-fxlx9cplby] {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    border: 1px solid var(--cor-contraste);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

    .contact-form-card .form-control:focus[b-fxlx9cplby] {
        border-color: var(--cor-frescor);
        box-shadow: 0 0 0 0.25rem rgba(var(--cor-frescor-rgb), 0.25);
        outline: none;
    }

@media (max-width: 767.98px) {
    .company-logo-form[b-fxlx9cplby] {
        max-width: 100px;
    }

    .form-title[b-fxlx9cplby] {
        font-size: 1.5rem;
    }
}

body.loading-cursor[b-fxlx9cplby] {
    cursor: wait;
}

.loader-container[b-fxlx9cplby] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 9999;
}

.loader[b-fxlx9cplby] {
    position: relative;
    width: 164px;
    height: 164px;
    border-radius: 50%;
    animation: rotate-b-fxlx9cplby 0.75s linear infinite;
}

    .loader[b-fxlx9cplby]::before {
        content: '';
        position: absolute;
        width: 20px;
        height: 40px;
        border: 1px solid #FF3D00;
        border-width: 12px 2px 7px;
        border-radius: 2px 2px 1px 1px;
        box-sizing: border-box;
        transform: rotate(45deg) translate(24px, -10px);
        background-image: linear-gradient(#FF3D00 20px, transparent 0), linear-gradient(#FF3D00 30px, transparent 0), linear-gradient(#FF3D00 30px, transparent 0);
        background-size: 10px 12px, 1px 30px, 1px 30px;
        background-repeat: no-repeat;
        background-position: center, 12px 0px, 3px 0px;
    }

    .loader[b-fxlx9cplby]::after {
        content: '';
        position: absolute;
        height: 4px;
        width: 4px;
        left: 20px;
        top: 47px;
        border-radius: 50%;
        color: #Fff;
        box-shadow: -4px 7px 2px, -7px 16px 3px 1px, -11px 24px 4px 1px, -6px 24px 4px 1px, -14px 35px 6px 2px, -5px 36px 8px 2px, -5px 45px 8px 2px, -14px 49px 8px 2px, 6px 60px 11px 1px, -11px 66px 11px 1px, 11px 75px 13px, -1px 82px 15px;
    }

@keyframes rotate-b-fxlx9cplby {
    to {
        transform: rotate(360deg);
    }
}

.welcome-section[b-fxlx9cplby] {
    background-image: linear-gradient(135deg, var(--cor-frescor) 0%, var(--cor-destaque) 100%);
    color: white;
    padding: 4rem 1rem;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 8px;
    box-shadow: var(--sombra-card-padrao);
    overflow: hidden;
    position: relative;
}

    .welcome-section h1[b-fxlx9cplby],
    .welcome-section p.lead[b-fxlx9cplby],
    .welcome-section .btn[b-fxlx9cplby] {
        opacity: 0;
        transform: translateY(20px);
        animation-fill-mode: forwards;
        animation-duration: 0.8s;
        animation-timing-function: ease-out;
    }

    .welcome-section h1[b-fxlx9cplby] {
        animation-name: fade-in-up-b-fxlx9cplby;
        animation-delay: 0.2s;
        margin-bottom: 0.5rem;
    }

    .welcome-section p.lead[b-fxlx9cplby] {
        animation-name: fade-in-up-b-fxlx9cplby;
        animation-delay: 0.4s;
        margin-bottom: 1.5rem;
    }

    .welcome-section .btn[b-fxlx9cplby] {
        animation-name: fade-in-up-b-fxlx9cplby;
        animation-delay: 0.6s;
        font-weight: 600;
    }

@keyframes fade-in-up-b-fxlx9cplby {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.welcome-section .btn-light[b-fxlx9cplby] {
    background-color: white;
    color: var(--cor-frescor);
    border: 2px solid white;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

    .welcome-section .btn-light:hover[b-fxlx9cplby] {
        background-color: var(--cor-frescor);
        color: white;
        transform: translateY(-3px);
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    }

@media (max-width: 991.98px) {
    .welcome-section[b-fxlx9cplby] {
        min-height: 350px;
    }

        .welcome-section h1[b-fxlx9cplby] {
            font-size: 2.8rem;
        }

        .welcome-section p.lead[b-fxlx9cplby] {
            font-size: 1.2rem;
        }
}

@media (max-width: 767.98px) {
    .welcome-section[b-fxlx9cplby] {
        min-height: 300px;
        padding: 2rem 0.5rem;
    }

        .welcome-section h1[b-fxlx9cplby] {
            font-size: 2rem;
        }

        .welcome-section p.lead[b-fxlx9cplby] {
            font-size: 1rem;
        }

        .welcome-section .btn-lg[b-fxlx9cplby] {
            padding: 0.6rem 1.2rem;
            font-size: 1rem;
        }
}

.testemunho-card[b-fxlx9cplby] {
    border: 2px dashed var(--cor-contraste);
    border-radius: 12px;
    background-color: var(--cor-fundo-claro); /* DARK */
    padding: 2rem;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

    .testemunho-card:hover[b-fxlx9cplby] {
        transform: translateY(-5px);
        box-shadow: var(--sombra-card-hover);
        border-color: var(--cor-destaque);
    }

    .testemunho-card[b-fxlx9cplby]::before {
        content: "\201C";
        font-size: 8em;
        color: rgba(30, 144, 255, 0.15); /* Azul GearUp */
        position: absolute;
        top: 10px;
        left: 20px;
        line-height: 1;
        z-index: 0;
    }

    .testemunho-card[b-fxlx9cplby]::after {
        content: "\201D";
        font-size: 8em;
        color: rgba(30, 144, 255, 0.15); /* Azul GearUp */
        position: absolute;
        bottom: 10px;
        right: 20px;
        line-height: 1;
        z-index: 0;
    }

    .testemunho-card .card-text[b-fxlx9cplby] {
        font-size: 1.15rem;
        line-height: 1.6;
        color: var(--cor-texto-secundario); /* Light grey */
        position: relative;
        z-index: 1;
    }

    .testemunho-card footer[b-fxlx9cplby] {
        background-color: transparent !important;
        color: var(--cor-frescor);
        text-align: right;
        margin-top: 1rem;
        font-style: normal;
        font-weight: 600;
        font-size: 1.05rem;
        position: relative;
        z-index: 1;
    }

.service-card[b-fxlx9cplby] {
    border: 1px solid var(--cor-contraste);
    background-color: var(--cor-fundo-claro); /* DARK */
    border-radius: 12px;
    transition: all 0.3s ease;
}

    .service-card:hover[b-fxlx9cplby] {
        border-color: var(--cor-destaque);
        background-color: #252525;
    }

    .service-card .card-title[b-fxlx9cplby] {
        color: var(--cor-destaque);
    }

    .service-card .card-text[b-fxlx9cplby] {
        color: var(--cor-texto-secundario);
    }

.spinner[b-fxlx9cplby] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-fxlx9cplby 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-fxlx9cplby {
    to {
        transform: rotate(360deg);
    }
}

/* Contact Cards Section - Dark Theme */
.section-contact-cards[b-fxlx9cplby] {
    padding: 3rem 0;
}

.contact-card[b-fxlx9cplby] {
    background-color: var(--cor-fundo-claro);
    border: 1px solid var(--cor-contraste);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.contact-card:hover[b-fxlx9cplby] {
    transform: translateY(-5px);
    box-shadow: var(--sombra-card-hover);
    border-color: var(--cor-destaque);
}

.contact-card .card-title[b-fxlx9cplby] {
    color: var(--cor-destaque);
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.contact-card .card-text[b-fxlx9cplby] {
    color: var(--cor-texto-secundario);
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
}

.button-wrapper[b-fxlx9cplby] {
    margin-top: auto;
    padding-top: 1rem;
}

/* CTA Contact Button - Blue Style */
.cta-contact[b-fxlx9cplby] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 2rem;
    background-color: var(--cor-destaque);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.3);
}

.cta-contact:hover[b-fxlx9cplby] {
    background-color: var(--cor-frescor);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 172, 193, 0.4);
    color: white;
}

.cta-contact svg[b-fxlx9cplby] {
    transition: transform 0.3s ease;
}

.cta-contact:hover svg[b-fxlx9cplby] {
    transform: rotate(15deg);
}

/* CTA Quote Button - Blue Style */
.cta-quote[b-fxlx9cplby] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 2rem;
    background-color: var(--cor-destaque);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(30, 144, 255, 0.3);
}

.cta-quote:hover[b-fxlx9cplby] {
    background-color: var(--cor-frescor);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 172, 193, 0.4);
    color: white;
}

.cta-quote svg[b-fxlx9cplby] {
    width: 40px;
    height: auto;
    transition: transform 0.3s ease;
}

.cta-quote:hover svg[b-fxlx9cplby] {
    transform: translateX(5px);
}

.cta-quote svg path[b-fxlx9cplby] {
    fill: white;
}

@media (max-width: 767.98px) {
    .section-contact-cards[b-fxlx9cplby] {
        padding: 2rem 0;
    }

    .contact-card .card-title[b-fxlx9cplby] {
        font-size: 1.3rem;
    }

    .contact-card .card-text[b-fxlx9cplby] {
        font-size: 1rem;
    }

    .cta-contact[b-fxlx9cplby],
    .cta-quote[b-fxlx9cplby] {
        font-size: 1rem;
        padding: 0.75rem 1.5rem;
    }

    .cta-quote svg[b-fxlx9cplby] {
        width: 30px;
    }
}
/* /Components/Pages/Public/Services.razor.rz.scp.css */
:root[b-4m63edoscc] {
    --cor-frescor: #00ACC1;
    --cor-destaque: #1E90FF;
    --cor-secundaria-escura: #0D47A1;
    --cor-titulo: #FFFFFF;
    --cor-texto: #E0E0E0;
    --cor-texto-secundario: #B0BEC5;
    --cor-fundo-claro: #1E1E1E;
    --cor-contraste: #37474F;
    --sombra-card-padrao: 0 4px 10px rgba(0, 0, 0, 0.3);
    --sombra-card-hover: 0 8px 20px rgba(0, 0, 0, 0.5);
    --cor-frescor-rgb: 0, 172, 193;
}

.services-hero[b-4m63edoscc] {
    background: linear-gradient(135deg, var(--cor-destaque), var(--cor-frescor));
    color: white;
    padding: 6rem 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    animation: fadeInBackground-b-4m63edoscc 1s ease-out;
}

    .services-hero h1[b-4m63edoscc] {
        color: white;
        font-size: 3.5rem;
        line-height: 1.2;
    }

    .services-hero p.lead[b-4m63edoscc] {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto 2rem auto;
        opacity: 0.9;
    }

    .services-hero .btn-outline-light[b-4m63edoscc] {
        border-color: white;
        color: white;
        font-weight: 600;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

        .services-hero .btn-outline-light:hover[b-4m63edoscc] {
            background-color: white;
            color: var(--cor-destaque);
        }

.section-title[b-4m63edoscc] {
    font-size: 3rem;
    font-weight: 700;
    color: var(--cor-titulo);
    margin-bottom: 3rem;
    position: relative;
    padding-bottom: 15px;
}

    .section-title[b-4m63edoscc]::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: 80px;
        height: 5px;
        background-color: var(--cor-destaque);
        border-radius: 5px;
    }

.services-grid[b-4m63edoscc] {
    margin-top: 2rem;
}

.service-item-card[b-4m63edoscc] {
    border: 1px solid var(--cor-contraste);
    border-radius: 12px;
    box-shadow: var(--sombra-card-padrao);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--cor-fundo-claro); /* DARK #1E1E1E */
}

    .service-item-card:hover[b-4m63edoscc] {
        transform: translateY(-8px);
        box-shadow: var(--sombra-card-hover);
        border-color: var(--cor-destaque);
        background-color: #252525;
    }

    .service-item-card .card-body[b-4m63edoscc] {
        padding: 0;
    }

    .service-item-card .service-icon[b-4m63edoscc] {
        font-size: 4rem;
        color: var(--cor-frescor);
        margin-bottom: 1.5rem;
        transition: color 0.3s ease;
    }

    .service-item-card:hover .service-icon[b-4m63edoscc] {
        color: var(--cor-destaque);
    }

    .service-item-card .card-title[b-4m63edoscc] {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--cor-titulo); /* White */
        margin-bottom: 1rem;
    }

    .service-item-card .card-text[b-4m63edoscc] {
        color: var(--cor-texto-secundario); /* Light grey */
        line-height: 1.6;
        margin-bottom: 1.5rem;
    }

.service-details-list[b-4m63edoscc] {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

    .service-details-list li[b-4m63edoscc] {
        margin-bottom: 0.5rem;
        color: var(--cor-texto-secundario);
        font-size: 0.95rem;
    }

.btn-lg[b-4m63edoscc] {
    padding: 1rem 2.5rem;
    font-size: 1.25rem;
    border-radius: 10px;
}

.button-wrapper[b-4m63edoscc] {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.cta-contact[b-4m63edoscc] {
    --color: var(--cor-frescor);
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.8em 1.5em;
    background-color: transparent;
    border: 2px solid var(--color);
    border-radius: 0.6em;
    font-size: 1.2em;
    cursor: pointer;
    text-decoration: none;
    color: var(--color);
    font-weight: 600;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease;
    box-shadow: 6px 6px 0 black;
    transform: skewX(-15deg);
}

    .cta-contact:focus[b-4m63edoscc] {
        outline: none;
    }

    .cta-contact:hover[b-4m63edoscc] {
        box-shadow: 10px 10px 0 var(--cor-destaque);
        color: #fff;
    }

    .cta-contact span:first-child[b-4m63edoscc] {
        position: relative;
        z-index: 2;
        transition: color 0.3s ease-in-out;
        display: inline-block;
        margin-right: 0.5em;
        transform: skewX(15deg);
    }

    .cta-contact svg[b-4m63edoscc] {
        position: relative;
        z-index: 2;
        margin-left: 0;
        transition: transform 0.3s ease-in-out;
        color: currentColor;
        width: 24px;
        height: 24px;
        transform: skewX(15deg);
    }

    .cta-contact span:last-child[b-4m63edoscc] {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.6em;
        background-color: var(--color);
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        z-index: 0;
    }

    .cta-contact:hover span:last-child[b-4m63edoscc] {
        transform: translateX(0);
    }

    .cta-contact:hover svg[b-4m63edoscc] {
        transform: translateX(0.5em) skewX(15deg);
    }

    .cta-contact svg path[b-4m63edoscc] {
        transition: fill 0.4s;
        fill: currentColor;
    }

    .cta-contact:hover svg path[b-4m63edoscc] {
        animation: color_anim-b-4m63edoscc 1s infinite 0.2s;
    }

@keyframes color_anim-b-4m63edoscc {
    0% {
        fill: white;
    }

    50% {
        fill: var(--cor-destaque);
    }

    100% {
        fill: white;
    }
}

@keyframes fadeInBackground-b-4m63edoscc {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (max-width: 991.98px) {
    .services-hero h1[b-4m63edoscc] {
        font-size: 3rem;
    }

    .services-hero p.lead[b-4m63edoscc] {
        font-size: 1.15rem;
    }

    .section-title[b-4m63edoscc] {
        font-size: 2.5rem;
    }

    .service-item-card[b-4m63edoscc] {
        padding: 1.5rem;
    }

        .service-item-card .service-icon[b-4m63edoscc] {
            font-size: 3.5rem;
        }

        .service-item-card .card-title[b-4m63edoscc] {
            font-size: 1.6rem;
        }
}

@media (max-width: 767.98px) {
    .services-hero[b-4m63edoscc] {
        padding: 4rem 1rem;
    }

        .services-hero h1[b-4m63edoscc] {
            font-size: 2.5rem;
        }

        .services-hero p.lead[b-4m63edoscc] {
            font-size: 1rem;
        }

    .section-title[b-4m63edoscc] {
        font-size: 2rem;
    }

    .service-item-card[b-4m63edoscc] {
        padding: 1rem;
    }

        .service-item-card .service-icon[b-4m63edoscc] {
            font-size: 3rem;
        }

        .service-item-card .card-title[b-4m63edoscc] {
            font-size: 1.4rem;
        }

    .cta-contact[b-4m63edoscc] {
        font-size: 1em;
        padding: 0.7em 1.2em;
    }

        .cta-contact svg[b-4m63edoscc] {
            width: 20px;
            height: 20px;
        }
}

.spinner[b-4m63edoscc] {
    border: 4px solid rgba(0,0,0,0.1);
    border-left-color: #D85F0A;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin-b-4m63edoscc 1s linear infinite;
    margin: auto;
}

@keyframes spin-b-4m63edoscc {
    to {
        transform: rotate(360deg);
    }
}
