.cloud-config-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: end;
}

.cloud-actions { grid-column: 1 / -1; }
.submissions-list { display: grid; gap: 10px; }

.submission-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(300px, 2fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}

.submission-days, .submission-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.submission-days .day-mini { cursor: pointer; }
.submission-actions { justify-content: flex-end; }
.status-line { margin-top: 6px; color: var(--muted); font-size: .84rem; }
.status-error { color: var(--bad); }
.hours-section { display: grid; gap: 10px; }
.hour-limit-toggle { margin-top: 0; }
.hour-fields { transition: opacity .15s ease; }
.hour-fields:has(input:disabled) { opacity: .52; }
.hour-fields input:disabled, .worker-edit input:disabled { background: #e8ebe6; color: #778075; cursor: not-allowed; border-color: #d2d8cf; opacity: .7; }
[data-theme="dark"] .hour-fields input:disabled, [data-theme="dark"] .worker-edit input:disabled { background: #2a2f29; color: #7f897d; }
.submission-notes { grid-column: 1 / -1; }
.history-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.history-list { display: grid; gap: 10px; }
.history-row { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(210px, 1.5fr) auto; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.history-details { display: grid; gap: 4px; }
.history-editor { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .5fr) auto; gap: 12px; align-items: end; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.history-editor[hidden] { display: none; }
.availability-day, .worker-availability-day { display: grid; gap: 7px; align-content: start; }
.shift-availability { display: grid; gap: 4px; color: var(--muted); font-size: .78rem; }
.shift-availability select { margin-top: 0; }
.worker-availability-day .day-mini { width: 100%; }
.worker-edit .worker-days { align-items: start; }

@media (max-width: 860px) {
  .cloud-config-grid, .submission-row, .history-filters, .history-row, .history-editor { grid-template-columns: 1fr; }
  .submission-actions { justify-content: flex-start; }
}
