/* ============================================================
   CareHire — visual identity layered over Bootstrap 5
   Navy + Care Teal. Sora (display) / Inter (body).
   ============================================================ */
:root{
  --ch-ink:#16315B;
  --ch-muted:#5b6b85;
  --ch-line:#e6eaf1;
  --ch-bg:#f6f8fc;
  --ch-radius:14px;
}
*{ -webkit-font-smoothing:antialiased; }
body{
  font-family:'Inter',system-ui,sans-serif;
  color:#1f2a3d;
  background:var(--ch-bg);
}
.logo{
  width: 45px !important;
  height: 45px !important;
}
.footer_logo{
  width: 35px;
  height: 35px;
  margin: 10px;
}
h1,h2,h3,h4,h5,.ch-brandname,.display-font{ font-family:'Sora',sans-serif; letter-spacing:-.02em; }
a{ text-decoration:none; }
.ch-main{ min-height:60vh; }

/* ---- Nav ---- */
.ch-nav{
  background:#fff;
  border-bottom:1px solid var(--ch-line);
  box-shadow:0 1px 0 rgba(22,49,91,.02);
}
.ch-logo{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:linear-gradient(135deg,var(--ch-primary),var(--ch-accent));
  color:#fff;font-size:18px;
}
.ch-brandname{ font-weight:700;color:var(--ch-primary);font-size:1.25rem; }
.ch-nav .nav-link{ color:#33425c;font-weight:500; }
.ch-nav .nav-link:hover{ color:var(--ch-primary); }
.ch-avatar{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--ch-accent);color:#fff;font-weight:600;font-size:.85rem;
}
.ch-badge{ position:absolute;top:2px;right:-2px;font-size:.6rem;padding:.2em .45em; }

