/* Boolean / tri-state status chips (GLANCE v2). Replaces glyphicon check/minus circles. */

.ec-bool-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 999px;
  vertical-align: middle;
  flex-shrink: 0;
  line-height: 1;
}

.ec-bool-status::before {
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
}

.ec-bool-status--yes {
  background: #dcfce7;
  color: #15803d;
}

.ec-bool-status--yes::before {
  content: '✓';
}

.ec-bool-status--no {
  background: #fee2e2;
  color: #b91c1c;
}

.ec-bool-status--no::before {
  content: '×';
  font-size: 0.72rem;
}

.ec-bool-status--empty {
  background: #f1f5f9;
  color: #94a3b8;
}

.ec-bool-status--empty::before {
  content: '—';
  font-size: 0.58rem;
  font-weight: 600;
}

.ec-bool-status--active {
  background: #ccfbf1;
  color: #0f766e;
}

.ec-bool-status--active::before {
  content: '✓';
}

.ec-bool-status--warning {
  background: #ffedd5;
  color: #c2410c;
}

.ec-bool-status--warning::before {
  content: '!';
  font-size: 0.68rem;
  font-weight: 800;
}

.ec-bool-status--info {
  background: #dbeafe;
  color: #1d4ed8;
}

.ec-bool-status--info::before {
  content: 'i';
  font-size: 0.62rem;
  font-weight: 800;
  font-style: italic;
}

.ec-bool-status--lg {
  width: 1.375rem;
  height: 1.375rem;
}

.ec-bool-status--lg::before {
  font-size: 0.72rem;
}

.ec-bool-status--xl {
  width: 1.75rem;
  height: 1.75rem;
}

.ec-bool-status--xl::before {
  font-size: 0.85rem;
}

/* ~2× default — admin list tables and other dense data grids */
.ec-bool-status--2xl {
  width: 2.25rem;
  height: 2.25rem;
}

.ec-bool-status--2xl::before {
  font-size: 0.85rem;
}

.ec-bool-status--2xl.ec-bool-status--no::before {
  font-size: 1rem;
}

.ec-bool-status--2xl.ec-bool-status--empty::before {
  font-size: 0.72rem;
}

table.model-list td .ec-bool-status:not(.ec-bool-status--lg):not(.ec-bool-status--xl):not(.ec-bool-status--2xl) {
  width: 1.375rem;
  height: 1.375rem;
}

table.model-list td .ec-bool-status:not(.ec-bool-status--lg):not(.ec-bool-status--xl):not(.ec-bool-status--2xl)::before {
  font-size: 0.85rem;
}

table.model-list td .ec-bool-status--no:not(.ec-bool-status--lg):not(.ec-bool-status--xl):not(.ec-bool-status--2xl)::before {
  font-size: 1rem;
}

table.model-list td .ec-bool-status--empty:not(.ec-bool-status--lg):not(.ec-bool-status--xl):not(.ec-bool-status--2xl)::before {
  font-size: 0.72rem;
}

/* Inline chip + label (e.g. status text beside indicator) */
.ec-bool-status-row {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

/* Legacy Font Awesome check / minus / plus circles → modern chips */
table td .fa.fa-check-circle,
table td .fa.fa-minus-circle,
table td .fa.fa-plus-circle,
table td .fa.fa-times-circle,
table td .fa.fa-check,
table td .fa.fa-ban,
.access-checkbox-column .fa.fa-check-circle,
.access-checkbox-column .fa.fa-minus-circle,
.access-checkbox-column .fa.fa-check,
.access-checkbox-column .fa.fa-ban,
td.text-center .fa.fa-check-circle,
td.text-center .fa.fa-minus-circle,
span.fa.fa-check-circle,
span.fa.fa-minus-circle,
.icon-minus-sign:not(.ec-bool-status),
.icon-ok-circle:not(.ec-bool-status),
.icon-plus-sign:not(.ec-bool-status) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 999px;
  vertical-align: middle;
  line-height: 1;
  font-size: 0 !important;
}

table.model-list td .fa.fa-check-circle,
table.model-list td .fa.fa-minus-circle,
table.model-list td .fa.fa-plus-circle,
table.model-list td .fa.fa-times-circle,
table.model-list td .fa.fa-check,
table.model-list td .fa.fa-ban {
  width: 1.375rem;
  height: 1.375rem;
}

table td .fa.fa-check-circle.fa-lg,
table td .fa.fa-minus-circle.fa-lg,
span.fa.fa-check-circle.fa-lg,
span.fa.fa-minus-circle.fa-lg,
.fa.fa-check-circle.fa-lg:only-child,
.fa.fa-minus-circle.fa-lg:only-child {
  width: 1.375rem;
  height: 1.375rem;
}

table td .fa.fa-check-circle.fa-2x,
table td .fa.fa-minus-circle.fa-2x,
table td .fa.fa-ban.fa-2x,
.fa.fa-check-circle.fa-2x:only-child,
.fa.fa-minus-circle.fa-2x:only-child,
.fa.fa-ban.fa-2x:only-child {
  width: 1.75rem;
  height: 1.75rem;
}

