.schedule-content { padding: 16px; }
.filter-toolbar button[hidden] { display: none; }
.schedule-toolbar { display: block; }
.schedule-filters { display: grid; grid-template-columns: minmax(210px,1fr) 150px 160px minmax(150px, 1fr) minmax(180px, 1.3fr); gap: 12px; }
.schedule-filter-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.schedule-table-wrap { overflow: auto; max-height: 72vh; }
.schedule-table { border-collapse: collapse; width: 100%; min-width: 1320px; font-size: 13px; }
.schedule-table th { background: #edf5ff; color: #163c6a; position: sticky; top: 0; z-index: 1; }
.schedule-table th, .schedule-table td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #e1e9f3; }
.schedule-table td:nth-child(4) { min-width: 190px; }
.schedule-table td:nth-child(7) { min-width: 220px; }
.schedule-status-select { min-width: 140px; width: 100%; padding: 7px 9px; border: 1px solid #87a8cd; border-radius: 7px; background: #ffffffdd; color: #163c6a; font: inherit; }
.schedule-status-select:disabled { color: #163c6a; opacity: .8; }
.schedule-products-table { min-width: 1200px; }
.schedule-products-table td:nth-child(7) { min-width: 105px; }
.schedule-products-table td:nth-child(5) { min-width: 170px; }
.schedule-table .schedule-status-shipped > td { background: #fff3b0; }
.schedule-table .schedule-status-ready > td { background: #dff4df; }
.schedule-table .schedule-status-working > td { background: #e1f0ff; }
.schedule-table .schedule-overdue > td:first-child { box-shadow: inset 3px 0 #c18316; }
.schedule-warning { color: #975000; font-size: 12px; margin-top: 7px; }
.schedule-workers-summary { margin: 8px 0 0; font-size: 12px; color: #375674; max-width: 220px; }
.schedule-dialog { width: min(860px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; border: 1px solid #b8cfea; border-radius: 18px; padding: 26px; box-shadow: 0 20px 80px #0f284c44; }
.schedule-dialog::backdrop { background: #12213d80; }
.schedule-replace-confirm { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid #efca82; border-radius: 8px; background: #fff8e9; }
.schedule-replace-confirm[hidden] { display: none; }
.schedule-replace-confirm input { flex: 0 0 auto; margin-top: 4px; }
.schedule-dialog h2 { margin: 0 0 10px; }
.schedule-preview { padding: 15px 0; }
.schedule-dialog .form-actions { position: sticky; bottom: -26px; background: white; padding: 16px 0; border-top: 1px solid #e0e8f4; }
@media (max-width: 1100px) { .schedule-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .schedule-dialog { padding: 16px; } .schedule-dialog .form-grid, .schedule-filters { grid-template-columns: 1fr; } .schedule-filter-actions > button { flex: 1 1 160px; } }
.schedule-completion { margin-top: 8px; max-width: 260px; white-space: normal; font-size: 12px; }
.schedule-completion summary { cursor: pointer; }