/* ---- Buttons ---- */
.ch-btn-accent{
  background:var(--ch-accent);border:none;color:#fff;font-weight:600;
  border-radius:10px;padding:.5rem 1.1rem;
}
.ch-btn-accent:hover{ background:#089389;color:#fff; }
.btn-primary{ background:var(--ch-primary);border-color:var(--ch-primary); }
.btn-primary:hover{ background:#11264a;border-color:#11264a; }
.btn-outline-primary{ color:var(--ch-primary);border-color:var(--ch-primary); }
.btn-outline-primary:hover{ background:var(--ch-primary);border-color:var(--ch-primary); }
.text-accent{ color:var(--ch-accent)!important; }
.text-primary-ink{ color:var(--ch-primary)!important; }

/* ---- Cards ---- */
.ch-card{
  background:#fff;border:1px solid var(--ch-line);border-radius:var(--ch-radius);
}
.ch-card.hoverable{ transition:.15s ease; }
.ch-card.hoverable:hover{ border-color:var(--ch-accent);box-shadow:0 8px 24px rgba(22,49,91,.07);transform:translateY(-2px); }
.ch-card .card-body{ padding:1.25rem; }

/* ---- Hero ---- */
.ch-hero{
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(11,162,157,.18), transparent),
    linear-gradient(180deg,#0f2547,var(--ch-primary));
  color:#fff;padding:4.5rem 0 5.5rem;position:relative;overflow:hidden;
}
.ch-hero .lead{ color:#c7d4ea; }
.ch-hero .ekg{ position:absolute;left:0;right:0;bottom:0;opacity:.25; }
.ch-search{
  background:#fff;border-radius:16px;padding:.5rem;box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.ch-search .form-control,.ch-search .form-select{ border:none;box-shadow:none; }
.ch-stat{ font-family:'Sora';font-weight:700;font-size:1.6rem; }

/* ---- Category chips ---- */
.ch-cat{
  display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:#fff;
  border:1px solid var(--ch-line);border-radius:12px;color:#1f2a3d;font-weight:500;height:100%;
  transition:.15s ease;
}
.ch-cat:hover{ border-color:var(--ch-accent);color:var(--ch-primary);box-shadow:0 6px 18px rgba(22,49,91,.06); }
.ch-cat i{ color:var(--ch-accent);font-size:1.25rem; }

/* ---- Job card ---- */
.ch-job-title{ font-family:'Sora';font-weight:600;color:var(--ch-primary); }
.ch-meta{ color:var(--ch-muted);font-size:.875rem; }
.ch-pill{ background:#eef3fb;color:#33507e;border-radius:20px;padding:.2rem .65rem;font-size:.78rem;font-weight:500; }
.ch-org-logo{
  width:48px;height:48px;border-radius:10px;object-fit:cover;background:#eef3fb;
  display:grid;place-items:center;color:var(--ch-primary);font-weight:700;
}


/* ---- Sidebar / dashboard ---- */
.ch-side{ background:#fff;border:1px solid var(--ch-line);border-radius:var(--ch-radius); }
.ch-side .list-group-item{ border:none;border-radius:10px;color:#33425c;font-weight:500; }
.ch-side .list-group-item.active{ background:var(--ch-primary);color:#fff; }
.ch-side .list-group-item:hover:not(.active){ background:var(--ch-bg); }

/* ---- Forms ---- */
.form-label{ font-weight:500;color:#33425c;font-size:.9rem; }
.form-control,.form-select{ border-radius:10px;border-color:#d8e0ee; }
.form-control:focus,.form-select:focus{ border-color:var(--ch-accent);box-shadow:0 0 0 .2rem rgba(11,162,157,.15); }
.ch-section-title{ font-family:'Sora';font-weight:600;color:var(--ch-primary);font-size:1.05rem; }

/* ---- Messaging ---- */
.ch-thread{ height:60vh;overflow-y:auto;background:var(--ch-bg);border-radius:12px;padding:1rem; }
.ch-msg{ max-width:75%;padding:.6rem .9rem;border-radius:14px;margin-bottom:.6rem;font-size:.92rem; }
.ch-msg.mine{ background:var(--ch-primary);color:#fff;margin-left:auto;border-bottom-right-radius:4px; }
.ch-msg.theirs{ background:#fff;border:1px solid var(--ch-line);border-bottom-left-radius:4px; }
.ch-msg .t{ display:block;font-size:.68rem;opacity:.7;margin-top:.2rem; }
.ch-conv-item{ border:none;border-bottom:1px solid var(--ch-line);cursor:pointer; }
.ch-conv-item.active{ background:#eef3fb; }

/* ---- Completeness meter ---- */
.ch-meter{ height:8px;border-radius:6px;background:#e6eaf1;overflow:hidden; }
.ch-meter > span{ display:block;height:100%;background:linear-gradient(90deg,var(--ch-accent),var(--ch-primary)); }

/* ---- Footer ---- */
.ch-footer{ background:#0f2547;color:#fff;padding:3rem 0 2rem;margin-top:4rem; }
.ch-footer a{ color:#c7d4ea; }
.ch-footer a:hover{ color:#fff; }
.ch-footer .ch-logo{ width:30px;height:30px;font-size:16px; }

/* ---- Privacy note ---- */
.ch-privacy{
  background:#eafaf8;border:1px solid #b9ece6;color:#0a6b63;border-radius:12px;
  padding:.75rem 1rem;font-size:.875rem;
}
.ch-privacy i{ color:var(--ch-accent); }

.social{
  font-size: 25px !important;
  margin-right: 5px !important;
}

/* ---- Utilities ---- */
.ch-empty{ text-align:center;padding:3rem 1rem;color:var(--ch-muted); }
.ch-empty i{ font-size:2.5rem;color:#c3cee0; }
@media (max-width:575px){ .ch-hero{ padding:3rem 0 4rem; } .ch-stat{ font-size:1.3rem; } }

/* ---------- Added: employer/inbox/resume views ---------- */
.ch-pills .nav-link{ color:var(--ch-ink);background:#eef3fb;border-radius:20px;padding:.3rem .9rem;font-size:.85rem;font-weight:500; }
.ch-pills .nav-link.active{ background:var(--ch-primary);color:#fff; }
.ch-avatar-lg{ width:56px;height:56px;font-size:1.4rem; }
.ch-pill-sm{ font-size:.72rem;padding:.12rem .5rem; }
.ch-fact{ background:var(--ch-bg);border:1px solid var(--ch-line);border-radius:10px;padding:.5rem .75rem; }
.ch-fact .ch-meta{ display:block;font-size:.72rem; }
.ch-prose p{ margin-bottom:.6rem; }
.ch-timeline-item{ border-left:2px solid var(--ch-line);padding:0 0 .9rem 1rem;margin-left:.3rem;position:relative; }
.ch-timeline-item::before{ content:"";position:absolute;left:-5px;top:.35rem;width:8px;height:8px;border-radius:50%;background:var(--ch-accent); }
.ch-timeline-item:last-child{ border-left-color:transparent;padding-bottom:0; }
.ch-cover{ background:var(--ch-bg);border-radius:10px;padding:.7rem .9rem;font-size:.9rem;color:#42506b; }
.ch-sticky{ position:sticky;top:84px; }
.ch-inbox{ overflow:hidden; }
.ch-conv-list{ border-right:1px solid var(--ch-line);max-height:74vh;overflow-y:auto; }
.ch-conv-item{ display:block;padding:.75rem 1rem;text-decoration:none;color:inherit; }
.ch-conv-item:hover{ background:#f5f8fd; }
.ch-compose .ch-meta{ font-size:.72rem; }
@media (max-width:767.98px){ .ch-conv-list{ border-right:none;border-bottom:1px solid var(--ch-line);max-height:40vh; } }
