.schedule-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.schedule-tools label{width:auto;min-width:90px;flex:0 1 180px}.schedule-tools form{margin:0}.schedule-scroll{overflow:auto;margin:20px 0;border:1px solid #dce4e9;border-radius:12px;background:white}.schedule-grid{border-collapse:collapse;min-width:100%;width:max-content}.schedule-grid th,.schedule-grid td{border:1px solid #e5eaee;padding:0;min-width:104px;vertical-align:top}.schedule-grid thead th{text-align:center;padding:10px 8px;background:#f4f7f8}.schedule-grid th:first-child{position:sticky;left:0;z-index:2;background:#f8fafb;min-width:140px;max-width:180px;padding:12px;white-space:normal}.schedule-grid thead th:first-child{z-index:3}.schedule-day{position:relative;height:180px;min-width:104px}.schedule-busy{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#edf0f2,#edf0f2 6px,#e4e8eb 6px,#e4e8eb 7px);color:#7b8791;text-align:center;overflow:hidden}.schedule-block{position:absolute;left:4px;right:4px;border-radius:6px;padding:5px 3px;background:#d9efe7;color:#164d3e;overflow:hidden;text-decoration:none;font-size:12px;line-height:1.35;border:1px solid #9dcdbc}.schedule-block strong,.schedule-block span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-block.unfilled{background:#fff0d6;color:#80510a;border-color:#e4c28b}.my-calendar{max-width:520px}.my-calendar-head,.my-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;text-align:center}.my-calendar-head{margin-bottom:12px;color:#667582;font-size:12px}.my-calendar-date{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;color:#243746;text-decoration:none;font-weight:600;border:2px solid transparent}.my-calendar-date.full{background:#acdacc}.my-calendar-date.early{background:linear-gradient(90deg,#acdacc 50%,#f4f7f8 50%)}.my-calendar-date.late{background:linear-gradient(90deg,#f4f7f8 50%,#acdacc 50%)}.my-calendar-date.selected{border-color:#227962}.schedule-tools .btn{white-space:normal}@media(max-width:540px){.schedule-tools{gap:8px}.schedule-grid th:first-child{min-width:110px}.my-calendar-days{grid-gap:3px}.my-calendar-date{min-height:36px;border-radius:10px}.my-calendar{padding:14px}}

@media(max-width:650px){.top nav{display:none}.top .who{margin-left:auto}}

.point-form-grid>section{min-width:0}.point-list{min-width:0}.point-check{display:flex;align-items:center;gap:8px;margin:14px 0}.point-check input{width:auto;flex:0 0 auto}

main.schedule-main{max-width:1600px;width:100%}

.notice-critical{border-left:5px solid #b04432;background:#fff7f1}.notice-critical summary{color:#8c3426}

/* Месяц: компактные строки сотрудников. Неделя сохраняет подробную шкалу времени. */
.schedule-month .schedule-day{height:72px}.schedule-month .schedule-block{padding:2px 3px;line-height:1.2}

/* Перенос не меняет геометрию таблицы; подтверждение открывается отдельно. */
.schedule-block[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.schedule-block.schedule-dragging{opacity:.45}.schedule-grid td.schedule-drop-target{outline:3px solid #227962;outline-offset:-3px;background:#edf7f1}.schedule-drag-ghost{position:fixed;z-index:1010;pointer-events:none;opacity:.9;width:110px;height:55px;left:0;top:0;box-shadow:0 4px 12px #0003}.schedule-move-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:rgba(20,35,28,.4);display:flex;align-items:center;justify-content:center;padding:16px}.schedule-move-backdrop[hidden]{display:none}.schedule-move-dialog{background:white;border-radius:12px;padding:24px;max-width:540px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 8px 40px #0003}.schedule-move-dialog h2{margin-top:0}.schedule-move-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.schedule-move-dialog [data-move-status]{white-space:pre-line}.schedule-move-dialog [data-move-warning][hidden]{display:none}.schedule-drag-active{cursor:grabbing}

/* Палитра и быстрая отмена используют ту же компактную сетку. */
.schedule-week .schedule-day{height:72px}.schedule-week .schedule-block{padding:2px 3px;line-height:1.2}.schedule-slot{position:absolute;left:0;right:0}.schedule-cancel{position:absolute;right:5px;bottom:1px;z-index:1;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:#f4f7f5;color:#6b4b45;line-height:22px;font-size:19px;cursor:pointer}.schedule-cancel:hover,.schedule-cancel:focus{background:#fbe8e5;color:#932b24}.schedule-palette{margin:16px 0}.schedule-palette p{margin:6px 0}.schedule-type-list{display:flex;flex-wrap:wrap;gap:8px}.schedule-template{padding:7px 10px;text-align:left;border:1px solid #c2d7cc;border-radius:7px;background:#f0f6f2;color:#164d3e;cursor:grab;font:inherit;max-width:250px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.schedule-template strong,.schedule-template span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-template span{font-size:12px}.schedule-template[aria-pressed=true]{outline:2px solid #227962}.schedule-template.schedule-dragging{opacity:.5}.schedule-move-dialog [data-move-after-row][hidden]{display:none}
