:root{--navy:#153047;--gold:#d6a53f;--gold-dark:#a87312;--bg:#f5f7f9;--ink:#182b3a;--muted:#6b7b87}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.navbar-brand{font-weight:900;color:var(--gold-dark)!important}.brand-mark{width:48px;height:48px;object-fit:contain}.btn-primary{background:linear-gradient(135deg,var(--gold-dark),var(--gold));border:0}.btn-primary:hover{filter:brightness(.95)}.btn-dark{background:var(--navy)}.hero{background:linear-gradient(135deg,#fff,#f4ead5);padding:4rem 0}.hero h1{font-size:clamp(2.4rem,6vw,4.8rem);font-weight:900;line-height:1}.hero h1 span{color:var(--gold-dark)}.card{border:1px solid #e2e8ee;border-radius:18px}.dashboard-stat{padding:1.25rem}.dashboard-stat strong{font-size:2rem;display:block}.sidebar .list-group-item.active{background:var(--navy);border-color:var(--navy)}.badge-status{font-weight:700}.footer{background:#102737;color:#dfe7ed}.table td,.table th{vertical-align:middle}.form-label{font-weight:700}.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#e9edf0}.plan-price{font-size:2rem;font-weight:900;color:var(--navy)}

.message-thread{display:flex;flex-direction:column;gap:.75rem;max-height:60vh;overflow:auto}
.message-bubble{max-width:78%;padding:.85rem 1rem;border-radius:16px;background:#edf2f5}
.message-bubble.mine{margin-left:auto;background:#f4e5bd}
.message-bubble small{display:block;color:var(--muted);margin-top:.35rem}
.rating-stars{color:#d39b20;font-size:1.35rem;letter-spacing:.08rem}
.admin-kpi{min-height:130px}
.table-responsive{border-radius:14px}
@media(max-width:576px){.message-bubble{max-width:94%}}

.form-section{background:#fff;border:1px solid #e1e7ec;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 8px 24px rgba(18,52,79,.05)}
.form-section h2{font-size:1.35rem;color:#17324d;border-bottom:1px solid #edf1f4;padding-bottom:12px;margin-bottom:18px}
.subcard{background:#f8fafb;border:1px solid #e4e9ed;border-radius:14px;padding:16px}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.profile-public-photo{max-height:240px;object-fit:cover}
.match-score-large{font-size:4rem;font-weight:900;color:#c79738}

/* Candidate Dashboard Layout (Image 1) */
.candidate-cv-card{background:#fff;border:1px solid #e1e7ec;border-radius:20px;padding:24px;box-shadow:0 6px 20px rgba(18,52,79,.04)}
.cv-avatar-container{position:relative;width:96px;height:96px;flex-shrink:0}
.cv-avatar-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid #28a745}
.cv-avatar-badge{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:#198754;color:#fff;font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:12px;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.15);text-align:center}
.candidate-cv-name{font-size:1.5rem;font-weight:800;color:#153047;line-height:1.2}
.candidate-cv-row{margin-top:8px;font-size:.92rem;color:#2b3e4d}
.candidate-cv-label{font-weight:800;color:#153047;display:block}
.candidate-cv-value{color:#495057}
.candidate-config-bar{border-top:1px solid #e9ecef;padding-top:14px;margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.88rem}
.candidate-config-bar strong{color:#153047}
.candidate-config-bar a{color:#0d6efd;text-decoration:none;font-weight:500}
.candidate-config-bar a:hover{text-decoration:underline}

/* Right Side Dashboard Cards (Image 1) */
.card-action-box{background:#fff;border:1px solid #e1e7ec;border-radius:20px;padding:22px;box-shadow:0 6px 20px rgba(18,52,79,.04);height:100%;display:flex;flex-direction:column;justify-content:space-between}
.card-action-box h3{font-size:1.35rem;font-weight:800;color:#153047;margin-bottom:8px}
.card-action-box p{font-size:.9rem;color:#606f7b;margin-bottom:14px}
.btn-cv-download{background:#0e365c;color:#fff;font-weight:700;border-radius:24px;padding:8px 24px;border:none}
.btn-cv-download:hover{background:#08223c;color:#fff}
.premium-tag{color:#f06a12;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.premium-heading{font-size:1.25rem;font-weight:800;color:#153047;line-height:1.3}
.btn-premium{background:#f06a12;color:#fff;font-weight:700;border-radius:24px;padding:9px 24px;border:none}
.btn-premium:hover{background:#d55609;color:#fff}

/* Specialty Tree and Category Accordion */
.taxonomy-card{border:1px solid #dee2e6;border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff}
.taxonomy-header{background:#f8f9fa;padding:12px 18px;font-weight:700;color:#153047;border-bottom:1px solid #dee2e6;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.taxonomy-body{padding:16px 18px}
.subgroup-title{font-size:.95rem;font-weight:700;color:#2c3e50;margin-top:10px;margin-bottom:8px;border-left:3px solid #d6a53f;padding-left:8px}
.details-input-inline{display:inline-block;width:auto;min-width:220px;max-width:100%;margin-left:8px}

/* Printable CV Styles */
@media print{
  body{background:#fff!important;color:#000!important}
  .navbar,.footer,.no-print,button,.btn{display:none!important}
  .container{max-width:100%!important;padding:0!important;margin:0!important}
  .print-page{border:none!important;box-shadow:none!important;padding:0!important}
}
