.entry-page {
  min-width: 0;
}

.expense-entry-form {
  width: min(70%, 820px);
  display: grid;
  gap: 10px;
  margin-bottom: 8px;
}

.expense-entry-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}

.expense-entry-main label {
  display: grid;
  gap: 4px;
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}

.expense-entry-main .form-control,
.expense-entry-main .form-select {
  min-height: 42px;
  height: 42px;
  padding-top: 7px;
  padding-bottom: 7px;
  border-radius: var(--radius-sm, 12px);
}

.expense-entry-main textarea.form-control {
  height: auto;
  min-height: 78px;
  resize: vertical;
  line-height: 1.35;
}

.expense-entry-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.entry-filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  margin: 18px 0 10px;
}

.entry-filter-bar label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}

.entry-filter-bar label > span {
  display: inline-block;
  line-height: 1.25;
}

.staff-date-limited > span {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}

.staff-date-lock {
  color: var(--accent-color, #2563eb);
  cursor: help;
  font-size: 11px;
  opacity: .85;
}

.staff-date-limited input[type="date"] {
  cursor: help;
  color-scheme: light !important;
}

.staff-date-range-hint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: -2px;
  color: var(--text-subtle, #64748b);
  font-size: 10px;
  font-weight: 600;
}

.staff-date-range-hint i {
  color: var(--accent-color, #2563eb);
}

.entry-filter-bar .form-control,
.entry-filter-bar .form-select {
  min-height: 42px;
  height: 42px;
  border-radius: var(--radius-sm, 12px);
}

.entry-filter-bar .icon-text-btn {
  min-height: 42px;
}

.entry-grid-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: var(--text-subtle, #64748b);
  font-size: 11px;
  font-weight: 600;
}

.entry-grid-note i {
  color: var(--accent-color, #2563eb);
}

.entry-page .zr-grid {
  gap: 8px;
}

.entry-page .zr-grid-toolbar {
  align-items: center;
}

.entry-page .zr-grid-table th,
.entry-page .zr-grid-table td {
  padding-top: 8px;
  padding-bottom: 8px;
}

@media (max-width: 1180px) {
  .expense-entry-form {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .expense-entry-main {
    grid-template-columns: 1fr;
  }

  .expense-entry-actions {
    justify-content: stretch;
  }

  .expense-entry-actions button {
    flex: 1 1 auto;
  }

  .entry-filter-bar {
    grid-template-columns: 1fr;
  }
}
