/* [TFH-201:TFH_TRANSPORT_RESERVATION_ENTRY:CSS-START] */
.tfh-transport-screen {
  width: 100vw;
  height: 100dvh;
  position: fixed;
  inset: 0;
  z-index: 44;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 0%, rgba(47,127,196,.14), transparent 30%),
    linear-gradient(135deg,#e9f0f6,#f8fafc 48%,#e9f1f7);
}

.tfh-transport-body {
  min-height: 0;
  overflow: auto;
  padding: 18px;
}

.tfh-transport-form {
  width: min(1460px,100%);
  margin: 0 auto;
  display: grid;
  gap: 16px;
}

.tfh-transport-clear-choice { min-width: 78px; }

.tfh-driver-hours-section {
  border-top: 4px solid var(--tfh-gold-500);
}

.tfh-add-schedule-button {
  min-height: 40px;
  padding: 8px 14px;
}

.tfh-driver-hours-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.tfh-driver-hours-legend span {
  padding: 5px 9px;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 800;
}

.tfh-driver-hours-legend .is-warning { background: #fff4bd; color: #765700; }
.tfh-driver-hours-legend .is-danger { background: #fee4e2; color: #a01812; }
.tfh-driver-hours-legend .is-success { background: #dff5e9; color: #11683f; }

.tfh-driver-grid-wrap {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--tfh-line);
  border-radius: 12px;
  background: #fff;
}

.tfh-driver-grid {
  width: 100%;
  min-width: 1390px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.tfh-driver-grid th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 7px;
  color: #fff;
  background: linear-gradient(180deg,#55728e,#263f58);
  font-size: .62rem;
  font-weight: 850;
  text-align: left;
  white-space: nowrap;
}

.tfh-driver-grid td {
  padding: 5px;
  border-right: 1px solid #e5eaf0;
  border-bottom: 1px solid #e5eaf0;
  vertical-align: middle;
  font-size: .68rem;
}

.tfh-driver-grid input[type="text"],
.tfh-driver-grid input[type="date"],
.tfh-driver-grid input[type="time"],
.tfh-driver-grid select {
  width: 100%;
  min-height: 36px;
  padding: 6px 7px;
  border: 1px solid #d5dee8;
  border-radius: 7px;
  background: #fff;
  font-size: .67rem;
}

.tfh-driver-grid input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.tfh-driver-grid th:nth-child(1),
.tfh-driver-grid td:nth-child(1) { width: 42px; text-align: center; }
.tfh-driver-grid th:nth-child(2),
.tfh-driver-grid td:nth-child(2) { width: 120px; }
.tfh-driver-grid th:nth-child(3),
.tfh-driver-grid td:nth-child(3) { width: 180px; }
.tfh-driver-grid th:nth-child(4),
.tfh-driver-grid td:nth-child(4) { width: 118px; }
.tfh-driver-grid th:nth-child(5),
.tfh-driver-grid td:nth-child(5) { width: 160px; }
.tfh-driver-grid th:nth-child(6),
.tfh-driver-grid td:nth-child(6),
.tfh-driver-grid th:nth-child(7),
.tfh-driver-grid td:nth-child(7),
.tfh-driver-grid th:nth-child(10),
.tfh-driver-grid td:nth-child(10),
.tfh-driver-grid th:nth-child(11),
.tfh-driver-grid td:nth-child(11) { width: 105px; }
.tfh-driver-grid th:nth-child(8),
.tfh-driver-grid td:nth-child(8),
.tfh-driver-grid th:nth-child(12),
.tfh-driver-grid td:nth-child(12) { width: 86px; text-align:center; font-weight:850; }
.tfh-driver-grid th:nth-child(9),
.tfh-driver-grid td:nth-child(9) { width: 64px; text-align:center; }
.tfh-driver-grid th:nth-child(13),
.tfh-driver-grid td:nth-child(13) { width: 52px; text-align:center; }

.tfh-driver-grid td.is-driver-missing,
.tfh-driver-grid td.is-hours-danger {
  background: #fff0ef;
  color: #a01812;
}
.tfh-driver-grid td.is-hours-warning {
  background: #fff7cf;
  color: #765700;
}
.tfh-driver-grid td.is-hours-success {
  background: #e6f7ee;
  color: #11683f;
}

.tfh-driver-remove-row {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: var(--tfh-danger);
  font-size: 1rem;
  cursor: pointer;
}

.tfh-driver-grid-empty {
  height: 90px;
  color: #758497;
  text-align: center;
}

.tfh-driver-grid-summary {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  padding-top: 10px;
  color: #526276;
  font-size: .72rem;
}

.tfh-driver-grid-summary span { margin-right: auto; }
.tfh-driver-grid-summary b { color: var(--tfh-navy-800); }
/* [TFH-201:TFH_TRANSPORT_RESERVATION_ENTRY:CSS-END] */