.icon-minus-sign .fa,
.icon-minus-sign .glyphicon,
.icon-ok-circle .fa,
.icon-ok-circle .glyphicon,
.icon-plus-sign .fa,
.icon-plus-sign .glyphicon {
  display: none;
}

.icon-minus-sign:not(.ec-bool-status) {
  background: #fee2e2;
  color: #b91c1c;
}

.icon-minus-sign:not(.ec-bool-status)::after {
  content: '×';
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  color: #b91c1c;
}

.icon-ok-circle:not(.ec-bool-status) {
  background: #dcfce7;
  color: #15803d;
}

.icon-ok-circle:not(.ec-bool-status)::after {
  content: '✓';
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
  color: #15803d;
}

.icon-plus-sign:not(.ec-bool-status) {
  background: #ccfbf1;
  color: #0f766e;
}

.icon-plus-sign:not(.ec-bool-status)::after {
  content: '✓';
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
  color: #0f766e;
}

table.model-list td .fa.fa-check-circle::before,
table.model-list td .fa.fa-check::before,
table.model-list td .fa.fa-plus-circle::before,
table.model-list td .fa.fa-times-circle::before,
table.model-list td .fa.fa-minus-circle::before,
table.model-list td .fa.fa-ban::before {
  font-size: 0.85rem !important;
}

table.model-list td .fa.fa-minus-circle::before,
table.model-list td .fa.fa-times-circle::before {
  font-size: 1rem !important;
}

table td .fa.fa-check-circle::before,
table td .fa.fa-check::before,
.access-checkbox-column .fa.fa-check-circle::before,
.access-checkbox-column .fa.fa-check::before,
td.text-center .fa.fa-check-circle::before,
span.fa.fa-check-circle::before,
.icon-ok-circle.fa::before {
  content: '✓' !important;
  font-family: inherit !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #15803d !important;
}

table td .fa.fa-minus-circle::before,
.access-checkbox-column .fa.fa-minus-circle::before,
td.text-center .fa.fa-minus-circle::before,
span.fa.fa-minus-circle::before,
.icon-minus-sign.fa::before {
  content: '×' !important;
  font-family: inherit !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #b91c1c !important;
}

table td .fa.fa-plus-circle::before,
.icon-plus-sign.fa::before {
  content: '✓' !important;
  font-family: inherit !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #0f766e !important;
}

table td .fa.fa-times-circle::before {
  content: '×' !important;
  font-family: inherit !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #b91c1c !important;
}

table td .fa.fa-ban::before,
table td .fa.fa-ban::before,
.access-checkbox-column .fa.fa-ban::before,
.fa.fa-ban.fa-2x::before {
  content: '!' !important;
  font-family: inherit !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #c2410c !important;
}

table td .fa.fa-check-circle,
table td .fa.fa-check,
.access-checkbox-column .fa.fa-check-circle,
.access-checkbox-column .fa.fa-check,
td.text-center .fa.fa-check-circle,
span.fa.fa-check-circle,
.icon-ok-circle:not(.ec-bool-status) {
  background: #dcfce7;
}

table td .fa.fa-minus-circle,
.access-checkbox-column .fa.fa-minus-circle,
td.text-center .fa.fa-minus-circle,
span.fa.fa-minus-circle,
.icon-minus-sign:not(.ec-bool-status) {
  background: #fee2e2;
}

table td .fa.fa-plus-circle,
.icon-plus-sign:not(.ec-bool-status) {
  background: #ccfbf1;
}

table td .fa.fa-times-circle {
  background: #fee2e2;
}

table td .fa.fa-ban,
.access-checkbox-column .fa.fa-ban,
.fa.fa-ban.fa-2x:only-child {
  background: #ffedd5;
}

table td .fa.fa-check,
.access-checkbox-column .fa.fa-check {
  width: 1.125rem;
  height: 1.125rem;
}

table td .fa.fa-ban,
.access-checkbox-column .fa.fa-ban {
  width: 1.125rem;
  height: 1.125rem;
}

table td .fa.fa-check-circle.fa-lg::before,
.fa.fa-check-circle.fa-lg:only-child::before {
  font-size: 0.72rem !important;
}

table td .fa.fa-check-circle.fa-2x::before,
table td .fa.fa-minus-circle.fa-2x::before,
.fa.fa-check-circle.fa-2x:only-child::before,
.fa.fa-minus-circle.fa-2x:only-child::before {
  font-size: 0.85rem !important;
}

table td .fa.fa-ban.fa-2x::before,
.fa.fa-ban.fa-2x:only-child::before {
  font-size: 0.8rem !important;
}

/* Success / validation messages with leading check icon */
p > .fa.fa-check-circle:first-child,
.validation-ok .fa.fa-check-circle {
  margin-right: 0.35rem;
}
