/* ── Loom entry form styles ── */

body { font-size: 13px; }

.entry-header {
  display: flex; gap: 10px; flex-wrap: wrap;
  align-items: flex-end; padding: 10px 0 14px;
  border-bottom: 2px solid #dee2e6; margin-bottom: 10px;
}
.entry-header .fg { margin: 0; flex: 1; min-width: 120px; }
.entry-header label {
  font-weight: 600; font-size: 11px; text-transform: uppercase;
  color: #6c757d; display: block; margin-bottom: 2px;
}

.entry-table { width: 100%; border-collapse: collapse; }
.entry-table th {
  background: #212529; color: #fff; font-size: 10px;
  text-transform: uppercase; padding: 5px 3px;
  text-align: center; position: sticky; top: 0; z-index: 10;
  white-space: nowrap;
}
.entry-table td { padding: 2px 2px; vertical-align: middle; border-bottom: 1px solid #f0f0f0; }
.entry-table tr:hover td { background: #f8f9fa; }
.entry-table tr.active-row td {
  background: #fff3cd !important;
  border-top: 2px solid #ffc107;
  border-bottom: 2px solid #ffc107;
}

.col-no    { width: 24px; text-align: center; font-weight: 700; color: #6c757d; font-size: 11px; }
.col-emp   { width: 80px; }
.col-name  { min-width: 90px; }
.col-mesh  { width: 72px; }
.col-num   { width: 60px; }
.col-cause { width: 72px; }
.col-mts   { width: 80px; }
.col-mic   { width: 30px; text-align: center; }

.entry-table input[type=text],
.entry-table input[type=number],
.entry-table select {
  width: 100%; border: 1px solid #dee2e6; border-radius: 3px;
  padding: 3px 4px; font-size: 12px; background: #fff;
}
.entry-table input:focus,
.entry-table select:focus { border-color: #0d6efd; outline: none; }
.entry-table input.filled,
.entry-table select.filled { background: #f0fff4; border-color: #28a745; }

/* Active field highlight during session */
.entry-table input.field-active,
.entry-table select.field-active {
  border: 2px solid #0d6efd !important;
  background: #e7f1ff !important;
  box-shadow: 0 0 0 3px rgba(13,110,253,.2);
  outline: none;
}

.btn-mic {
  background: none; border: 1px solid #adb5bd; border-radius: 50%;
  width: 26px; height: 26px; cursor: pointer; font-size: 12px;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn-mic.active { background: #dc3545; border-color: #dc3545; color: #fff; animation: pulse 1s infinite; }
.btn-mic.done   { background: #198754; border-color: #198754; color: #fff; }

@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(220,53,69,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(220,53,69,0); }
}

.entry-footer {
  position: sticky; bottom: 0; background: #fff;
  border-top: 2px solid #dee2e6; padding: 8px 0;
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  z-index: 20;
}
.total-display { font-weight: 700; font-size: 14px; color: #0d6efd; margin-left: auto; }

#fieldPrompt {
  font-size: 12px; font-weight: 600; color: #0d6efd;
  padding: 3px 10px; background: #e7f1ff; border-radius: 10px;
  border: 1px solid #b6d4fe;
}

#transcribeStatus {
  display: none; font-size: 11px; color: #6c757d;
  padding: 3px 7px; background: #f8f9fa; border-radius: 4px;
}
#transcribeStatus.show { display: inline-block; }

/* Session mode pulsing dot */
.session-dot {
  display: inline-block; width: 8px; height: 8px;
  background: #fff; border-radius: 50%;
  margin-right: 4px; vertical-align: middle;
  animation: pulse 1s infinite;
}
