:root{--th-teal:#006b68;--th-deep:#064d4b;--th-royal:#123a78;--th-royal-dark:#082653;--th-royal-light:#245aa5;--th-gold:#f2b632;--th-ink:#17313a;--th-soft:#f2f8f7;--th-border:#dce9e7}
.talent-public-nav .site-logo,.talent-topbar .dashboard-logo{padding-top:2px!important;padding-bottom:2px!important}
.talent-public-nav,.talent-topbar{background:linear-gradient(120deg,var(--th-royal-dark),var(--th-royal) 58%,var(--th-royal-light))!important;color:#fff!important}.talent-public-nav .nav-link,.talent-topbar,.talent-topbar a{color:#fff!important}.talent-public-nav .nav-link:hover{color:#ffd86b!important}.talent-public-nav .site-logo,.talent-topbar .dashboard-logo{background:#fff;border-radius:12px;padding:5px 10px}.topbar-button{color:#fff!important;border:1px solid rgba(255,255,255,.28)!important}.topbar-user{color:rgba(255,255,255,.9)}.btn-admin-entry{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);color:#fff}.btn-admin-entry:hover{background:#fff;color:var(--th-royal)}.sidebar-brand{background:#fff!important}.sidebar-logo{margin:auto}.talent-sidebar{background:linear-gradient(180deg,var(--th-royal-dark),#071d3d)!important}.talent-sidebar .nav-link.active,.talent-sidebar .nav-link:hover{background:rgba(255,255,255,.13)!important}.access-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:.5rem}.permission-check{display:flex;align-items:center;gap:.35rem;font-size:.78rem}
body{color:var(--th-ink);background:#f8fbfb}.btn-brand,.btn-primary{background:linear-gradient(135deg,var(--th-teal),#048d87)!important;border-color:transparent!important;color:#fff!important}.btn-outline-brand{border-color:var(--th-teal);color:var(--th-teal)}.btn-outline-brand:hover{background:var(--th-teal);color:#fff}
.navbar{min-height:82px}.site-logo{width:205px;height:54px;object-fit:contain}.dashboard-logo{width:150px;height:42px;object-fit:contain}.navbar .nav-link{font-weight:650;color:#27464d;padding:.65rem .8rem!important}.navbar .nav-link:hover{color:var(--th-teal)}
.account-choice{border:0;border-radius:24px;box-shadow:0 25px 80px rgba(5,59,57,.25)}.account-option{height:100%;min-height:190px;padding:25px 16px;border:1px solid var(--th-border);border-radius:18px;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--th-ink);transition:.2s}.account-option:hover{transform:translateY(-3px);border-color:var(--th-teal);box-shadow:0 15px 35px rgba(0,107,104,.12)}.account-option i{font-size:2.5rem;color:var(--th-teal)}.account-option strong{margin-top:12px}.account-option span{font-size:.85rem;color:#668086;margin-top:5px}
.talent-hero{min-height:560px;display:flex;align-items:center;background:radial-gradient(circle at 85% 10%,rgba(242,182,50,.28),transparent 27%),linear-gradient(130deg,#003f3d,#007b76 65%,#009f96)}.talent-hero h1{max-width:730px}.vacancy-focus{padding:52px 36px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.09));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(16px)}.vacancy-count{font-size:5rem;font-weight:800;line-height:1;color:var(--th-gold)}.vacancy-focus h2{font-size:2rem;color:#fff;margin:.5rem 0}.vacancy-focus p{color:rgba(255,255,255,.8)}.vacancy-showcase{background:linear-gradient(#fff,#f6fbfa)}.vacancy-showcase .section-heading{margin-bottom:35px}
.dashboard-hero{padding:35px 40px;border-radius:24px;background:linear-gradient(125deg,#005c58,#00948c);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 45px rgba(0,107,104,.2)}.dashboard-hero.recruiter{background:linear-gradient(125deg,#17394a,#006b68)}.dashboard-hero span{color:#b5e7e3;text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:700}.dashboard-hero h2{font-size:2rem;margin:.4rem 0}.dashboard-hero p{margin:0;color:rgba(255,255,255,.78)}
.metric-card{background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:24px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 25px rgba(17,55,63,.06)}.metric-card i{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--th-soft);color:var(--th-teal);font-size:1.5rem}.metric-card strong{font-size:1.8rem;display:block}.metric-card span{color:#71868b}
.admin-shield{width:86px;height:86px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.14);color:#fff!important;font-size:2.6rem}.tab-content>.tab-pane>.card{border-radius:18px}.table thead th{background:#f5faf9;color:#496267;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table td{vertical-align:middle}.text-bg-warning{color:#5c4300!important}
.profile-tab-wrap{overflow:visible!important}.profile-tabs{display:grid!important;grid-template-columns:repeat(9,minmax(95px,1fr));gap:8px;overflow:visible!important;padding:10px!important}.profile-tabs a{min-width:0!important;justify-content:center;border:1px solid var(--th-border)!important;border-radius:12px!important;padding:10px 6px!important;text-align:center}.profile-tabs a span{font-size:.76rem}.profile-scroll-button{display:none!important}.profile-avatar{overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}
.photo-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.photo-uploader{border:1px dashed #a5c9c6;border-radius:16px;padding:16px;display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;background:var(--th-soft)}.photo-uploader img{width:64px;height:78px;object-fit:cover;border-radius:9px;background:#dfecea}.photo-uploader.stylish img{border-radius:50%;height:64px}.photo-uploader small{display:block;color:#668086}
.review-item{display:flex;gap:12px;border:1px solid var(--th-border);border-radius:14px;padding:16px;background:#fff;height:100%;cursor:pointer}.review-item small{display:block;color:#627c82;white-space:pre-line;max-height:100px;overflow:auto}.cv-import-hero{border-left:5px solid var(--th-gold)!important}.feature-icon{width:55px;height:55px;border-radius:16px;background:var(--th-soft);display:grid;place-items:center;color:var(--th-teal);font-size:1.6rem}.supporting-upload{display:flex;gap:14px;padding:18px;border:1px dashed #9fc6c3;border-radius:14px;background:var(--th-soft)}.supporting-upload i{font-size:1.5rem;color:var(--th-teal)}.talent-sidebar{background:linear-gradient(180deg,#063f3e,#102f38)!important}.recruitment-tabs{gap:8px}.recruitment-tabs .nav-link{background:#fff;border:1px solid var(--th-border);color:var(--th-ink)}.recruitment-tabs .nav-link.active{background:var(--th-teal)}.stage-badge{display:inline-block;background:#e7f5f3;color:#00635f;border-radius:30px;padding:6px 12px;font-weight:700;font-size:.78rem}.workspace-head{border-left:5px solid var(--th-gold)!important}
@media(max-width:1200px){.profile-tabs{grid-template-columns:repeat(6,minmax(95px,1fr))}}@media(max-width:768px){.profile-tabs{grid-template-columns:repeat(3,minmax(88px,1fr))}.dashboard-hero{align-items:flex-start;flex-direction:column;padding:28px}.photo-upload-grid{grid-template-columns:1fr}.photo-uploader{grid-template-columns:55px 1fr}.photo-uploader button{grid-column:1/-1}.navbar .btn{margin:.3rem 0;width:100%}.talent-hero{padding:80px 0}.vacancy-focus{padding:35px 20px}}
.vacancy-search-hero{padding:1.5rem 0}.vacancy-search-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.4rem}.vacancy-search-hero .eyebrow{margin-bottom:.35rem}.vacancy-search-hero .hero-search{margin-top:.85rem;max-width:820px}.company-job-card{display:grid;grid-template-columns:76px 1fr;gap:14px;border:1px solid #dce8e6;background:#fff;padding:16px;border-radius:16px;transition:.2s ease}.company-job-card:hover{border-color:#9ecdc8;box-shadow:0 12px 30px rgba(11,77,72,.1)}.company-logo-box{width:76px;height:76px;border:1px solid #e0e8e7;border-radius:12px;display:grid;place-items:center;background:#fff;overflow:hidden}.company-logo-box img{width:100%;height:100%;object-fit:contain;padding:7px}.company-logo-box i{font-size:2rem;color:#91aaa7}.company-job-content h2{font-size:1.08rem;color:var(--brand);margin:2px 0 8px}.company-job-content ul{list-style:none;padding:0;margin:0}.company-job-content li{position:relative;padding:7px 0 7px 13px;border-top:1px solid #edf2f1}.company-job-content li:first-child{border-top:0}.company-job-content li:before{content:'›';position:absolute;left:0;color:var(--brand);font-weight:900}.company-job-content a{color:var(--ink);font-weight:700;text-decoration:none;line-height:1.2}.company-job-content a:hover{color:var(--brand2)}.company-job-content small{display:block;color:var(--muted);margin-top:3px}@media(max-width:575px){.company-job-card{grid-template-columns:58px 1fr}.company-logo-box{width:58px;height:58px}.vacancy-search-hero{padding:1.15rem 0}}

/* Compact royal-blue workspace header. */
.talent-topbar {
    min-height: 64px;
}

.dashboard-page-heading {
    min-width: 0;
    margin-left: 0.85rem;
    color: #fff;
}

.dashboard-page-heading span {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.dashboard-page-heading h1 {
    margin: 0.18rem 0 0;
    overflow: hidden;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 750;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-content {
    padding-top: 1rem;
}

@media (max-width: 575.98px) {
    .dashboard-page-heading span,
    .topbar-user {
        display: none !important;
    }

    .dashboard-page-heading h1 {
        max-width: 145px;
        font-size: 1rem;
    }
}

.dashboard-settings-grid > [id],
.recruiter-module-grid > [id] {
    scroll-margin-top: 82px;
}

.candidate-stat-list {
    display: grid;
    gap: 0.8rem;
}

.candidate-stat-list > div {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid #dde6f1;
    border-radius: 12px;
    background: #f7f9fd;
}

.candidate-stat-list strong {
    min-width: 72px;
    color: #123a78;
    font-size: 1.25rem;
}

.candidate-stat-list span {
    color: #65738a;
}

.recruiter-module-card {
    display: flex;
    flex-direction: column;
    min-height: 145px;
    padding: 1.2rem;
    border: 1px solid #dce5f0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(18, 58, 120, 0.06);
    color: #17313a;
    text-decoration: none;
    transition: 0.18s ease;
}

.recruiter-module-card > i {
    margin-bottom: 0.65rem;
    color: #245aa5;
    font-size: 1.5rem;
}

.recruiter-module-card span {
    margin-top: auto;
    color: #6b7b91;
    font-size: 0.8rem;
}

.recruiter-module-card:hover {
    transform: translateY(-2px);
    border-color: #91add3;
    box-shadow: 0 10px 26px rgba(18, 58, 120, 0.12);
    color: #123a78;
}

.sidebar-brand {
    background: #fff !important;
    border-bottom: 1px solid #dfe6ef;
}

.sidebar-brand .brand-link {
    background: transparent !important;
}

.sidebar-brand .sidebar-logo {
    padding: 4px 9px;
    border-radius: 9px;
    background: #fff;
    filter: none;
}

.topbar-candidate-photo {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
}

.topbar-candidate-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer-admin-link {
    color: inherit;
    font-size: 0.68rem;
    opacity: 0.32;
    text-decoration: none;
}

.footer-admin-link:hover,
.footer-admin-link:focus {
    color: inherit;
    opacity: 0.75;
}

.candidate-dashboard-hero .candidate-hero-actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
    width: 150px;
}
.candidate-app-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    padding: .55rem;
    border-radius: 15px;
    background: #fff;
    color: #124776;
    text-decoration: none;
    box-shadow: 0 10px 25px #003b3a4a;
}
.candidate-app-qr img { display: block; width: 112px; height: 112px; object-fit: contain; }
.candidate-app-qr small { font-size: .72rem; font-weight: 750; white-space: nowrap; }
.candidate-hero-actions .btn { white-space: nowrap; }
@media (max-width: 575.98px) {
    .candidate-dashboard-hero .candidate-hero-actions { align-self: center; width: min(100%, 210px); }
    .candidate-app-qr img { width: 104px; height: 104px; }
}
