/* Animação de piscar para timer de sessão */
@keyframes blink-warning-anim {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}
.blink-warning {
    animation: blink-warning-anim 1s ease-in-out infinite;
}

/* Ícone inbox grande para recruiter */
.icon-inbox-3x {
    font-size: 3rem;
    color: #ccc;
}
/* Card gradiente azul para CTA login */
.card-blue-gradient {
    background: linear-gradient(135deg, #1a2c52 0%, #1e40af 100%);
}

/* Card gradiente verde para CTA candidatura */
.card-green-gradient {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
}

/* Ícone grande para CTA */
.icon-cta-lg {
    font-size: 2.5rem;
}
/* Utilitário para line-height 1.8 */
.lh-18 {
    line-height: 1.8;
}
/* Utilitário para ícone info grande */
.icon-info-lg {
    font-size: 2rem;
}

/* Utilitário para transição de sombra em cards */
.card-transition-shadow {
    transition: box-shadow 0.3s ease;
}

/* Utilitário para transição de transform e sombra em cards */
.card-transition-transform {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* Utilitário para ícones grandes e coloridos do auth */
.icon-auth {
    font-size: 48px;
    color: var(--primary-color);
}
/* Utilitário para ícone inbox grande e cinza */
.icon-inbox-lg {
    font-size: 64px;
    color: #ccc;
}
/* Utilitário para ícones grandes e opacos do dashboard */
.dashboard-icon {
    font-size: 48px;
    opacity: 0.5;
}
/* CSS global extraído do header.php */
:root {
    --primary-color: #0d7377;
    --secondary-color: #6c757d;
    --success-color: #10b981;
    --danger-color: #dc3545;
    --warning-color: #d4a726;
    --info-color: #14b8a6;
    --dark-color: #0a2e2e;
    --light-color: #f0fdfa;
    --teal-900: #0a2e2e;
    --teal-800: #0d4f4f;
    --teal-700: #0d7377;
    --teal-600: #0f9690;
    --teal-500: #14b8a6;
    --teal-400: #2dd4bf;
    --teal-300: #5eead4;
    --accent-green: #22c55e;
    --accent-gold: #d4a726;
}
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: 'Inter', sans-serif; background-color: var(--body-bg-color, #f0fdfa); color: var(--text-color, #212529); padding-top: 62px; }
.btn { border-radius: 8px; padding: 10px 20px; font-weight: 500; }
.card { border: none; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card:hover { transform: translateY(-5px); box-shadow: 0 4px 20px rgba(0,0,0,0.12); }
.form-control, .form-select { border-radius: 8px; border: 1px solid #dee2e6; padding: 12px 16px; }
.form-control:focus, .form-select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.2rem rgba(13, 115, 119, 0.2); }
.navbar { box-shadow: 0 2px 10px rgba(0,0,0,0.15); background: linear-gradient(135deg, var(--teal-900) 0%, var(--teal-800) 50%, #0a3d3d 100%) !important; padding: 14px 0; transition: all 0.4s ease; z-index: 1050; }
.navbar.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.2); padding: 8px 0; backdrop-filter: blur(12px); }
.navbar-brand { font-weight: 800; font-size: 1.4rem; letter-spacing: -0.5px; display: flex; align-items: center; gap: 8px; }
.navbar-brand .brand-icon { width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(135deg, var(--brand-icon-start, var(--teal-400)), var(--brand-icon-end, #22c55e)); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--teal-900); transition: transform 0.3s ease; }
.navbar-brand:hover .brand-icon { transform: rotate(10deg) scale(1.1); }
.navbar .nav-link { color: rgba(255,255,255,0.8) !important; font-weight: 500; font-size: 0.88rem; padding: 8px 14px !important; border-radius: 8px; transition: all 0.3s ease; position: relative; white-space: nowrap; }
.navbar .nav-link:hover, .navbar .nav-link:focus, .navbar .nav-link:focus-visible, .navbar .nav-link:active { color: white !important; background: rgba(255,255,255,0.1); outline: none !important; box-shadow: none !important; text-decoration: none; }
