/* 
 * CSS personalizado para o Sistema Recrutador
 * Esse arquivo contém ajustes visuais específicos para complementar o styles.css principal
 */

/* Ajustes para container de login, registro e recuperação */
.login-container, .create-account-container, .recover-container {
    background-image: url('../images/background.png') !important;
    background-size: cover !important;
    background-position: center !important;
    width: 100vw !important;
    position: relative;
}

/* Ajustes para o logo */
.logo-image {
    width: 220px;
    height: 57px;
    background-image: url('../images/logo.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Ajustes para vetores de fundo */
.vector-1 {
    position: absolute !important;
    bottom: 220px !important;
    left: 60px !important;
    width: 398px !important;
    height: 581px !important;
    background-image: url('../images/vetores_esquerdo.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: bottom left !important;
    z-index: 1 !important;
    opacity: 0.9;
}

/* Ajustes para containers de formulário */
.form-container {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
    position: relative;
    z-index: 10;
}

/* Ajustes para botões - Constante em #009AB2 para login e registro */
.login-container .btn-primary, 
.create-account-container .btn-primary, 
.recover-container .btn-primary {
    background-color: #009AB2 !important;
    transition: all 0.3s ease !important;
}

.login-container .btn-primary:hover, 
.create-account-container .btn-primary:hover, 
.recover-container .btn-primary:hover {
    background-color: #007d91 !important;
    transform: translateY(-2px);
}

.login-container .btn-outline,
.create-account-container .btn-outline,
.recover-container .btn-outline {
    color: #009AB2 !important;
    border-color: #009AB2 !important;
}

.login-container .btn-outline:hover,
.create-account-container .btn-outline:hover,
.recover-container .btn-outline:hover {
    background-color: rgba(0, 154, 178, 0.15) !important;
    transform: translateY(-2px);
}

/* Cores específicas para módulos */
.btn-primary {
    background-color: #DB901F !important;
    transition: all 0.3s ease !important;
}

.btn-primary:hover {
    background-color: #b77518 !important;
    transform: translateY(-2px);
}

.btn-outline:hover {
    background-color: rgba(219, 144, 31, 0.15) !important;
    transform: translateY(-2px);
}

/* Cores para consultor */
.module-consultor .btn-primary {
    background-color: #6AA842 !important;
}

.module-consultor .btn-primary:hover {
    background-color: #588c37 !important;
}

.module-consultor .btn-outline {
    color: #6AA842 !important;
    border-color: #6AA842 !important;
}

.module-consultor .btn-outline:hover {
    background-color: rgba(106, 168, 66, 0.15) !important;
}

/* Ajustes para campos de formulário */
.input-with-icon {
    transition: all 0.3s ease;
}

.input-with-icon:focus-within {
    border-color: #009AB2 !important;
    box-shadow: 0 0 0 3px rgba(0, 154, 178, 0.2);
}

/* Login e registro sempre azul nos ícones */
.login-container .icon-container,
.create-account-container .icon-container,
.recover-container .icon-container,
.login-container .eye-icon,
.create-account-container .eye-icon,
.recover-container .eye-icon {
    background-color: #009AB2 !important;
}

.login-container a,
.create-account-container a,
.recover-container a {
    color: #009AB2 !important;
}

/* Ajustes para mensagens de alerta */
.alert {
    animation: fadeInDown 0.5s ease forwards;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsividade melhorada */
@media screen and (max-width: 576px) {
    .vector-1 {
        display: block !important;
        opacity: 0.3;
    }
    
    .form-container {
        padding: 25px !important;
    }
}

/* Novo layout do dashboard - Header no topo e Sidebar abaixo */
.dashboard-body {
    display: block;
    background-image: none;
    background-color: #262626;
    color: #DDDDDD;
    min-height: 100vh;
    overflow-x: hidden;
    margin: 0;
}

/* Estilos para o header - Sempre azul #009AB2 */
.dashboard-header {
    width: 100%;
    height: 60px;
    background-color: #009AB2 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
}

.header-left {
    display: flex;
    align-items: center;
}

/* Menu toggle button */
.menu-toggle {
    cursor: pointer;
    margin-right: 15px;
    width: 24px;
    height: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
    padding: 4px;
}

.menu-toggle:hover {
    transform: scale(1.1);
}

.menu-bar {
    width: 100%;
    height: 3px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.header-left .logo {
    margin: 0;
}

.header-left .logo-image {
    width: 150px;
    height: 40px;
}

.header-right {
    display: flex;
    align-items: center;
}

.search-container {
    position: relative;
    margin-right: 20px;
}

.search-container input {
    background-color: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 5px;
    height: 36px;
    width: 200px;
    padding: 0 35px 0 15px;
    color: #FFFFFF;
}

.search-container input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #FFFFFF;
}

.header-icons {
    display: flex;
    margin-right: 20px;
}

.icon-wrapper {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.15);
    cursor: pointer;
}

.user-profile {
    display: flex;
    align-items: center;
}

.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 10px;
}

.user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-name {
    color: #FFFFFF;
    margin-right: 15px;
    font-weight: 500;
}

.language-selector {
    display: flex;
    align-items: center;
    color: #FFFFFF;
    cursor: pointer;
}

.flag-icon {
    width: 18px;
    height: 12px;
    margin-right: 5px;
    border-radius: 2px;
}

/* Wrapper para conter sidebar e conteúdo */
.dashboard-wrapper {
    display: flex;
    margin-top: 60px; /* Altura do header */
    width: 100%;
    min-height: calc(100vh - 60px);
    gap: 0;
    position: relative;
    background-color: #262626;
}

/* Cores específicas para os módulos na sidebar */
/* Recrutador - Cores laranja/dourada */
.module-recrutador .sidebar {
    background-color: #1a2b47;
}

.module-recrutador .sidebar-divider {
    background-color: #234680;
}

.module-recrutador .sidebar ul li.active {
    background-color: #DB901F;
}

.module-recrutador .sidebar ul li:hover {
    background-color: rgba(219, 144, 31, 0.2);
}

.module-recrutador .sidebar li a i {
    color: #DB901F;
}

/* Consultor - Cores verdes */
.module-consultor .sidebar {
    background-color: #1b472b;
}

.module-consultor .sidebar-divider {
    background-color: #276f3d;
}

.module-consultor .sidebar ul li.active {
    background-color: #6AA842;
}

.module-consultor .sidebar ul li:hover {
    background-color: rgba(106, 168, 66, 0.2);
}

.module-consultor .sidebar li a i {
    color: #6AA842;
}

/* Estilos para sidebar */
.sidebar {
    width: 250px;
    min-width: 250px; /* Garantir largura mínima */
    height: auto;
    background-color: #363A3D;
    position: sticky;
    top: 60px;
    padding-top: 0; /* Removido padding-top para acomodar os cabeçalhos */
    box-shadow: none;
    transition: all 0.3s ease;
    border-right: 1px solid #444;
    z-index: 10;
}

.sidebar.collapsed {
    width: 70px;
    min-width: 70px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
}

.sidebar li {
    margin-bottom: 2px;
}

.sidebar li a {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: #DDDDDD;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    margin: 0 8px;
    background-color: transparent;
}

/* Removendo backgrounds coloridos nos hovers e active */
.sidebar li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.sidebar li.active a {
    background-color: #444;
    color: #FFFFFF;
    font-weight: 500;
}

/* Cores fixas para os ícones de cada seção independente do módulo ativo */
.recrutador-menu li a i {
    width: 24px;
    margin-right: 10px;
    font-size: 16px;
    text-align: center;
    color: #DB901F;  /* Laranja/dourado para Recrutador */
}

.consultor-menu li a i {
    width: 24px;
    margin-right: 10px;
    font-size: 16px;
    text-align: center;
    color: #6AA842;  /* Verde para Consultor */
}

/* Cores para os ícones do menu de ajuda */
.sidebar li a i {
    width: 24px;
    margin-right: 10px;
    font-size: 16px;
    text-align: center;
    color: #009AB2;  /* Azul para outros menus */
}

/* Manter cores dos ícones mesmo quando o item está ativo */
.sidebar li.active a i {
    color: inherit;  /* Mantém a cor original do ícone quando ativo */
}

/* Make sure active state looks good in collapsed mode */
.sidebar.collapsed li a {
    padding: 12px 0;
    justify-content: center;
}

.sidebar.collapsed li a i {
    margin-right: 0;
}

/* Adjust padding when collapsed */
.sidebar.collapsed li.active a {
    margin: 0 5px;
}

.sidebar-divider {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.1);
    margin: 15px 10px;
}

.sidebar-subheader {
    color: #AAAAAA;
    font-size: 12px;
    text-transform: uppercase;
    padding: 0 20px;
    margin: 15px 0 10px;
    font-weight: 600;
}

.sidebar.collapsed .sidebar-subheader {
    display: none;
}

.sidebar.collapsed li a span:not(:first-child),
.sidebar.collapsed li a .status-tag {
    display: none;
}

/* Hide the span text in section headers when sidebar is collapsed */
.sidebar.collapsed .sidebar-section-header span {
    display: none;
}

/* Adjust padding and centering for sidebar section headers when collapsed */
.sidebar.collapsed .sidebar-section-header {
    padding: 12px 0;
    justify-content: center;
}

.sidebar.collapsed .sidebar-section-header .header-icon {
    margin-right: 0;
}

/* Estilos para o conteúdo principal */
.main-content {
    flex: 1;
    background-color: #262626;
    min-height: calc(100vh - 60px);
    transition: all 0.3s ease;
}

/* Coloca um pseudo-elemento na frente para cobrir o gap */
.main-content::before {
    display: none;
}

.main-content.expanded::before {
    display: none;
}

/* Page Title Styling with Module Icon */
.page-title-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.page-title-icon {
    width: 28px;
    height: 28px;
    margin-right: 12px;
}

.page-title {
    padding: 0;
    font-size: 28px;
    font-weight: 600;
    color: #DDDDDD;
    border-bottom: none;
    margin-bottom: 0;
    margin-top: 0;
}

/* Module-specific title colors */
.module-recrutador .page-title {
    color: #DB901F;
}

.module-consultor .page-title {
    color: #6AA842;
}

/* Dashboard Content spacing */
.dashboard-content {
    padding: 20px 30px;
}

/* Ajustes para o dashboard */
.dashboard-body .sidebar {
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.dashboard-body .dashboard-header {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    background-color: #363a3d !important;
}

.dashboard-body .dashboard-header .profile-section .profile-name,
.dashboard-body .dashboard-header .profile-section .profile-role,
.dashboard-body .dashboard-header .notification-icon {
    color: #ffffff !important;
}

.dashboard-body .dashboard-content {
    background-color: #262626 !important;
}

.dashboard-body h2, 
.dashboard-body h3, 
.dashboard-body .stat-label,
.dashboard-body .visitor-header h3,
.dashboard-body .category-name,
.dashboard-body .visitor-action {
    color: #ffffff !important;
}

.stat-card, .marketing-card, .visitor-stats, .marketing-requests {
    transition: all 0.3s ease;
    background-color: #363A3D !important;
    border: 1px solid #444 !important;
}

.stat-card:hover, .marketing-card:hover, .visitor-stats:hover, .marketing-requests:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* Ajustes para o hero banner no dashboard */
.hero-banner {
    background-color: #363A3D !important;
    border: 1px solid #444 !important;
}

/* Estilos para pedidos de marketing no dashboard */
.requests-list {
    margin: 15px 0;
}

.request-item {
    background-color: #292C2F;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

/* Cores específicas para o tipo de requisição */
.module-recrutador .request-type {
    color: #DB901F;
}

.module-consultor .request-type {
    color: #6AA842;
}

.request-type {
    font-weight: bold;
    flex: 0 0 150px;
}

.request-title {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 30px 0 15px;
}

.request-status {
    padding: 4px 10px;
    border-radius: 4px;
    text-align: center;
    font-size: 0.8rem;
    font-weight: bold;
    color: #fff;
}

.status-pending {
    background-color: #F9BF3A;
    color: #333;
}

.status-in_progress {
    background-color: #A370F7;
}

.status-completed {
    background-color: #32CD32;
}

.status-rejected {
    background-color: #FF5252;
}

.no-requests {
    margin: 15px 0;
    color: #AAA;
}

.no-requests a {
    color: #DB901F;
    text-decoration: none;
}

.no-requests a:hover {
    text-decoration: underline;
}

/* Melhorias para as categorias de visitantes */
.visitor-categories {
    margin: 15px 0;
}

.category {
    margin-bottom: 8px;
}

/* Responsividade para o novo layout */
@media screen and (max-width: 992px) {
    .sidebar {
        position: fixed;
        left: -250px;
        z-index: 999;
    }
    
    .sidebar.active {
        left: 0;
    }
    
    .sidebar li a span:not(:first-child),
    .sidebar li a .status-tag {
        display: inline-block;
    }
    
    .main-content::before {
        display: none;
    }
}

@media screen and (max-width: 576px) {
    .header-icons {
        display: none;
    }
    
    .user-name, .language-selector {
        display: none;
    }
}

/* Continue with the rest of your existing styles */
.marketing-section {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.marketing-form-container, 
.marketing-history {
    flex: 1;
    background-color: #363A3D;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #444;
}

.marketing-form-container h2,
.marketing-history h2,
.marketing-types-section h2 {
    color: #f5f5f5;
    margin-bottom: 20px;
    font-size: 1.5rem;
}

.marketing-form .form-group {
    margin-bottom: 20px;
}

.marketing-form label {
    display: block;
    margin-bottom: 5px;
    color: #f5f5f5;
}

.marketing-form input,
.marketing-form select,
.marketing-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #444;
    border-radius: 5px;
    background-color: #262626;
    color: #f5f5f5;
}

/* Adjust dropdown arrow position for marketing form select */
.marketing-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23999999" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 35px;
}

.marketing-form textarea {
    resize: vertical;
}

.form-actions {
    margin-top: 20px;
}

.marketing-history .request-item {
    background-color: #444;
    border-radius: 8px;
    padding: 12px 15px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.request-date {
    color: #aaa;
    font-size: 0.8rem;
    margin-left: 15px;
}

.marketing-types-section {
    margin-top: 30px;
    background-color: #363A3D;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #444;
}

.marketing-types-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.marketing-type-card {
    background-color: #444;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.marketing-type-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

.marketing-type-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    color: #fff;
}

.icon-social {
    background-color: #3b5998;
}

.icon-email {
    background-color: #DB901F;
}

.icon-web {
    background-color: #A370F7;
}

.icon-print {
    background-color: #32CD32;
}

.icon-video {
    background-color: #FF5252;
}

.marketing-type-card h3 {
    color: #f5f5f5;
    margin-bottom: 10px;
}

.marketing-type-card p {
    color: #aaa;
    font-size: 0.9rem;
}

/* Responsividade para a página de marketing */
@media screen and (max-width: 992px) {
    .marketing-types-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .marketing-section {
        flex-direction: column;
    }
    
    .marketing-form-container, 
    .marketing-history {
        width: 100%;
    }
    
    .marketing-types-grid {
        grid-template-columns: 1fr;
    }
}

/* Estilos para a página de Marketing - Nova versão */
.marketing-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.marketing-row {
    display: flex;
    gap: 20px;
    margin-bottom: 0;
}

.marketing-card-large {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    height: 300px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.marketing-card-large:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.marketing-card-large::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.8) 100%);
    z-index: 1;
}

.marketing-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    color: #fff;
    z-index: 2;
}

