/* ---------- Faculty Clearance (faculty + program-director pages) ---------- */
.fc-progress { display: flex; align-items: center; gap: 10px; min-width: 170px; }
.fc-progress-bar { flex: 1; height: 8px; border-radius: 999px; background: var(--sky-light); overflow: hidden; min-width: 80px; }
.fc-progress-bar span { display: block; height: 100%; background: var(--green); border-radius: 999px; transition: width .3s ease; }
.fc-progress-label { font-size: 12px; font-weight: 700; color: var(--muted); white-space: nowrap; }
.fc-status-card { border-left: 4px solid var(--amber); }
.fc-status-card.is-cleared { border-left-color: var(--green); }
.fc-status-head, .fc-detail-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: space-between; }
.fc-status-title { font-weight: 800; color: var(--navy); font-size: 17px; }
.fc-status-card.is-cleared .fc-status-title { color: var(--green); }
.fc-status-sub { color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.fc-detail-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.fc-seg { display: inline-flex; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.fc-seg button { border: none; background: var(--card); color: var(--muted); padding: 7px 12px; font-size: 12.5px; font-weight: 700; font-family: inherit; cursor: pointer; white-space: nowrap; }
.fc-seg button + button { border-left: 1px solid var(--border); }
.fc-seg button:hover { color: var(--navy); }
.fc-seg button.on.ok { background: #e5f6ec; color: var(--green); }
.fc-seg button.on.no { background: #fbe9e7; color: var(--red); }
.fc-check-table input[type=text] { padding: 7px 9px; font-size: 14px; }
@media (max-width: 700px) {
  .fc-progress { min-width: 140px; }
}
