/* =====================================================================
   dashboard.css — authenticated app UI: auth forms, dashboards, profile
   hub, company/job management, marketplace cards, trust & security,
   talent network, and the admin panel shell.
   Loaded on every page alongside style.css; breakpoint rules live in
   responsive.css.
   ===================================================================== */

/* ===================== AUTH FORMS ===================== */
.auth-section{padding:70px 0 90px;}

.auth-card{
  max-width:460px; margin:0 auto;
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:36px;
}

.auth-card h1{font-size:1.7rem; margin-bottom:6px; text-align:center;}
.auth-sub{text-align:center; margin-bottom:26px; font-size:.95rem;}

.auth-card .form-group{margin-bottom:16px;}

.password-field{position:relative; display:flex;}
.password-field input{padding-right:70px;}
.toggle-password{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--primary); font-size:.78rem; font-weight:600;
  cursor:pointer; padding:6px 8px;
}
.toggle-password:hover{color:var(--primary-dark);}

.field-error{color:#e5484d; font-size:.8rem; margin-top:4px;}
.form-group input.has-error,
.form-group select.has-error{border-color:#e5484d;}

.checkbox-row{display:flex; align-items:flex-start; gap:9px; margin-bottom:20px; font-size:.85rem;}
.checkbox-row input{margin-top:3px;}
.checkbox-row label{font-weight:400; color:var(--text);}
.checkbox-row a{color:var(--primary); font-weight:600;}

.form-row-inline{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; font-size:.85rem;}
.form-row-inline .checkbox-row{margin-bottom:0;}
.form-row-inline a{color:var(--primary); font-weight:600;}

.auth-card .btn{width:100%;}

.auth-switch{text-align:center; margin-top:20px; font-size:.9rem; color:var(--text-muted);}
.auth-switch a{color:var(--primary); font-weight:600;}

/* Role picker */
.role-options{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px;}
.role-option{
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px;
  cursor:pointer; text-align:center; transition:border-color .15s ease, background .15s ease;
}
.role-option input{margin-right:6px;}
.role-option:has(input:checked){border-color:var(--primary); background:var(--primary-light); color:var(--primary-dark);}

/* Dashboard / profile placeholder pages */
.dashboard-card{
  max-width:640px; margin:0 auto; text-align:center;
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:48px 36px;
}
.dashboard-card .pill{display:inline-flex; margin-bottom:16px;}

.profile-card{max-width:560px; margin:0 auto; background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:36px;}
.profile-avatar{width:88px; height:88px; border-radius:50%; object-fit:cover; display:block; margin:0 auto 18px; border:1px solid var(--border);}
.profile-avatar-fallback{
  width:88px; height:88px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
  background:var(--primary-light); color:var(--primary-dark); font-family:var(--font-head); font-weight:700; font-size:1.6rem;
}
.profile-row{display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--border); font-size:.92rem;}
.profile-row:last-child{border-bottom:none;}
.profile-row span:first-child{color:var(--text-muted);}
.profile-row span:last-child{font-weight:600;}

/* ===================== EXPERT / DASHBOARD SHELL ===================== */
.expert-section{padding:50px 0 90px;}
.expert-heading{margin-bottom:32px;}
.expert-heading h1{font-size:1.9rem; margin-bottom:6px;}
.expert-heading p{font-size:.95rem;}

/* --- Dashboard stat tiles --- */
.dash-welcome{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:32px; margin-bottom:28px;
}
.dash-welcome h1{font-size:1.6rem; margin-bottom:6px;}

.dash-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; margin-bottom:28px;}
.dash-tile{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; text-align:center;
}
.dash-tile strong{display:block; font-family:var(--font-head); font-size:1.7rem; color:var(--primary);}
.dash-tile small{color:var(--text-muted); font-size:.82rem;}