.marketing-card-content h2 {
    font-size: 2rem;
    margin-bottom: 15px;
    color: #ffffff;
    font-weight: 700;
}

.marketing-card-content p {
    font-size: 1rem;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.9);
    max-width: 80%;
}

.marketing-tag {
    display: inline-block;
    background-color: #DB901F;
    color: #fff;
    padding: 8px 20px;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
}

.marketing-tag:hover {
    background-color: #b77518;
    transform: translateY(-2px);
}

/* Estilos para background das imagens de marketing */
.bg-social_media {
    background-image: url('../images/marketing/social_media.jpg');
    background-size: cover;
    background-position: center;
}

.bg-email {
    background-image: url('../images/marketing/email_marketing.jpg');
    background-size: cover;
    background-position: center;
}

.bg-print {
    background-image: url('../images/marketing/print_material.jpg');
    background-size: cover;
    background-position: center;
}

.bg-web {
    background-image: url('../images/marketing/web_banners.jpg');
    background-size: cover;
    background-position: center;
}

.bg-video {
    background-image: url('../images/marketing/videos.jpg');
    background-size: cover;
    background-position: center;
}

/* Responsividade para a página de marketing (original) */
@media screen and (max-width: 768px) {
    .marketing-row {
        flex-direction: column;
    }
}



