.case-claim-banner{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  margin-bottom:10px;
  border-radius:12px;
  font-size:.68rem;
  font-weight:750;
  line-height:1.35
}
.case-claim-banner.is-free{
  background:rgba(64,166,111,.1);
  color:#3e9d69
}
.case-claim-banner.is-mine{
  background:rgba(13,127,118,.1);
  color:var(--primary-dark)
}
.case-claim-banner.is-taken{
  background:rgba(214,79,115,.1);
  color:#b93a4d
}

.case-claim-supervision{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  margin:-4px 0 10px;
  border-radius:10px;
  background:rgba(198,82,67,.09);
  color:#c65243;
  font-size:.62rem;
  font-weight:800
}
.case-claim-supervision.is-master-view{
  background:rgba(13,127,118,.08);
  color:var(--primary-dark)
}
.case-claim-eye{
  display:inline-block;
  animation:case-claim-pulse 1.6s ease-in-out infinite
}

@keyframes case-claim-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(1.15)}
}

.case-supervision-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:10px
}
.case-supervision-actions .case-claim-release-button{
  margin-top:0;
  width:100%
}
.case-supervision-actions .case-claim-release-button.danger{
  border-color:rgba(198,82,67,.35);
  color:#c65243
}

.case-reassign-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  max-height:50vh;
  overflow-y:auto;
  margin-top:12px
}
.case-reassign-candidate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fbfcfc;
  color:var(--text);
  text-align:left;
  cursor:pointer
}
.case-reassign-candidate strong{
  display:block;
  font-size:.68rem
}
.case-reassign-candidate small{
  color:var(--muted);
  font-size:.58rem
}
.case-reassign-candidate .case-reassign-status{
  flex-shrink:0;
  font-size:.56rem;
  font-weight:800;
  color:#3e9d69
}
.case-reassign-candidate.is-disabled{
  opacity:.55;
  cursor:not-allowed
}
.case-reassign-candidate.is-disabled .case-reassign-status{
  color:#c65243
}
.case-reassign-empty{
  padding:16px;
  text-align:center;
  color:var(--muted);
  font-size:.64rem
}

.case-system-event{
  display:flex;
  justify-content:center;
  margin:10px 0
}
.case-system-event span{
  max-width:88%;
  padding:6px 12px;
  border-radius:999px;
  background:var(--surface-2,#eef2f1);
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
  text-align:center;
  line-height:1.4
}

select.ssv-app-dialog-textarea{
  min-height:auto;
  height:38px;
  resize:none
}

html[data-theme="dark"] .case-reassign-candidate{
  background:#111b19;
  border-color:#2a3c39
}
html[data-theme="dark"] .case-system-event span{
  background:#17211f
}

.case-claim-take-button{
  width:100%;
  min-height:44px;
  margin-bottom:10px;
  border:0;
  border-radius:13px;
  background:var(--primary);
  color:#fff;
  font-size:.72rem;
  font-weight:850;
  cursor:pointer
}
.case-claim-take-button:disabled{
  opacity:.6;
  cursor:not-allowed
}

.case-claim-release-button{
  margin-top:6px;
  border:1px solid var(--border);
  border-radius:11px;
  background:transparent;
  color:var(--muted);
  min-height:36px;
  padding:0 12px;
  font-size:.62rem;
  font-weight:800;
  cursor:pointer
}

/* ==========================================================
   Disponibilidad
   ========================================================== */

.availability-summary-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
  gap:8px;
  margin:10px 0 14px
}
.availability-summary-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:12px 8px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fbfcfc;
  color:var(--text);
  cursor:default
}
.availability-summary-card strong{
  font-size:1.1rem;
  font-weight:900;
  color:var(--primary)
}
.availability-summary-card small{
  color:var(--muted);
  font-size:.54rem;
  font-weight:700;
  text-align:center
}
.availability-summary-card.is-priority strong{
  color:#c65243
}
button.availability-summary-card.is-stale{
  cursor:pointer;
  font:inherit
}
button.availability-summary-card.is-stale strong{
  color:#c65243
}

html[data-theme="dark"] .availability-summary-card{
  background:#111b19;
  border-color:#2a3c39
}

.availability-grid{
  display:grid;
  gap:8px;
  padding:2px
}

.availability-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:58px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fbfcfc;
  color:var(--text);
  text-align:left;
  cursor:pointer
}
.availability-card strong{
  display:block;
  font-size:.72rem
}
.availability-card small{
  color:var(--muted);
  font-size:.56rem
}
.availability-card .availability-count{
  font-size:1rem;
  font-weight:900;
  color:var(--primary)
}
.availability-card.is-empty .availability-count{
  color:var(--muted)
}
.availability-card.is-full{
  opacity:.7
}
.availability-card.is-full small{
  color:#c65243
}

html[data-theme="dark"] .availability-card{
  background:#111b19;
  border-color:#2a3c39
}
