.shift-intro { margin: 0 0 20px; color: #475569; line-height: 1.8; }
.shift-week { max-width: 300px; margin-bottom: 20px; }
.shift-row { min-width: 0; padding: 16px 0; margin: 0; border: 0; border-top: 1px solid #e2e8f0; }
.shift-row legend { padding-right: 12px; color: #334155; font-size: 14px; font-weight: 700; }
.shift-fields { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 12px; }
.shift-fields label, .shift-week { display: grid; gap: 7px; font-size: 13px; }
.shift-fields input, .shift-fields select, .shift-week input { width: 100%; min-width: 0; min-height: 44px; padding: 9px; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: #172b4d; font: inherit; }
.shift-row-actions, .shift-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 14px; }
.shift-next { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.shift-next input { width: 18px; height: 18px; }
.shift-secondary { min-height: 44px; padding: 9px 14px; color: #334155; background: #fff; border: 1px solid #cbd5e1; border-radius: 4px; font: inherit; cursor: pointer; }
.shift-secondary:disabled { opacity: .5; cursor: not-allowed; }
.shift-actions .primary-btn { margin: 0; width: auto; }
.shift-table-wrap { overflow-x: auto; }
.shift-table-wrap table { width: 100%; border-collapse: collapse; font-size: 14px; white-space: nowrap; }
.shift-table-wrap caption { padding: 14px 0; text-align: left; white-space: normal; }
.shift-table-wrap th, .shift-table-wrap td { border-bottom: 1px solid #dbe3ec; padding: 10px 8px; text-align: left; }
#shift-status { font-size: 13px; color: #475569; line-height: 1.7; }
@media (max-width: 600px) { .shift-fields { grid-template-columns: 1fr 1fr; } .shift-actions > button { flex: 1 1 auto; } .shift-table-wrap table { font-size: 12px; } }
