/* MidSouthBands 2.0 — Milestone 2B Recruitment */
.recruitment-fields {
  background:#f7f9fb;
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:8px;
  padding:17px;
  margin:0 0 18px;
}

.recruitment-fields-heading {
  margin-bottom:14px;
}

.recruitment-fields-heading strong,
.recruitment-fields-heading span {
  display:block;
}

.recruitment-fields-heading span {
  color:var(--muted);
  margin-top:4px;
}

.recruitment-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 16px;
}

.optional-label {
  font-weight:400;
  color:var(--muted);
  font-size:.78rem;
}

.input-with-suffix {
  display:flex;
  align-items:center;
}

.input-with-suffix input {
  border-radius:7px 0 0 7px!important;
}

.input-with-suffix span {
  padding:11px 12px;
  border:1px solid #bdc8d0;
  border-left:0;
  background:#edf2f5;
  border-radius:0 7px 7px 0;
  color:var(--muted);
}

.recruitment-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border-bottom:1px solid var(--line);
}

.recruitment-summary > div {
  background:#f8fafb;
  padding:10px 14px;
}

.recruitment-summary strong,
.recruitment-summary span {
  display:block;
}

.recruitment-summary strong {
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted);
}

.recruitment-summary span {
  margin-top:3px;
  font-weight:700;
}

.recruitment-topic-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  margin:0 0 18px;
}

.recruitment-status-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:13px 16px;
  background:#eef3f6;
  border-bottom:1px solid var(--line);
}

.recruitment-status-row > div {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.reconfirm-warning {
  background:#fff0c9;
  color:#7a5800;
  border-radius:999px;
  padding:5px 9px;
  font-size:.75rem;
  font-weight:900;
}

.recruitment-owner-actions {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  padding:14px 16px;
  border-top:1px solid var(--line);
}

.recruitment-owner-actions form {
  margin:0;
}

.btn-muted {
  background:#dfe5e9;
  color:#24323c;
}

@media (max-width:700px) {
  .recruitment-grid,
  .recruitment-summary {
    grid-template-columns:1fr;
  }

  .recruitment-status-row {
    align-items:flex-start;
    flex-direction:column;
  }

  .recruitment-owner-actions {
    flex-direction:column;
  }

  .recruitment-owner-actions .btn {
    width:100%;
  }
}

/* Recruitment status lights — physical illuminated panel */
.recruitment-status-light{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:82px;
  min-width:82px;
  height:34px;
  padding:0 10px;
  overflow:hidden;
  border-radius:5px;
  background:
    linear-gradient(180deg,#1a2630 0%,#071a2b 46%,#02080d 100%)!important;
  border:2px solid #263947;
  outline:1px solid rgba(255,255,255,.08);
  color:#fff!important;
  letter-spacing:.10em;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -2px 5px rgba(0,0,0,.65),
    0 2px 5px rgba(0,0,0,.35);
  text-shadow:none;
}

.recruitment-status-light::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:3px;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,.05) 22%,
      rgba(255,255,255,0) 48%
    );
  pointer-events:none;
}

.recruitment-status-light::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:3px;
  height:2px;
  border-radius:999px;
  opacity:.8;
  pointer-events:none;
}