/* Media query específico para dispositivos móveis */
@media screen and (max-width: 480px) {
    .marketing-card-large {
        display: flex !important;
        flex: none !important;
        width: 100% !important;
        height: 250px !important;
        margin-bottom: 15px;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease;
    }
    
    .marketing-card-content {
        padding: 20px !important;
        z-index: 2;
    }
    
    .marketing-card-content h2 {
        font-size: 1.5rem !important;
        margin-bottom: 10px !important;
    }
    
    .marketing-card-content p {
        font-size: 0.9rem !important;
        margin-bottom: 15px !important;
        max-width: 100% !important;
    }
    
    .marketing-tag {
        padding: 6px 15px !important;
        font-size: 0.9rem !important;
    }
}

/* Estilos para a página de solicitação específica */
.marketing-header {
    height: 200px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.marketing-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
    z-index: 1;
}

.marketing-header-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    color: #fff;
    z-index: 2;
}

.marketing-header-content h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #ffffff;
}

.marketing-header-content p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
}

.btn-outline {
    background-color: transparent;
    border: 1px solid #DB901F;
    color: #DB901F;
    padding: 8px 16px;
    border-radius: 4px;
    margin-left: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background-color: rgba(219, 144, 31, 0.1);
    transform: translateY(-2px);
}

