.cand-wrap {
  --gap:10px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

.cand-title {
  margin:0 0 10px;
  font-size:22px;
}

/* FILTRI */
.cand-filters {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  align-items:end;
  margin-bottom:16px;
  background:#fafafa;
  padding:12px;
  border:1px solid #eee;
  border-radius:8px;
}
.cand-filters label {
  display:flex;
  flex-direction:column;
  font-size:12px;
  color:#444;
}
.cand-filters input {
  height:34px;
  padding:6px 8px;
  border:1px solid #ddd;
  border-radius:6px;
}
.cand-actions {
  display:flex;
  gap:8px;
  align-items:center;
}

/* BOTTONI */
.btn-primary, .btn-secondary, .btn-link {
  display:inline-block;
  padding:8px 12px;
  border-radius:6px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  font-size:0.85rem;
}
.btn-primary {
  background:#0d6efd;
  color:#fff;
  border-color:#0d6efd;
}
.btn-primary:hover { filter:brightness(0.95); }
.btn-secondary {
  background:#fff;
  color:#333;
  border-color:#ccc;
}
.btn-secondary:hover { background:#f6f6f6; }

/* PULSANTE DETTAGLIO */
.cand-table .btn-link {
  background:#0073aa;
  color:#fff !important;
  border-radius:6px;
  padding:6px 12px;
  transition:background 0.2s;
}
.cand-table .btn-link:hover {
  background:#005f8d;
}

/* TABELLA */
.cand-table-wrap {
  overflow:auto;
  border:1px solid #eee;
  border-radius:8px;
}
.cand-table {
  border-collapse:separate;
  border-spacing:0;
  width:100%;
}
.cand-table thead th {
  position:sticky;
  top:0;
  background:#fff;
  z-index:1;
  border-bottom:1px solid #eee;
  text-align:left;
  font-weight:600;
  padding:10px;
}
.cand-table tbody td {
  border-bottom:1px solid #f2f2f2;
  padding:10px;
  vertical-align:top;
}
.cand-table tbody tr:nth-child(even) {
  background:#fafafa;
}

/* BADGE STATUS */
.badge {
  display:inline-block;
  padding:4px 8px;
  border-radius:6px; /* rettangolo stondato */
  font-size:12px;
  font-weight:500;
  border:1px solid #ddd;
}
.badge-colloquio-avvenuto {
  background:#e7f6ec;
  color:#0a7a38;
  border-color:#cfeeda;
}
.badge-colloquio-non-avvenuto {
  background:#f7f7f7;
  color:#555;
  border-color:#e6e6e6;
}
.badge-idoneo {
  background:#e8f2ff;
  color:#0a58ca;
  border-color:#d7e7ff;
}
.badge-non-idoneo {
  background:#fdecec;
  color:#b42318;
  border-color:#f9d2d0;
}

/* DETTAGLIO */
.cand-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  background:#fafafa;
  border:1px solid #eee;
  padding:12px;
  border-radius:8px;
  margin-bottom:12px;
}
.cand-form {
  display:grid;
  gap:12px;
}
.cand-form label {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cand-form select,
.cand-form textarea {
  border:1px solid #ddd;
  border-radius:6px;
  padding:8px;
}

/* NOTICE */
.cand-notice {
  padding:10px 12px;
  border-radius:8px;
  margin-bottom:10px;
  font-size:14px;
}
.cand-notice.success {
  background:#e7f6ec;
  color:#0a7a38;
  border:1px solid #cfeeda;
}

/* RESPONSIVE */
@media (max-width:640px){
  .cand-filters { grid-template-columns:1fr 1fr; }
  .cand-grid { grid-template-columns:1fr; }
}
