/* ============================================================
   Recruit Agency — custom overlay on top of the Jaba template
   ============================================================ */

/* Ensure AOS-animated content is always visible (AOS + Turbo can leave
   elements stuck at opacity:0 / throw on stale nodes). Content first. */
[data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* Uploaded brand logos: scale nicely whatever the source dimensions */
.navbar-brand .main-logo,
.navbar-brand .white-logo,
.mobile-responsive-menu .logo img,
.sidemenu-header .navbar-brand img { max-height: 46px; width: auto; }

/* ============================================================
   NEXUS brand palette — navy primary (#1b2a5e) + red accent (#c8202e)
   matching the company logo.
   ============================================================ */
:root { --brand-navy: #1b2a5e; --brand-navy-dark: #13204a; --brand-red: #c8202e; }

/* Red accents (the logo swoosh / "TALENT USA") */
.urgent { background-color: var(--brand-red) !important; }
.banner-title span { color: var(--brand-red) !important; background-color: #fbe4e6 !important; }
.section-title h2::before,
.section-title h2::after { background: var(--brand-red) !important; }
.find-job-area .shoting-btn .filter.active,
.find-job-area .shoting-btn .filter.mixitup-control-active { background: var(--brand-red) !important; border-color: var(--brand-red) !important; color: #fff !important; }
.trending-keywords ul li a:hover { color: var(--brand-red) !important; }
.go-top { background-color: var(--brand-red) !important; }
.badge-soft-danger { background: #fbe4e6; color: var(--brand-red); }

/* Navy primary button hover -> slightly darker navy */
.default-btn.btn:hover { background-color: var(--brand-navy-dark) !important; }

/* Sticky top navbar within the dashboard shell */
.navbar-area.style-2 {
    position: sticky;
    top: 0;
    z-index: 1020;
    background: #ffffff;
}

.admin-topbar {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 85px;
    padding: 0 60px 0 0;
    transition: all ease 0.5s;
    background: #ffffff;
    box-shadow: 0 6px 30px 5px rgba(33, 34, 38, 0.03);
    position: sticky;
    top: 0;
    z-index: 1020;
}

/* Brand / logo zone on the left of the dashboard header (sits over the sidebar header width) */
.admin-topbar .topbar-brand {
    width: 340px;
    flex-shrink: 0;
    height: 85px;
    display: flex;
    align-items: center;
    padding-left: 30px;
}
.admin-topbar .topbar-brand img { max-height: 42px; width: auto; }

.admin-topbar .burger-menu {
    cursor: pointer;
    font-size: 22px;
    color: #1b2a5e;
    line-height: 1;
}

.admin-topbar .topbar-search {
    flex: 1;
    max-width: 460px;
}

.admin-topbar .topbar-search .form-control {
    height: 46px;
    border-radius: 30px;
    background: #f0f5f7;
    border: none;
    padding-left: 44px;
}

.admin-topbar .topbar-search {
    position: relative;
}

.admin-topbar .topbar-search i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a94a6;
}

.admin-topbar .topbar-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}

.admin-topbar .topbar-icon {
    position: relative;
    color: #4a5568;
    font-size: 18px;
}

.admin-topbar .topbar-icon .badge {
    position: absolute;
    top: -8px;
    right: -10px;
    font-size: 10px;
}

/* Collapsed sidebar state */
.sidemenu-area.toggle-sidemenu-area {
    width: 0;
    overflow: hidden;
}

.main-dashboard-content.hide-sidemenu-area {
    padding-left: 60px;
}

/* Reusable status / soft badges */
.badge-soft {
    padding: 6px 12px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
}
.badge-soft-primary { background: #e7f0fd; color: #1b2a5e; }
.badge-soft-success { background: #e3f6ec; color: #1e9e57; }
.badge-soft-warning { background: #fff5e1; color: #d99114; }
.badge-soft-danger  { background: #fdeaea; color: #d83a3a; }
.badge-soft-info    { background: #e6f6fa; color: #1397b3; }
.badge-soft-secondary { background: #eef0f4; color: #5a6472; }
.badge-soft-dark    { background: #e6e8eb; color: #2b3038; }

/* Generic card used across modules */
.app-card {
    background: #fff;
    border-radius: 10px;
    border: none;
    box-shadow: 0 8px 20px 0 rgba(183, 192, 206, 0.18);
    margin-bottom: 30px;
}
.app-card .app-card-header {
    padding: 22px 25px;
    border-bottom: 1px solid #eef0f4;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.app-card .app-card-header h3 { font-size: 18px; margin: 0; }
.app-card .app-card-body { padding: 25px; }

.app-table { width: 100%; margin: 0; }
.app-table th {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #8a94a6;
    border-bottom: 1px solid #eef0f4;
    padding: 14px 18px;
    white-space: nowrap;
}
.app-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #f3f5f8;
    vertical-align: middle;
    color: #4a5568;
}
.app-table tr:last-child td { border-bottom: none; }

/* Kanban ATS board */
.kanban-board { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 10px; }
.kanban-col {
    min-width: 280px;
    width: 280px;
    background: #f0f5f7;
    border-radius: 10px;
    padding: 14px;
}
.kanban-col h4 {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .4px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
    color: #5a6472;
}
.kanban-card {
    background: #fff;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 4px 10px rgba(183, 192, 206, 0.18);
    cursor: grab;
}
.kanban-card.dragging { opacity: .5; }
.kanban-col.drag-over { outline: 2px dashed #1b2a5e; outline-offset: -4px; }

/* Stat fun-fact tweak so dynamic numbers look right */
.stats-fun-fact-box h3 { margin-bottom: 6px; }

/* Empty state */
.empty-state { text-align: center; padding: 60px 20px; color: #8a94a6; }
.empty-state i { font-size: 46px; margin-bottom: 16px; display: block; color: #c2cad6; }

/* Messaging / chat */
.chat-wrap { display: flex; height: calc(100vh - 230px); min-height: 480px; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 20px 0 rgba(183,192,206,.18); }
.chat-list { width: 320px; border-right: 1px solid #eef0f4; display: flex; flex-direction: column; }
.chat-list-head { padding: 18px; border-bottom: 1px solid #eef0f4; display:flex; align-items:center; justify-content:space-between; }
.chat-list-body { overflow-y: auto; flex: 1; }
.chat-item { display: flex; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #f3f5f8; cursor: pointer; text-decoration: none; color: inherit; }
.chat-item:hover, .chat-item.active { background: #f0f5f7; }
.chat-item .name { font-weight: 600; color: #2b3038; font-size: 14px; }
.chat-item .preview { font-size: 12px; color: #8a94a6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.chat-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.chat-head { padding: 16px 20px; border-bottom: 1px solid #eef0f4; display: flex; align-items: center; gap: 12px; }
.chat-messages { flex: 1; overflow-y: auto; padding: 20px; background: #f7f9fb; }
.chat-input { padding: 14px 18px; border-top: 1px solid #eef0f4; }
.msg-bubble { padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.45; word-wrap: break-word; }
.msg-mine { background: #1b2a5e; color: #fff; border-bottom-right-radius: 4px; }
.msg-theirs { background: #fff; color: #2b3038; border: 1px solid #eef0f4; border-bottom-left-radius: 4px; }
.chat-empty { flex: 1; display: flex; align-items: center; justify-content: center; flex-direction: column; color: #8a94a6; }

/* Avatar helper */
.avatar-sm { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.avatar-xs { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }

/* Flash alert spacing inside content */
.main-dashboard-content .alert { border-radius: 8px; }

@media (max-width: 991px) {
    .admin-topbar { padding-left: 16px; padding-right: 16px; }
    .admin-topbar .topbar-brand { width: auto; padding-left: 0; }
}

/* ── Footer: copyright row + "Developed by" attribution ───────────── */
.copy-right .copy-right-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 18px;
}
.copy-right .developed-by a {
    color: #f05a64;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease;
}
.copy-right .developed-by a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 575px) {
    .copy-right .copy-right-inner { justify-content: center; text-align: center; }
}

/* ── Tighter sidebar menu spacing (long menu) ─────────────────────── */
.sidemenu-area .sidemenu-body .sidemenu-nav .nav-item .nav-link {
    padding: 9px 28px;
    font-size: 14px;
    line-height: 1.3;
}
.sidemenu-area .sidemenu-body .sidemenu-nav .nav-item .nav-link .icon {
    margin-right: 11px;
    font-size: 15px;
}

/* ── Collapsible sidebar groups ───────────────────────────────────── */
#sidemenu-nav .nav-group-toggle { position: relative; cursor: pointer; }
#sidemenu-nav .nav-arrow {
    position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
    font-size: 11px; color: #a7b0bd; transition: transform .25s ease;
}
#sidemenu-nav .nav-group.open > .nav-group-toggle .nav-arrow { transform: translateY(-50%) rotate(180deg); }
#sidemenu-nav .nav-group.open > .nav-group-toggle { color: #1b2a5e; }
#sidemenu-nav .nav-sub { list-style: none; padding: 2px 0 6px; margin: 0; background: rgba(27,42,94,.022); }
#sidemenu-nav .nav-sub .nav-link { padding: 7px 28px 7px 54px; font-size: 13.5px; display: flex; align-items: center; }
#sidemenu-nav .nav-sub .dot {
    width: 6px; height: 6px; border-radius: 50%; background: #c2cad6;
    margin-right: 12px; flex-shrink: 0; transition: background .2s ease;
}
#sidemenu-nav .nav-sub .nav-item.active .nav-link,
#sidemenu-nav .nav-sub .nav-link:hover { color: #1b2a5e; font-weight: 600; background: #eef2f7; }
#sidemenu-nav .nav-sub .nav-item.active .dot { background: #c8202e; }

/* ── Reports module ───────────────────────────────────────────────── */
.report-nav a { color: #4a5568; transition: background .15s ease; }
.report-nav a:hover:not(.report-cat-active) { background: #f0f5f7; }
.report-cat-active { background: #1b2a5e; color: #fff !important; }
.report-cat-active i { color: #fff !important; }
@media (max-width: 991px) { .report-nav { margin-bottom: 16px; } }
@media print {
    .sidemenu-area, .admin-topbar, .report-nav, .go-top, .report-toolbar,
    .report-table form, .pagination, .copy-right-area, .breadcrumb-area { display: none !important; }
    .main-dashboard-content, .responsive-content { padding: 0 !important; margin: 0 !important; }
    .report-content { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
    .app-card { box-shadow: none !important; border: 1px solid #eef0f4 !important; break-inside: avoid; }
}

/* ── Sidebar toggle: mobile only (sidebar is always visible on desktop) ── */
@media (min-width: 992px) {
    .admin-topbar .burger-menu { display: none; }
}

/* ── Interview calendar (Google-Calendar-style month grid) ────────── */
.cal-wrap { overflow: hidden; }
.cal-head { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid #eef0f4; }
.cal-head-cell { padding: 10px; text-align: center; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: #8a94a6; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.cal-cell { min-height: 118px; border-right: 1px solid #f1f3f6; border-bottom: 1px solid #f1f3f6; padding: 6px; }
.cal-cell:nth-child(7n) { border-right: none; }
.cal-other { background: #fafbfc; }
.cal-other .cal-daynum > span { color: #c2cad6; }
.cal-today { background: #eef4ff; }
.cal-today .cal-daynum > span { background: #1b2a5e; color: #fff; border-radius: 50%; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.cal-daynum { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: #4a5568; margin-bottom: 4px; min-height: 24px; }
.cal-add { opacity: 0; color: #8a94a6; font-size: 11px; text-decoration: none; transition: opacity .15s ease; }
.cal-cell:hover .cal-add { opacity: 1; }
.cal-add:hover { color: #1b2a5e; }
.cal-events { display: flex; flex-direction: column; gap: 3px; }
.cal-event { font-size: 11px; padding: 2px 6px; border-radius: 5px; text-decoration: none; color: #fff !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.cal-event:hover { filter: brightness(1.1); }
.cal-event .cal-time { font-weight: 700; opacity: .9; }
.cal-more { font-size: 10px; color: #8a94a6; padding: 1px 6px; }
.cal-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; margin-right: 2px; }
.cal-primary { background: #1b2a5e; } .cal-success { background: #1e9e57; } .cal-danger { background: #c8202e; } .cal-secondary { background: #8a94a6; }
@media (max-width: 767px) { .cal-cell { min-height: 78px; padding: 3px; } .cal-event { font-size: 9px; padding: 1px 4px; } .cal-head-cell { padding: 6px 2px; font-size: 10px; } }

/* Dark/light theme toggle removed from the site */
.switch-box { display: none !important; }

/* ── Hero "hiring companies" slider (one company at a time) ────────── */
.join-now { position: relative; }
.join-now .hiring-slider { min-height: 70px; }
.join-now .hiring-item { display: none; text-decoration: none; color: inherit; }
.join-now .hiring-item.active { display: block; animation: heroHiringFade .6s ease; }
.join-now .hiring-item h3 { margin: 6px 0 2px; }
.join-now .hiring-item .sm-img { left: 18px; top: 22px; }
.join-now .hiring-item .sm-img img {
    width: 50px; height: 50px;
    object-fit: contain;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #eef0f4;
    padding: 3px;
}
@keyframes heroHiringFade { from { opacity: 0; } to { opacity: 1; } }

/* ── Select2: align with Bootstrap form-select + brand ────────────── */
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single {
    height: calc(2.375rem + 2px);
    border: 1px solid #ced4da;
    border-radius: .375rem;
    display: flex;
    align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5; padding-left: 12px; padding-right: 28px; color: #2b3038;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 6px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color: #1b2a5e; box-shadow: 0 0 0 .2rem rgba(27,42,94,.12); }
.select2-dropdown { border-color: #1b2a5e; border-radius: .375rem; }
.select2-search--dropdown .select2-search__field { border-radius: .25rem; border-color: #ced4da; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #1b2a5e; }
.select2-container--default .select2-results__option[aria-selected=true] { background-color: #eef2f7; color: #1b2a5e; }
select.form-select-sm.select2-hidden-accessible + .select2-container .select2-selection--single { height: calc(1.875rem + 2px); font-size: .8125rem; }
.input-group .select2-container { flex: 1 1 auto; }