.dash-columns{display:grid; grid-template-columns:1.4fr 1fr; gap:20px;}
.dash-panel{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:26px;
}
.dash-panel h3{font-size:1.1rem; margin-bottom:14px;}
.dash-empty{color:var(--text-muted); font-size:.9rem; padding:18px 0; text-align:center;}

/* --- Profile completion --- */
.progress-wrap{margin-bottom:8px;}
.progress-track{
  width:100%; height:10px; border-radius:999px; background:var(--bg-soft-2); overflow:hidden;
}
.progress-fill{height:100%; background:var(--primary); border-radius:999px; transition:width .3s ease;}
.progress-label{display:flex; justify-content:space-between; font-size:.82rem; color:var(--text-muted); margin-top:6px;}

.checklist{list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:8px;}
.checklist li{display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--text-muted);}
.checklist li.done{color:var(--text);}
.checklist .dot{width:8px; height:8px; border-radius:50%; background:var(--border); flex-shrink:0;}
.checklist li.done .dot{background:var(--accent);}

/* --- Profile hub page --- */
.profile-hub{display:grid; grid-template-columns:280px 1fr; gap:24px; align-items:start;}
.profile-side{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:28px; text-align:center; position:sticky; top:110px;
}
.profile-side .profile-avatar,
.profile-side .profile-avatar-fallback{margin-bottom:14px;}
.profile-side h2{font-size:1.2rem;}
.profile-side .role-tag{color:var(--text-muted); font-size:.85rem; margin-bottom:16px;}
.profile-side .btn{width:100%; margin-top:8px;}
.profile-side .social-links{display:flex; flex-direction:column; gap:8px; margin-top:16px; text-align:left; font-size:.85rem;}
.profile-side .social-links a{color:var(--primary); word-break:break-all;}

.profile-main-section{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:26px; margin-bottom:20px;
}
.profile-main-section .section-title{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;
}
.profile-main-section .section-title h3{font-size:1.05rem; margin:0;}
.profile-main-section .info-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; font-size:.9rem;}
.profile-main-section .info-grid span{display:block; color:var(--text-muted); font-size:.78rem; margin-bottom:2px;}
.profile-main-section .info-grid strong{font-weight:600;}
.profile-main-section p.bio-text{font-size:.92rem; color:var(--text);}

