/* Shared status primitives: dots keep tiny business-state meaning; icon badges stay neutral in content areas. */
.rs-status-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: var(--rst-ui-radius-round);
  background: var(--rst-ui-muted);
  box-shadow: none;
}

.rs-status-dot.is-success,
.rs-status-dot.is-active { background: var(--rst-state-success); }
.rs-status-dot.is-warning { background: var(--rst-state-warning); }
.rs-status-dot.is-danger { background: var(--rst-state-danger); }
.rs-status-dot.is-neutral { background: var(--rst-ui-muted); }
.rs-status-dot.is-inactive { background: var(--rst-ui-muted); }

.rs-status-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--rst-ui-divider);
  border-radius: var(--rst-ui-radius-pill);
  background: transparent;
  color: var(--rst-ui-muted);
  line-height: 1;
  vertical-align: middle;
}

.rs-status-icon svg {
  width: 13px;
  height: 13px;
}

.rs-status-icon.is-success { border-color: var(--rst-state-success-border); background: var(--rst-state-success-bg); color: var(--rst-state-success-text); }
.rs-status-icon.is-warning { border-color: var(--rst-state-warning-border); background: var(--rst-state-warning-bg); color: var(--rst-state-warning-text); }
.rs-status-icon.is-danger { border-color: var(--rst-state-danger-border); background: var(--rst-state-danger-bg); color: var(--rst-state-danger-text); }
.rs-status-icon.is-info { border-color: var(--rst-state-info-border); background: var(--rst-state-info-bg); color: var(--rst-state-info-text); }
.rs-status-icon:is(.is-muted,.is-neutral) { border-color: var(--rst-state-neutral-border); background: var(--rst-state-neutral-bg); color: var(--rst-state-neutral-text); }

.rs-status-icon.is-inline {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}

.rs-status-icon.is-inline svg {
  width: 11px;
  height: 11px;
}

.rs-inline-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.rs-icon-badge {
  width: var(--rs-icon-badge-size,34px);
  height: var(--rs-icon-badge-size,34px);
  flex: 0 0 var(--rs-icon-badge-size,34px);
  display: grid;
  place-items: center;
  border: 1px solid var(--rs-icon-badge-border,var(--rst-state-neutral-border));
  border-radius: var(--rs-icon-badge-radius,var(--rst-ui-radius-md));
  background: var(--rs-icon-badge-bg,var(--rst-state-neutral-bg));
  color: var(--rs-icon-badge-color,var(--rst-state-neutral-text));
}

.rs-icon-badge svg,
.rs-icon-badge .btn-svg {
  width: var(--rs-icon-badge-glyph,17px);
  height: var(--rs-icon-badge-glyph,17px);
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rs-icon-badge svg :is(path,circle,rect,line,polyline,polygon),
.rs-icon-badge .btn-svg :is(path,circle,rect,line,polyline,polygon) {
  fill: none;
  stroke: currentColor;
}

.rs-icon-badge.is-success {
  --rs-icon-badge-border: var(--rst-state-success-border);
  --rs-icon-badge-bg: var(--rst-state-success-bg);
  --rs-icon-badge-color: var(--rst-state-success-text);
}

.rs-icon-badge.is-warning {
  --rs-icon-badge-border: var(--rst-state-warning-border);
  --rs-icon-badge-bg: var(--rst-state-warning-bg);
  --rs-icon-badge-color: var(--rst-state-warning-text);
}

.rs-icon-badge.is-danger {
  --rs-icon-badge-border: var(--rst-state-danger-border);
  --rs-icon-badge-bg: var(--rst-state-danger-bg);
  --rs-icon-badge-color: var(--rst-state-danger-text);
}

.rs-icon-badge.is-absence {
  --rs-icon-badge-border: var(--rst-state-absence-border);
  --rs-icon-badge-bg: var(--rst-state-absence-bg);
  --rs-icon-badge-color: var(--rst-state-absence-text);
}

.rs-icon-badge.is-neutral {
  --rs-icon-badge-border: var(--rst-state-neutral-border);
  --rs-icon-badge-bg: var(--rst-state-neutral-bg);
  --rs-icon-badge-color: var(--rst-state-neutral-text);
}

.rs-icon-badge.is-info {
  --rs-icon-badge-border: var(--rst-state-info-border);
  --rs-icon-badge-bg: var(--rst-state-info-bg);
  --rs-icon-badge-color: var(--rst-state-info-text);
}

.rs-picklist-check svg {
  width: 14px;
  height: 14px;
}