.recruitment-status-light.status-open{
  color:#78ff98!important;
  border-color:#315f3f;
  text-shadow:
    0 0 3px rgba(120,255,152,.95),
    0 0 7px rgba(120,255,152,.75),
    0 0 12px rgba(120,255,152,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -2px 5px rgba(0,0,0,.65),
    0 0 5px rgba(120,255,152,.35),
    0 0 10px rgba(120,255,152,.18),
    0 2px 5px rgba(0,0,0,.35);
}
.recruitment-status-light.status-open::after{
  background:linear-gradient(90deg,transparent,#78ff98,transparent);
  box-shadow:0 0 6px rgba(120,255,152,.65);
}

.recruitment-status-light.status-stale{
  color:#ffd166!important;
  border-color:#6d5920;
  text-shadow:
    0 0 3px rgba(255,209,102,.95),
    0 0 7px rgba(255,209,102,.75),
    0 0 12px rgba(255,209,102,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -2px 5px rgba(0,0,0,.65),
    0 0 5px rgba(255,209,102,.30),
    0 0 10px rgba(255,209,102,.15),
    0 2px 5px rgba(0,0,0,.35);
}
.recruitment-status-light.status-stale::after{
  background:linear-gradient(90deg,transparent,#ffd166,transparent);
  box-shadow:0 0 6px rgba(255,209,102,.60);
}

.recruitment-status-light.status-filled{
  color:#ff6b76!important;
  border-color:#6b3037;
  text-shadow:
    0 0 3px rgba(255,107,118,.95),
    0 0 7px rgba(255,107,118,.75),
    0 0 12px rgba(255,107,118,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -2px 5px rgba(0,0,0,.65),
    0 0 5px rgba(255,107,118,.30),
    0 0 10px rgba(255,107,118,.15),
    0 2px 5px rgba(0,0,0,.35);
}
.recruitment-status-light.status-filled::after{
  background:linear-gradient(90deg,transparent,#ff6b76,transparent);
  box-shadow:0 0 6px rgba(255,107,118,.60);
}

/* CLOSED = same fixture, lamp off */
.recruitment-status-light.status-closed{
  color:#75828b!important;
  border-color:#2d3f4d;
  background:
    linear-gradient(180deg,#151d24 0%,#07131f 48%,#02070b 100%)!important;
  text-shadow:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -3px 6px rgba(0,0,0,.78),
    0 2px 4px rgba(0,0,0,.28);
  opacity:.92;
}
.recruitment-status-light.status-closed::after{
  background:linear-gradient(90deg,transparent,#364752,transparent);
  box-shadow:none;
  opacity:.45;
}

/* Topic-list lights are intentionally compact. */

.topic-title-line .recruitment-status-light{
  width:66px;
  min-width:66px;
  height:26px;
  padding:0 7px;
  font-size:.62rem;
  border-radius:5px;
}

/* Status action confirmation */
.status-success{
  background:#e7f5eb;
  border:1px solid #b9ddc2;
  border-left:4px solid #2c7b42;
  color:#1f5d31;
  border-radius:8px;
  padding:11px 14px;
  margin:0 0 14px;
  font-weight:800;
}


/* Recruitment listing body — original post is part of the ad/listing */
.recruitment-ad-body{
  border-top:1px solid var(--line);
}
.recruitment-ad-body .forum-post-preview{
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.recruitment-ad-body .post-author-card{
  background:#f0f4f6;
}
.recruitment-ad-body .post-content-card{
  background:#fff;
}
.recruitment-ad-body .first-topic-post{
  margin-bottom:0;
}


/* Moderator-converted listing: author completion state */
.listing-incomplete-notice{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid rgba(7,26,43,.18);
  border-radius:7px;
  background:rgba(7,26,43,.045);
}
.listing-incomplete-notice strong,
.listing-incomplete-notice span{display:block}
.listing-incomplete-notice span{margin-top:3px;font-size:.86rem;color:var(--muted)}
.listing-details-completion{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid rgba(7,26,43,.16);
  border-radius:7px;
}
.listing-details-completion summary{cursor:pointer;font-weight:800}
.listing-details-completion form{margin-top:10px}
.listing-details-completion label{display:block;margin:0 0 9px;font-size:.82rem;font-weight:700}
.listing-details-completion input,
.listing-details-completion select{
  display:block;
  width:100%;
  margin-top:4px;
  min-height:36px;
  padding:6px 8px;
  border:1px solid #bdc8d0;
  border-radius:6px;
  background:#fff;
}
.listing-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 10px;
}
@media(max-width:700px){
  .listing-detail-grid{grid-template-columns:1fr}
}
