.glos-mic,
.glos-live {
  flex: 0 0 auto;
  border-radius: 12px;
  border: 1px solid #334155;
  background: #fff;
  color: #1e2937;
  cursor: pointer;
  font-size: 0.85rem;
  line-height: 1;
}
.glos-mic {
  width: 40px;
  height: 40px;
  font-size: 1.05rem;
}
.glos-live {
  height: 40px;
  padding: 0 10px;
  font-weight: 600;
}
.glos-mic.jest-aktywny {
  background: #6d28d9;
  color: #f8fafc;
  border-color: #5b21b6;
}
.glos-live.jest-wlaczony {
  background: #14532d;
  color: #f0fdf4;
  border-color: #14532d;
}
.glos-live.jest-slucham {
  background: #6d28d9;
  color: #f8fafc;
  border-color: #5b21b6;
}
.gwc-form {
  flex-wrap: wrap;
}
.glos-mic:disabled,
.glos-live:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.glos-status {
  flex: 1 0 100%;
  min-height: 1.2em;
  font-size: 0.75rem;
  font-weight: 600;
  color: #1e2937;
}
/* Pusty pasek nie zajmuje wiersza. Tekst statusu i tak schodzi pod kompozytor. */
.glos-status:empty {
  display: none;
}
/* Czat (form.d-flex) nie zawijał wiersza. Pasek statusu ma flex-basis 100%
   i flex-shrink 0, więc zjadał całą szerokość, a pole i podpowiedź
   kurczyły się do jednego słowa. */
form.d-flex:has(> .glos-status) {
  flex-wrap: wrap;
}
form.d-flex:has(> .glos-status) > .flex-grow-1,
form.d-flex:has(> .glos-status) > .form-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}
form.d-flex:has(> .glos-status) > .flex-grow-1 > .d-flex {
  min-width: 0;
}
form.d-flex:has(> .glos-status) > .flex-grow-1 > .d-flex > small {
  flex: 1 1 auto;
  min-width: 0;
}
.glos-mic,
.glos-live,
.glos-czulosc,
.glos-odpowiedz {
  touch-action: manipulation;
}
/* Czułość mikrofonu w rozmowie na żywo — jasny przycisk, ciemny tekst */
.glos-czulosc {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid #94a3b8;
  background: #f8fafc;
  color: #1e2937;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}
.glos-odpowiedz {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid #14532d;
  background: #f0fdf4;
  color: #14532d;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}
.glos-czulosc[data-poziom="niska"] { border-color: #14532d; }
.glos-czulosc[data-poziom="wysoka"] { border-color: #b45309; }
.gwc-ocena {
  display: flex;
  gap: 4px;
  margin-top: 4px;
}
.gwc-ocena button {
  border: 1px solid #334155;
  background: #fff;
  color: #1e2937;
  border-radius: 8px;
  padding: 2px 8px;
  cursor: pointer;
  font-size: 0.85rem;
}
.gwc-ocena button.jest-wybrane {
  background: #1e2937;
  color: #f8fafc;
}
form.d-flex .glos-mic,
form.d-flex .glos-live {
  align-self: flex-end;
}