/* --- Tags (skills / languages) --- */
.tag-list{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.tag{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--bg-soft-2); color:var(--text); font-size:.8rem; font-weight:600;
  padding:6px 8px 6px 14px; border-radius:999px;
}
.tag button{
  background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:.9rem;
  width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.tag button:hover{background:var(--border); color:#c2273a;}
.tag-add-form{display:flex; gap:8px;}
.tag-add-form input{
  flex:1; padding:11px 14px; border-radius:var(--radius-sm); border:1px solid var(--border);
  background:var(--bg-soft); color:var(--text); font-family:var(--font-body); font-size:.92rem;
}
.tag-add-form input:focus{outline:none; border-color:var(--primary); background:var(--bg);}

/* --- Timeline cards (education / experience) --- */
.timeline-item{
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px 18px; margin-bottom:12px;
  display:flex; justify-content:space-between; gap:12px;
}
.timeline-item:last-child{margin-bottom:0;}
.timeline-item h4{font-size:.95rem; margin:0 0 4px;}
.timeline-item .meta{font-size:.8rem; color:var(--text-muted); margin-bottom:6px;}
.timeline-item p{font-size:.85rem; margin:0;}
.timeline-actions{display:flex; gap:6px; flex-shrink:0;}
.timeline-actions a, .timeline-actions button{
  font-size:.78rem; font-weight:600; color:var(--primary); background:none; border:none; cursor:pointer; padding:0;
}
.timeline-actions form button{color:#c2273a;}

/* --- Portfolio grid --- */
.portfolio-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:16px;}
.portfolio-card{border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden;}
.portfolio-card img{width:100%; height:140px; object-fit:cover; display:block; background:var(--bg-soft);}
.portfolio-card-body{padding:14px;}
.portfolio-card-body h4{font-size:.92rem; margin:0 0 6px;}
.portfolio-card-body p{font-size:.82rem; margin:0 0 10px;}
.portfolio-links{display:flex; gap:10px; font-size:.78rem; margin-bottom:8px;}
.portfolio-links a{color:var(--primary); font-weight:600;}

/* --- Resume block --- */
.resume-box{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px dashed var(--border); border-radius:var(--radius-sm); padding:16px;
}
.resume-box .resume-info{font-size:.88rem;}
.resume-box .resume-info small{display:block; color:var(--text-muted);}

/* ===================== BADGES & STATUS PILLS (Company/Enterprise) ===================== */
.badge{
  display:inline-flex; align-items:center; gap:6px; font-size:.75rem; font-weight:700;
  padding:5px 12px; border-radius:999px; border:1px solid transparent;
}
.badge-verified{background:#e3faf3; color:#057a5c; border-color:#b7f1de;}
.badge-pending{background:#fff6e0; color:#8a5a00; border-color:#ffe6a8;}
.badge-rejected{background:#fdecec; color:#c2273a; border-color:#f8c9ce;}
.badge-neutral{background:var(--bg-soft-2); color:var(--text-muted); border:1px solid var(--border);}
[data-theme="dark"] .badge-verified{background:#0c2a22; color:#5fe3bc; border-color:#134536;}
[data-theme="dark"] .badge-pending{background:#2e2408; color:#ffd479; border-color:#4a3a0e;}
[data-theme="dark"] .badge-rejected{background:#301316; color:#ff8f97; border-color:#4a1c20;}
[data-theme="dark"] .badge-neutral{background:var(--bg-soft-2); color:var(--text-muted);}

.status-pill{
  display:inline-flex; font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:999px;
  background:var(--bg-soft-2); color:var(--text-muted);
}
.status-pill.status-open{background:#e3faf3; color:#057a5c;}
.status-pill.status-draft{background:var(--bg-soft-2); color:var(--text-muted);}
.status-pill.status-closed{background:#fdecec; color:#c2273a;}
[data-theme="dark"] .status-pill.status-open{background:#0c2a22; color:#5fe3bc;}
[data-theme="dark"] .status-pill.status-closed{background:#301316; color:#ff8f97;}

/* Application status colors (extends .status-pill above) */
.status-pill.status-applied{background:var(--bg-soft-2); color:var(--text-muted);}
.status-pill.status-under_review{background:#fff6e0; color:#8a5a00;}
.status-pill.status-shortlisted{background:var(--primary-light); color:var(--primary-dark);}
.status-pill.status-interview_scheduled{background:#e0f2ff; color:#0b5fa5;}
.status-pill.status-interview_completed{background:#e0f2ff; color:#0b5fa5;}
.status-pill.status-offer_sent{background:#fff6e0; color:#8a5a00;}
.status-pill.status-hired{background:#e3faf3; color:#057a5c;}
.status-pill.status-offer_rejected{background:#fdecec; color:#c2273a;}
.status-pill.status-project_assigned{background:#e0f2ff; color:#0b5fa5;}
.status-pill.status-rejected{background:#fdecec; color:#c2273a;}
.status-pill.status-withdrawn{background:var(--bg-soft-2); color:var(--text-muted);}
[data-theme="dark"] .status-pill.status-under_review{background:#2e2408; color:#ffd479;}
[data-theme="dark"] .status-pill.status-interview_scheduled{background:#0c2333; color:#7fc4ff;}
[data-theme="dark"] .status-pill.status-interview_completed{background:#0c2333; color:#7fc4ff;}
[data-theme="dark"] .status-pill.status-offer_sent{background:#2e2408; color:#ffd479;}
[data-theme="dark"] .status-pill.status-hired{background:#0c2a22; color:#5fe3bc;}
[data-theme="dark"] .status-pill.status-offer_rejected{background:#301316; color:#ff8f97;}
[data-theme="dark"] .status-pill.status-project_assigned{background:#0c2333; color:#7fc4ff;}
[data-theme="dark"] .status-pill.status-rejected{background:#301316; color:#ff8f97;}

/* AI Project / assignment status colors (extends .status-pill above) */
.status-pill.status-pending_review{background:#fff6e0; color:#8a5a00;}
.status-pill.status-approved{background:#e3faf3; color:#057a5c;}
.status-pill.status-assigned{background:#e0f2ff; color:#0b5fa5;}
.status-pill.status-in_progress{background:var(--primary-light); color:var(--primary-dark);}
.status-pill.status-completed{background:#e3faf3; color:#057a5c;}
.status-pill.status-accepted{background:#e3faf3; color:#057a5c;}
[data-theme="dark"] .status-pill.status-pending_review{background:#2e2408; color:#ffd479;}
[data-theme="dark"] .status-pill.status-approved{background:#0c2a22; color:#5fe3bc;}
[data-theme="dark"] .status-pill.status-assigned{background:#0c2333; color:#7fc4ff;}
[data-theme="dark"] .status-pill.status-completed{background:#0c2a22; color:#5fe3bc;}
[data-theme="dark"] .status-pill.status-accepted{background:#0c2a22; color:#5fe3bc;}

/* --- Company profile header --- */
.company-header{display:flex; align-items:center; gap:20px; margin-bottom:24px; flex-wrap:wrap;}
.company-logo,
.company-logo-fallback{
  width:76px; height:76px; border-radius:16px; object-fit:cover; border:1px solid var(--border); flex-shrink:0;
}
.company-logo-fallback{
  display:flex; align-items:center; justify-content:center; background:var(--primary-light); color:var(--primary-dark);
  font-family:var(--font-head); font-weight:700; font-size:1.6rem;
}
.company-header h1{font-size:1.5rem; margin-bottom:4px;}

/* --- Job cards (Manage Jobs list) --- */
.job-manage-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; margin-bottom:14px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.job-manage-card h3{font-size:1.05rem; margin:0 0 6px;}
.job-manage-card .meta{font-size:.82rem; color:var(--text-muted); margin-bottom:10px;}
.job-manage-card .meta span{margin-right:12px;}
.job-manage-actions{display:flex; gap:8px; flex-wrap:wrap; align-items:flex-start;}
.job-manage-actions form{display:inline;}
.job-manage-actions .btn{padding:8px 14px; font-size:.8rem;}

/* --- Job detail stat chips --- */
.job-stats-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; margin:22px 0;}
.job-stat-chip{
  background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:16px; text-align:center;
}
.job-stat-chip strong{display:block; font-family:var(--font-head); font-size:1.3rem; color:var(--primary);}
.job-stat-chip small{color:var(--text-muted); font-size:.76rem;}

.applicant-preview{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin:16px 0;}
.applicant-chip{border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px; text-align:center;}
.applicant-chip strong{display:block; font-size:1.2rem;}
.applicant-chip small{color:var(--text-muted); font-size:.76rem;}

/* ===================== APPLICATIONS & HIRING ===================== */
.app-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px 22px; margin-bottom:12px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.app-card h3{font-size:1rem; margin:0 0 6px;}
.app-card .meta{font-size:.82rem; color:var(--text-muted); display:flex; gap:12px; flex-wrap:wrap;}
.app-card-actions{display:flex; gap:8px; align-items:flex-start; flex-wrap:wrap;}
.app-card-actions form{display:inline;}

/* --- Hiring timeline (horizontal stepper) --- */
.hiring-timeline{display:flex; flex-wrap:wrap; gap:0; margin:18px 0;}
.hiring-timeline .stage{
  flex:1; min-width:120px; text-align:center; padding:12px 8px; border-top:3px solid var(--border);
  position:relative;
}
.hiring-timeline .stage.done{border-top-color:var(--primary);}
.hiring-timeline .stage strong{display:block; font-size:.82rem;}
.hiring-timeline .stage small{color:var(--text-muted); font-size:.72rem;}

/* --- Applicant profile sections --- */
.applicant-header{display:flex; gap:16px; align-items:center; flex-wrap:wrap; justify-content:space-between; margin-bottom:18px;}
.applicant-identity{display:flex; gap:14px; align-items:center;}

.notes-box textarea{width:100%; min-height:110px; padding:11px 14px; border-radius:var(--radius-sm); border:1px solid var(--border); background:var(--bg-soft); color:var(--text); font-family:var(--font-body); font-size:.9rem;}
.notes-box textarea:focus{outline:none; border-color:var(--primary); background:var(--bg);}

/* --- Notifications list --- */
.notif-item{
  display:flex; justify-content:space-between; gap:14px; align-items:flex-start;
  padding:16px 18px; border:1px solid var(--border); border-radius:var(--radius-sm); margin-bottom:10px;
  background:var(--card-bg);
}
.notif-item.unread{border-color:var(--primary); background:var(--primary-light);}
.notif-item p{margin:0 0 4px; font-size:.9rem;}
.notif-item small{color:var(--text-muted); font-size:.78rem;}
.notif-item form{flex-shrink:0;}

/* ===================== MARKETPLACE (job browse cards) ===================== */
.marketplace-toolbar{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:22px; margin-bottom:28px;
}
.marketplace-search{margin-bottom:16px;}
.marketplace-search input{
  width:100%; padding:14px 18px; border-radius:999px; border:1px solid var(--border);
  background:var(--bg-soft); color:var(--text); font-family:var(--font-body); font-size:.98rem;
}
.marketplace-search input:focus{outline:none; border-color:var(--primary); background:var(--bg);}

.marketplace-filters{display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; align-items:end;}
.marketplace-filters .form-group{margin-bottom:0;}
.marketplace-filters label{font-size:.75rem;}
.marketplace-filters input,
.marketplace-filters select{
  width:100%; padding:9px 12px; border-radius:var(--radius-sm); border:1px solid var(--border);
  background:var(--bg-soft); color:var(--text); font-size:.85rem;
}
.marketplace-filters .btn{padding:9px 14px; font-size:.85rem;}

.results-meta{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; color:var(--text-muted); font-size:.88rem;}

/* --- Job grid + card (reusable across browse/saved/related/talent pool) --- */
.job-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
.job-grid.job-grid-compact{grid-template-columns:repeat(4, 1fr);}

.mkt-job-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; display:flex; flex-direction:column; gap:12px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mkt-job-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--primary);}

.mkt-job-card-top{display:flex; gap:12px; align-items:flex-start;}
.mkt-job-logo, .mkt-job-logo-fallback{
  width:44px; height:44px; border-radius:12px; object-fit:cover; flex-shrink:0; border:1px solid var(--border);
}
.mkt-job-logo-fallback{
  display:flex; align-items:center; justify-content:center; background:var(--primary-light); color:var(--primary-dark);
  font-family:var(--font-head); font-weight:700;
}
.mkt-job-card-top h3{font-size:1rem; margin:0 0 2px;}
.mkt-job-card-top .company-name{font-size:.82rem; color:var(--text-muted);}

.mkt-job-tags{display:flex; flex-wrap:wrap; gap:6px;}
.mkt-job-tags span{font-size:.7rem; font-weight:600; background:var(--bg-soft-2); color:var(--text-muted); padding:4px 10px; border-radius:999px;}

.mkt-job-rate{font-family:var(--font-head); font-weight:700; color:var(--primary); font-size:1rem;}
.mkt-job-meta{font-size:.78rem; color:var(--text-muted); display:flex; flex-direction:column; gap:2px;}

.mkt-job-actions{display:flex; gap:8px; margin-top:auto; padding-top:10px;}
.mkt-job-actions .btn{flex:1; padding:9px 12px; font-size:.82rem;}

.bookmark-btn{
  width:38px; height:38px; flex:0 0 auto !important; border-radius:50%; border:1px solid var(--border);
  background:var(--bg-soft); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0 !important;
  font-size:1rem; color:var(--text-muted);
}
.bookmark-btn.is-saved{background:var(--primary-light); color:var(--primary-dark); border-color:var(--primary-light);}

.dash-empty-lg{
  text-align:center; padding:60px 20px; color:var(--text-muted); background:var(--card-bg);
  border:1px solid var(--border); border-radius:var(--radius);
}

/* --- Pagination --- */
.mkt-pagination{display:flex; justify-content:center; gap:8px; margin-top:32px;}
.mkt-pagination a, .mkt-pagination span{
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px;
  border-radius:var(--radius-sm); border:1px solid var(--border); font-size:.85rem; color:var(--text);
}
.mkt-pagination a:hover{border-color:var(--primary); color:var(--primary);}
.mkt-pagination .current{background:var(--primary); color:#fff; border-color:var(--primary);}

/* --- Job detail page --- */
.job-detail-header{display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap; justify-content:space-between; margin-bottom:20px;}
.job-detail-actions{display:flex; gap:10px; flex-wrap:wrap;}
.job-detail-actions form{display:inline;}
.company-info-box{display:flex; gap:14px; align-items:center;}

.share-feedback{font-size:.78rem; color:var(--accent); margin-left:8px; display:none;}
.share-feedback.show{display:inline;}

/* ===================== TRUST & SECURITY ===================== */
.verification-status-box{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:18px 20px; margin-bottom:24px;
}

.doc-preview-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:14px; margin-top:14px;}
.doc-preview-card{
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:12px; text-align:center; background:var(--bg-soft);
}
.doc-preview-card img{width:100%; height:100px; object-fit:cover; border-radius:8px; margin-bottom:8px;}
.doc-preview-card small{display:block; color:var(--text-muted); font-size:.75rem; margin-bottom:6px;}

.security-tile-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-bottom:10px;}
.security-tile{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:26px;
}
.security-tile h3{font-size:1.05rem; margin:12px 0 8px;}
.security-tile p{font-size:.88rem;}

/* ===================== TALENT NETWORK & VETTED POOL ===================== */
.talent-experience-tag{
  font-size:.7rem; font-weight:600; background:var(--primary-light); color:var(--primary-dark);
  padding:4px 10px; border-radius:999px;
}

.saved-search-item{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:14px 18px; border:1px solid var(--border); border-radius:var(--radius-sm); margin-bottom:10px;
}

/* =====================================================================
   ADMIN DASHBOARD SHELL
   Same design tokens as the rest of websphere but its own app-shell
   layout — a sidebar + topbar, appropriate for a data-dense admin tool.
   ===================================================================== */

.admin-body{margin:0; background:var(--bg-soft); font-family:var(--font-body); color:var(--text);}

.admin-shell{display:flex; min-height:100vh;}

/* --- Sidebar --- */
.admin-sidebar{
  width:250px; flex-shrink:0; background:var(--navy); color:#fff;
  display:flex; flex-direction:column; padding:22px 18px; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.admin-brand{display:flex; align-items:center; margin-bottom:22px;}
.admin-brand-logo{height:44px; width:auto; display:block;}

.admin-search{margin-bottom:20px;}
.admin-search input{
  width:100%; padding:10px 14px; border-radius:var(--radius-sm); border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08); color:#fff; font-size:.85rem;
}
.admin-search input::placeholder{color:rgba(255,255,255,.5);}
.admin-search input:focus{outline:none; border-color:var(--primary);}

.admin-nav{display:flex; flex-direction:column; gap:4px; flex:1;}
.admin-nav a{
  padding:10px 14px; border-radius:var(--radius-sm); color:rgba(255,255,255,.72); font-size:.9rem; font-weight:500;
  transition:background .15s ease, color .15s ease;
}
.admin-nav a:hover{background:rgba(255,255,255,.06); color:#fff;}
.admin-nav a.active{background:var(--primary); color:#fff;}

.admin-sidebar-footer{display:flex; flex-direction:column; gap:4px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1);}
.admin-sidebar-footer a{padding:9px 14px; border-radius:var(--radius-sm); color:rgba(255,255,255,.6); font-size:.85rem;}
.admin-sidebar-footer a:hover{background:rgba(255,255,255,.06); color:#fff;}

/* --- Main column --- */
.admin-main{flex:1; min-width:0; display:flex; flex-direction:column;}

.admin-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 28px; background:var(--card-bg); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:10;
}
.admin-topbar h1{font-size:1.2rem; margin:0; font-family:var(--font-head);}
.admin-topbar-actions{display:flex; align-items:center; gap:10px;}
.admin-sidebar-toggle{display:none; background:none; border:1px solid var(--border); border-radius:var(--radius-sm); width:38px; height:38px; color:var(--text); cursor:pointer;}

.admin-icon-btn{
  width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--bg-soft); border:1px solid var(--border); color:var(--text); cursor:pointer; position:relative;
}
.admin-icon-btn:hover{border-color:var(--primary); color:var(--primary);}

.admin-user-chip{font-size:.85rem; font-weight:600; color:var(--text); padding:8px 4px;}

.admin-content{padding:28px; flex:1;}

/* --- Stat cards (9-up dashboard grid) --- */
.admin-stats-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-bottom:28px;}
.admin-stat-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:20px;
  display:flex; flex-direction:column; gap:4px;
}
.admin-stat-card small{color:var(--text-muted); font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.03em;}
.admin-stat-card strong{font-family:var(--font-head); font-size:1.8rem; color:var(--text);}
.admin-stat-card strong.accent{color:var(--primary);}

/* --- Chart panels --- */
.admin-charts-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:28px;}
.admin-chart-panel{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:22px;
}
.admin-chart-panel h3{font-size:1rem; margin-bottom:16px;}
.admin-chart-panel canvas{max-height:260px;}
.admin-chart-panel.full{grid-column:1 / -1;}

/* --- Data table --- */
.admin-table-wrap{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); overflow-x:auto;
}
table.admin-table{width:100%; border-collapse:collapse; font-size:.88rem;}
table.admin-table th{
  text-align:left; padding:14px 18px; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em;
  color:var(--text-muted); border-bottom:1px solid var(--border); white-space:nowrap;
}
table.admin-table td{padding:14px 18px; border-bottom:1px solid var(--border); vertical-align:middle;}
table.admin-table tr:last-child td{border-bottom:none;}
table.admin-table td.actions{white-space:nowrap; display:flex; gap:6px; flex-wrap:wrap;}
table.admin-table td.actions form{display:inline;}
table.admin-table .btn{padding:6px 12px; font-size:.78rem;}

/* --- Filter bar --- */
.admin-filter-bar{
  background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 18px; margin-bottom:18px; display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end;
}
.admin-filter-bar .form-group{margin-bottom:0; min-width:160px;}
.admin-filter-bar input,
.admin-filter-bar select{
  width:100%; padding:9px 12px; border-radius:var(--radius-sm); border:1px solid var(--border);
  background:var(--bg-soft); color:var(--text); font-size:.85rem;
}
.admin-filter-bar .btn{padding:9px 16px; font-size:.85rem;}

/* --- Detail page header --- */
.admin-detail-header{
  display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:14px; margin-bottom:20px;
}
.admin-detail-actions{display:flex; gap:8px; flex-wrap:wrap;}
.admin-detail-actions form{display:inline;}

/* --- Search results --- */
.admin-search-group{margin-bottom:24px;}
.admin-search-group h3{font-size:1rem; margin-bottom:12px;}
