/* Talent Frontiers candidate listing */
.browse-section { background: #f8f9fb; padding: 3rem 0 5rem; }
.browse-layout { display: grid; grid-template-columns: 260px 1fr; gap: 2rem; align-items: start; max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.sidebar { position: sticky; top: 88px; }
.filter-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 1.5rem; margin-bottom: 1rem; }
.filter-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; padding-bottom: .875rem; border-bottom: 1px solid #f3f4f6; }
.filter-title { font-family: 'Sora', sans-serif; font-size: .9375rem; font-weight: 700; color: #0a2342; }
.filter-clear { font-size: .8125rem; color: #d4891a; font-weight: 600; cursor: pointer; border: 0; background: transparent; padding: 0; }
.filter-group { margin-bottom: 1.5rem; }
.filter-group:last-child { margin-bottom: 0; }
.filter-group-title { font-size: .8125rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .875rem; }
.filter-option { display: flex; align-items: center; gap: .625rem; padding: .375rem 0; cursor: pointer; font-size: .875rem; color: #374151; }
.filter-option input[type="checkbox"] { width: 15px; height: 15px; accent-color: #0a2342; cursor: pointer; flex-shrink: 0; }
.filter-count { margin-left: auto; font-size: .75rem; color: #9ca3af; background: #f3f4f6; padding: 1px 7px; border-radius: 9999px; }
.results-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; gap: 1rem; flex-wrap: wrap; }
.results-count { font-size: .9375rem; color: #374151; }
.results-count strong { color: #0a2342; font-weight: 700; }
.view-sort { display: flex; align-items: center; gap: .75rem; }
.view-toggle { display: flex; border: 1.5px solid #e5e7eb; border-radius: 10px; overflow: hidden; }
.view-btn { padding: .5rem .75rem; font-size: .8125rem; font-weight: 600; color: #6b7280; background: #fff; transition: all .15s ease; border: none; cursor: pointer; }
.view-btn.active { background: #0a2342; color: #fff; }
.sort-select { padding: .5rem .875rem; border: 1.5px solid #e5e7eb; border-radius: 10px; font-size: .875rem; color: #374151; background: #fff; cursor: pointer; outline: none; }
.candidates-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; transition: opacity .15s ease; }
.candidates-grid.is-loading { opacity: .45; pointer-events: none; }
.candidates-grid.list-view { grid-template-columns: 1fr !important; }
.candidate-card { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; transition: all .25s ease; position: relative; overflow: hidden; }
.candidate-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(to right, #0a2342, #f5a623); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.candidate-card:hover { border-color: transparent; box-shadow: 0 24px 48px rgba(0,0,0,.12); transform: translateY(-4px); }
.candidate-card:hover::before { transform: scaleX(1); }
.card-top { display: flex; align-items: flex-start; gap: 1rem; }
.avatar { width: 52px; height: 52px; border-radius: 9999px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: 'Sora', sans-serif; font-size: 1.125rem; font-weight: 700; color: #fff; background: #0a2342; position: relative; }
.avatar::after { content: ''; position: absolute; bottom: 1px; right: 1px; width: 11px; height: 11px; border-radius: 9999px; background: #22c55e; border: 2px solid #fff; }
.candidate-info { flex: 1; min-width: 0; }
.candidate-name { font-family: 'Sora', sans-serif; font-size: 1rem; font-weight: 700; color: #0a2342; margin-bottom: .2rem; white-space: normal; overflow: hidden; overflow-wrap: break-word; word-break: break-word; }
.candidate-role { font-size: .875rem; color: #6b7280; margin: 0; }
.availability-badge { flex-shrink: 0; padding: .25rem .625rem; border-radius: 9999px; font-size: .75rem; font-weight: 600; background: rgba(34,197,94,.12); color: #15803d; }
.availability-badge.part { background: rgba(245,166,35,.12); color: #d4891a; }
.card-stats { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.stat { font-size: .8125rem; color: #6b7280; }
.stat strong { display: block; font-size: 1rem; font-weight: 700; color: #0a2342; }
.skills-row { display: flex; flex-wrap: wrap; gap: .4rem; }
.skill-tag { padding: .25rem .625rem; border-radius: 9999px; background: #f3f4f6; color: #374151; font-size: .75rem; font-weight: 500; transition: all .15s ease; }
.skill-tag.highlight { background: rgba(245,166,35,.15); color: #d4891a; }
.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid #f3f4f6; margin-top: auto; }
.card-rate { font-size: 1.0625rem; font-weight: 700; color: #0a2342; margin: 0; }
.card-rate span { font-size: .8125rem; font-weight: 400; color: #9ca3af; }
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .625rem 1.25rem; border-radius: 10px; font-size: .875rem; font-weight: 600; transition: all .2s ease; white-space: nowrap; text-decoration: none; cursor: pointer; }
.btn-navy { background: #0a2342; color: #fff; border: 2px solid #0a2342; }
.btn-navy:hover { background: #0d2d56; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.btn-primary { background: #f5a623; color: #0a2342; border: 2px solid #f5a623; }
.btn-ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.4); }
.btn-sm { padding: .4rem .875rem; font-size: .8125rem; }
.btn-lg { padding: .875rem 1.75rem; font-size: 1rem; }
.pagination { display: flex; align-items: center; justify-content: center; gap: .375rem; margin-top: 2.5rem; }
.page-btn { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: .875rem; font-weight: 600; border: 1.5px solid #e5e7eb; color: #374151; background: #fff; cursor: pointer; transition: all .15s ease; }
.page-btn:hover { border-color: #0a2342; color: #0a2342; }
.page-btn.active { background: #0a2342; border-color: #0a2342; color: #fff; }
.page-btn.dots { border: none; background: none; cursor: default; }
.cta-banner { background: linear-gradient(135deg, #0a2342 0%, #1a3a6b 100%); border-radius: 24px; padding: 4rem 3rem; text-align: center; margin: 3rem 0; position: relative; overflow: hidden; }
.cta-banner h2 { font-family: 'Sora', sans-serif; font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; color: #fff; margin-bottom: .875rem; }
.cta-banner p { font-size: 1.0625rem; color: rgba(255,255,255,.7); max-width: 520px; margin: 0 auto 2rem; }
.cta-actions { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.no-candidates { grid-column: 1 / -1; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 2rem; text-align: center; color: #6b7280; }
@media (max-width: 1024px) { .browse-layout { grid-template-columns: 1fr; } .sidebar { position: static; } }
@media (max-width: 640px) { .candidates-grid { grid-template-columns: 1fr; } .card-footer { align-items: flex-start; flex-direction: column; } .cta-banner { padding: 2.5rem 1.5rem; } }