/* Estilos para o menu lateral */
.sidebar-menu .status-tag {
    display: inline-block;
    background-color: #DB901F;
    color: #fff;
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 8px;
    vertical-align: middle;
    font-weight: 600;
    line-height: 1;
}

/* Estilos para página de templates de redes sociais */
.template-category {
    margin-bottom: 40px;
    background-color: #363A3D;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #444;
}

.category-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.template-slider {
    display: flex;
    align-items: center;
    gap: 15px;
}

.slider-controls button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #444;
    border: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.slider-controls button:hover {
    background-color: #DB901F;
    transform: scale(1.1);
}

.slider-container {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.slider-track {
    display: flex;
    gap: 15px;
    transition: transform 0.5s ease;
}

.template-item {
    flex: 0 0 auto;
    width: 200px;
    background-color: #444;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.template-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

.template-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.template-thumb {
    height: 150px;
    overflow: hidden;
}

.template-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.template-item:hover .template-thumb img {
    transform: scale(1.05);
}

.template-title {
    padding: 10px;
    color: #f5f5f5;
    font-size: 1rem;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.request-section {
    margin-top: 40px;
    background-color: #363A3D;
    border-radius: 10px;
    padding: 30px;
    border: 1px solid #444;
    text-align: center;
}

.request-section h2 {
    color: #f5f5f5;
    margin-bottom: 15px;
    font-size: 1.5rem;
}

.request-section p {
    color: #aaa;
    margin-bottom: 20px;
}

/* Responsividade para templates */
@media screen and (max-width: 768px) {
    .template-slider {
        flex-direction: column;
    }
    
    .slider-controls {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    
    .slider-container {
        width: 100%;
    }
    
    .template-item {
        width: 180px;
    }
}

/* Stat Cards Styles */
.stat-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    @media screen and (max-width: 576px) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.stat-card {
    background-color: #363A3D !important;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-between;
    border: none !important;
    position: relative;
    overflow: hidden;
    height: 128px;
}

.stat-card-content {
    flex: 1;
    position: relative;
    z-index: 2;
}

.stat-amount {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 5px;
}

.stat-amount.red {
    color: #fb6340;
}

.stat-amount.yellow {
    color: #ffd600;
}

.stat-amount.purple {
    color: #775dd0;
}

.stat-amount.orange {
    color: #DB901F;
}

.stat-label {
    color: rgba(255, 255, 255, 0.6);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.stat-progress {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 220px;
}

.progress-bar {
    flex: 1;
    height: 6px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    margin-right: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    border-radius: 3px;
}

.progress-fill.red {
    background-color: #fb6340;
}

.progress-fill.yellow {
    background-color: #ffd600;
}

.progress-fill.purple {
    background-color: #775dd0;
}

.progress-fill.orange {
    background-color: #DB901F;
}

.progress-percentage {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    min-width: 40px;
    text-align: right;
}

.stat-icon {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 1;
    opacity: 0.1;
    color: #fff;
}

/* Hero Banner Styles */
.hero-banner {
    height: 200px;
    border-radius: 10px;
    background-color: #363A3D !important;
    background-image: url('../images/herobanner.png');
    background-size: cover;
    background-position: center;
    margin-bottom: 30px;
    position: relative;
    border: none !important;
}

.hero-banner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34, 36, 38, 0.6);
    border-radius: 10px;
}

/* Marketing Card Styles */
.marketing-card {
    height: 396px;
    background: linear-gradient(204deg, rgba(0, 0, 0, 0) 0%, #1F1F1F 100%);
    border-radius: 20px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    border: none !important;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    background-image: url('https://via.placeholder.com/1221x396/888888/ffffff?text=Marketing+Banner');
    background-size: cover;
    background-position: center;
    padding: 49px 27px;
}

.marketing-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(204deg, rgba(0, 0, 0, 0) 0%, #1F1F1F 100%);
    z-index: 1;
}

.marketing-content {
    width: 597px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 6px;
    position: relative;
    z-index: 2;
    padding: 0;
}

.marketing-content h2 {
    align-self: stretch;
    color: #FFFFFF;
    font-size: 48px;
    font-weight: 700;
    line-height: 52.8px;
    margin: 0;
    width: 100%;
}

.marketing-tag {
    display: inline-flex;
    background-color: #DB901F;
    color: #fff;
    padding: 0 11.4px;
    border-radius: 141.1px;
    height: 40px;
    font-size: 17.1px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    justify-content: center;
    align-items: center;
    width: fit-content;
    min-width: 197.18px;
    text-align: center;
}

.marketing-tag:hover {
    background-color: #b77518;
    transform: translateY(-2px);
}

/* Bottom Section Styles */
.bottom-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.marketing-requests {
    background-color: #363A3D;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border: none !important;
    height: 400px;
    overflow: auto;
}

.visitor-stats {
    background-color: #363A3D;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border: none !important;
    height: 400px;
    overflow: auto;
}

.visitor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.visitor-header h3 {
    font-size: 20px;
    color: #DDDDDD;
    font-weight: 500;
}

.status-tag {
    padding: 5px 10px;
    background-color: #DB901F;
    border-radius: 15px;
    font-size: 12px;
    color: #FFFFFF;
    font-weight: 500;
}

/* Marketing requests styling */
.marketing-content h2 {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 20px;
}

.requests-list {
    margin-bottom: 20px;
}

.request-item {
    background-color: #292C2F;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.request-type {
    font-weight: 500;
    color: #DB901F;
    flex: 0 0 150px;
}

.request-title {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 30px 0 15px;
    color: #DDDDDD;
}

.no-requests {
    color: #AAAAAA;
    margin-bottom: 20px;
}

.no-requests a {
    color: #DB901F;
    text-decoration: none;
}

.no-requests a:hover {
    text-decoration: underline;
}

/* Responsive styles for the bottom section */
@media screen and (max-width: 992px) {
    .bottom-section {
        grid-template-columns: 1fr;
    }
}

/* Marketing Card Image-only Style */
.marketing-card-image {
    height: 396px;
    border-radius: 20px;
    margin-bottom: 30px;
    overflow: hidden;
    position: relative;
    background-image: url('../images/herobanner2.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 30px;
}

.marketing-card-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(204deg, rgba(0, 0, 0, 0) 0%, #1F1F1F 80%);
    z-index: 1;
}

.marketing-card-image > a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.marketing-card-image .marketing-content {
    position: relative;
    z-index: 3;
    width: 100%;
}

.marketing-card-image .marketing-content .marketing-tag {
    display: inline-flex;
    padding: 0 11.4px;
    height: 40px;
    border-radius: 141.1px;
    font-size: 17.1px;
    font-weight: 600;
    min-width: 197.18px;
    width: fit-content;
    justify-content: center;
    align-items: center;
    background-color: #DB901F;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.marketing-card-image .marketing-content .marketing-tag:hover {
    background-color: #b77518;
    transform: translateY(-2px);
}

/* Marketing Requests Image-only Style */
.marketing-requests-image {
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background-image: url('../images/pedidosmarketinghero.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 30px;
}

.marketing-requests-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(204deg, rgba(0, 0, 0, 0) 0%, #1F1F1F 80%);
    z-index: 1;
}

.marketing-requests-image .marketing-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.marketing-requests-image .marketing-content .marketing-tag {
    display: inline-flex;
    padding: 0 11.4px;
    height: 40px;
    border-radius: 141.1px;
    font-size: 17.1px;
    font-weight: 600;
    min-width: 197.18px;
    width: fit-content;
    justify-content: center;
    align-items: center;
}

.visitor-action {
    margin-top: 6px;
}

.visitor-action .marketing-tag {
    display: inline-flex;
    padding: 0 11.4px;
    height: 40px;
    border-radius: 141.1px;
    font-size: 17.1px;
    font-weight: 600;
    min-width: 197.18px;
    width: fit-content;
    justify-content: center;
    align-items: center;
}

.marketing-requests-image a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

/* Email Stats Card Styles */
.email-stats-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 10px 0;
}

.email-stats-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
}

.email-counter {
    display: flex;
    justify-content: center;
    margin-left: 10px;
}

.email-circle-progress {
    position: relative;
    width: 110px;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circle-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.circle-bg {
    fill: none;
    stroke: #363A3D;
    stroke-width: 8;
}

.circle-progress {
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.5s ease;
}

.circle-progress.yellow {
    stroke: #ffd600;
}

.circle-progress.purple {
    stroke: #775dd0;
}

.counter-value {
    position: relative;
    font-size: 28px;
    font-weight: 700;
    color: #FFFFFF;
}

.email-categories {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.email-category {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    background-color: rgba(54, 58, 61, 0.5);
    border-radius: 8px;
}

.category-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 10px;
}

.category-dot.yellow {
    background-color: #ffd600;
}

.category-dot.purple {
    background-color: #775dd0;
}

.category-dot.grey {
    background-color: #888888;
}

.category-name {
    flex: 1;
    font-size: 13px;
    color: #DDDDDD;
}

.category-value {
    font-weight: 600;
    color: #FFFFFF;
    min-width: 40px;
    text-align: right;
    font-size: 14px;
}

.email-actions {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.view-more-link {
    color: #DB901F;
    text-decoration: none;
    font-size: 14px;
    border-bottom: 1px dashed #DB901F;
    padding-bottom: 2px;
}

.view-more-link:hover {
    opacity: 0.8;
}

/* Responsive adjustments for email stats */
@media screen and (max-width: 992px) {
    .email-circle-progress {
        width: 100px;
        height: 100px;
    }
    
    .counter-value {
        font-size: 28px;
    }
}

/* Templates Page Styles - New Design */
.templates-container {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin-bottom: 40px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.templates-title {
    color: #FFFFFF;
    font-size: 28px;
    margin-bottom: 20px;
    font-weight: 700;
}

.template-category {
    display: flex;
    flex-direction: column;
    gap: 25px;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    border: none;
}

.category-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.templates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(305.45px, 1fr));
    gap: 6px;
    padding: 10px 0;
    justify-content: center;
    box-shadow: none;
}

.template-card {
    display: flex;
    flex-direction: column;
    background-color: #222222;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: none;
    transition: transform 0.3s ease;
    width: 305.45px;
    height: 426px;
    margin: 0 auto;
}

.template-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: none;
    z-index: 10;
}

.template-image {
    width: 100%;
    height: 390px; /* Adjusted for even smaller actions bar */
    background-size: cover;
    background-position: center;
    position: relative;
}

.template-actions {
    display: flex;
    justify-content: flex-end;
    padding: 4px 10px;
    background-color: #262626;
    height: 36px; /* Further reduced height for actions area */
    align-items: center;
    box-shadow: none;
    border: none;
}

.template-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #DDDDDD;
    text-decoration: none;
    font-size: 13px;
    padding: 5px;
    transition: all 0.2s ease;
    margin-left: 15px;
}

.template-action-btn:hover {
    color: #ffffff;
}

.template-action-btn:hover .action-icon {
    transform: scale(1.1);
}

.action-icon {
    font-size: 14px;
    color: #DB901F; /* Add colored icons to match design */
    transition: transform 0.2s ease;
}

.action-text {
    font-weight: 500;
    letter-spacing: 0.2px;
}

/* Media query adjustments for responsive design */
@media screen and (max-width: 1200px) {
    .templates-grid {
        grid-template-columns: repeat(auto-fill, minmax(305.45px, 1fr));
    }
}

@media screen and (max-width: 992px) {
    .templates-grid {
        grid-template-columns: repeat(auto-fill, minmax(305.45px, 1fr));
    }
}

@media screen and (max-width: 576px) {
    .templates-grid {
        grid-template-columns: 1fr;
    }
    
    .template-card {
        width: 100%;
    }
}

/* Estilos para imagem de perfil */
.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 10px;
}

.user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-image {
    margin-bottom: 20px;
}

.profile-image .image-container {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    border: 3px solid #009AB2;
}

.profile-image .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Estilos para input de arquivo */
.file-input-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #363A3D;
    border-radius: 25px;
    height: 32px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.file-input-icon {
    width: 30px;
    height: 30px;
    background-color: #DB9020;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #262626;
}

.file-input-text {
    flex: 1;
    padding: 0 15px;
    color: #999999;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 32px;
    height: 100%;
    padding-top: 2px; /* Add slight padding to push text down */
}

.hidden-file-input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.current-image-info {
    margin-top: 8px;
    font-size: 12px;
    color: #999999;
}

/* Remover pseudo-elementos da imagem de perfil que estavam sendo usados como placeholder */
.image-container::before,
.image-container::after {
    content: none;
}

/* Ajustar avatar no header */
.user-avatar {
    background-image: none;
    background-color: transparent;
}

/* Módulos específicos - Cores para cards e elementos */
.module-recrutador .marketing-tag,
.module-recrutador .status-tag,
.module-recrutador .icon-email,
.module-recrutador .marketing-type-icon {
    background-color: #DB901F;
}

/* Regra específica para o botão no marketing-card-image no módulo recrutador */
.module-recrutador .marketing-card-image .marketing-content .marketing-tag {
    background-color: #DB901F;
}

.module-recrutador .view-more-link {
    color: #DB901F;
    border-bottom: 1px dashed #DB901F;
}

.module-recrutador .no-requests a {
    color: #DB901F;
}

.module-consultor .marketing-tag,
.module-consultor .status-tag,
.module-consultor .icon-email,
.module-consultor .marketing-type-icon {
    background-color: #6AA842;
}

/* Regra específica para o botão no marketing-card-image no módulo consultor */
.module-consultor .marketing-card-image .marketing-content .marketing-tag {
    background-color: #6AA842;
}

.module-consultor .view-more-link {
    color: #6AA842;
    border-bottom: 1px dashed #6AA842;
}

.module-consultor .template-actions .action-icon {
    color: #6AA842;
}

.module-consultor .no-requests a {
    color: #6AA842;
}

/* Estilos para os cabeçalhos de seção da sidebar */
.sidebar-section-header {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    border-radius: 10px;
    margin: 10px 10px 5px;
    display: flex;
    align-items: center;
}

.sidebar-section-header .header-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    filter: brightness(0) invert(1); /* Torna o SVG branco */
}

.sidebar-section-header.recrutador {
    background-color: #DB901F;
    margin-top: 10px;
}

.sidebar-section-header.consultor {
    background-color: #6AA842;
    margin-top: 15px;
}

/* Ajustes para sidebar sem seletor de módulo */
.sidebar ul {
    margin-bottom: 15px;
}

/* Classe para manter o sidebar fixo independente do módulo */
.sidebar-fixed {
    background-color: #363a3d !important;
    border-color: #444 !important;
}

/* Garantir que nenhum seletor de módulo afete o sidebar */
.module-recrutador .sidebar-fixed *,
.module-consultor .sidebar-fixed * {
    /* Anular qualquer herança de cor do módulo */
}

/* Sobrescrever qualquer estilo de módulo para elementos do sidebar */
.module-recrutador .sidebar-fixed .recrutador-menu li a i,
.module-consultor .sidebar-fixed .recrutador-menu li a i {
    color: #DB901F !important; /* Sempre laranja/dourado para ícones do Recrutador */
}

.module-recrutador .sidebar-fixed .consultor-menu li a i,
.module-consultor .sidebar-fixed .consultor-menu li a i {
    color: #6AA842 !important; /* Sempre verde para ícones do Consultor */
}

.module-recrutador .sidebar-fixed .sidebar-section-header.recrutador,
.module-consultor .sidebar-fixed .sidebar-section-header.recrutador {
    background-color: #DB901F !important; /* Sempre laranja/dourado para cabeçalho Recrutador */
}

.module-recrutador .sidebar-fixed .sidebar-section-header.consultor,
.module-consultor .sidebar-fixed .sidebar-section-header.consultor {
    background-color: #6AA842 !important; /* Sempre verde para cabeçalho Consultor */
}

/* Estilo para itens ativos do sidebar - Independente do módulo */
.module-recrutador .sidebar-fixed li.active a,
.module-consultor .sidebar-fixed li.active a {
    background-color: #444 !important;
    color: #FFFFFF !important;
}

/* Estilo para hover dos itens do sidebar - Independente do módulo */
.module-recrutador .sidebar-fixed li a:hover,
.module-consultor .sidebar-fixed li a:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Garantir que o fundo do sidebar e divisores permaneça consistente */
.module-recrutador .sidebar-fixed,
.module-consultor .sidebar-fixed,
.sidebar-fixed {
    background-color: #363a3d !important;
}

.module-recrutador .sidebar-fixed .sidebar-divider,
.module-consultor .sidebar-fixed .sidebar-divider,
.sidebar-fixed .sidebar-divider {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Module banners styles - Updated to match hero-banner */
.module-banner {
    height: 132px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin: 20px 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border: none !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* Add an overlay effect similar to hero-banner */
.module-banner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34, 36, 38, 0.4);
    border-radius: 10px;
    z-index: 1;
}

/* Module banner logo */
.module-banner::before {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 200px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    z-index: 2;
}

/* Recrutador module banner (orange/gold) */
.module-recrutador .module-banner {
    background-color: #DB901F !important;
    background-image: url('../images/recrutador_banner.png');
}

.module-recrutador .module-banner::before {
    background-image: url('../images/recrutador_logo.png');
}

/* Consultor module banner (green) */
.module-consultor .module-banner {
    background-color: #6AA842 !important;
    background-image: url('../images/consultor_banner.png');
}

.module-consultor .module-banner::before {
    background-image: url('../images/consultor_logo.png');
}

/* Dashboard Content - Adding spacing for Module Banner */
.dashboard-content {
    padding: 20px 30px;
}

.dashboard-content .page-title {
    margin-top: 0;
}

/* Perfil sempre azul padrão do GestaoidEal */
body:has(.profile-cards) .btn-primary {
    background-color: #009AB2 !important;
}

body:has(.profile-cards) .btn-primary:hover {
    background-color: #007d91 !important;
}

body:has(.profile-cards) .btn-outline {
    color: #009AB2 !important;
    border-color: #009AB2 !important;
}

body:has(.profile-cards) .btn-outline:hover {
    background-color: rgba(0, 154, 178, 0.15) !important;
}

body:has(.profile-cards) .icon-container {
    background-color: #009AB2 !important;
}

body:has(.profile-cards) .image-container {
    background-color: #009AB2 !important;
}

body:has(.profile-cards) .eye-icon {
    background-color: #009AB2 !important;
}

body:has(.profile-cards) .file-input-icon {
    background-color: #009AB2 !important;
}

/* Fix for user name centering in profile page */
.profile-user-name {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

/* Subscription management styles */
.subscription-info {
    padding: 20px 0;
}

.subscription-status,
.subscription-plan,
.subscription-remaining {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.subscription-status:last-child,
.subscription-plan:last-child,
.subscription-remaining:last-child {
    border-bottom: none;
}

.status-label,
.plan-label,
.remaining-label {
    font-weight: 500;
    color: #ccc;
}

.status-value,
.plan-value,
.remaining-value {
    font-weight: 600;
}

.status-value.active {
    color: #4CAF50;
}

.status-value.inactive {
    color: #f44336;
}

.subscription-actions {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.subscription-actions .btn {
    flex: 1;
    min-width: 140px;
}

.btn-secondary {
    background-color: #6c757d;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    transition: background-color 0.3s ease;
}

.btn-secondary:hover {
    background-color: #5a6268;
}

.btn-danger {
    background-color: #dc3545;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    transition: background-color 0.3s ease;
}

.btn-danger:hover {
    background-color: #c82333;
}

.no-subscription {
    text-align: center;
    padding: 40px 20px;
}

.no-subscription p {
    margin-bottom: 20px;
    color: #ccc;
}

@media screen and (max-width: 576px) {
    .subscription-actions {
        flex-direction: column;
    }
    
    .subscription-actions .btn {
        width: 100%;
        margin-bottom: 10px;
    }
}