.programme-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}.programme-toolbar h2,.programme-toolbar h3{margin:0;font-size:20px;color:#303538}.programme-toolbar h3{font-size:17px}.programme-month-controls{display:flex;align-items:center;gap:7px}.programme-month input{width:180px;font-weight:650}.programme-summary{display:flex;align-items:center;gap:20px;font-size:13px;margin-bottom:8px;color:#525b61}.programme-summary label{margin-left:auto;display:flex;align-items:center;gap:7px}.programme-summary input,.programme-weekends input{width:auto}.programme-required{font-weight:700;color:#9a3d00}.programme-notice{margin:0 0 14px;color:#687278;font-size:12px;min-height:18px}.programme-calendar-wrap{overflow:auto;border:1px solid #c9ced1;border-radius:7px;background:#fff}.programme-calendar{display:grid;grid-template-columns:repeat(var(--programme-columns),minmax(160px,1fr));min-width:800px;gap:1px;background:#d9dfe2}.programme-weekday{padding:10px 12px;background:#edf0f2;color:#343b40;font-weight:650;font-size:12px}.programme-day{background:#fff;min-height:96px;padding:9px;min-width:0}.programme-day.is-outside{background:#f5f6f7;color:#959da3}.programme-day.is-today{box-shadow:inset 0 3px #ef8b36}.programme-day>header{display:flex;gap:8px;align-items:center;margin:0 0 8px;font-size:13px;font-weight:700}.programme-day>header>span{font-size:10px;text-transform:uppercase;color:#8f420e}.programme-day-jobs{display:grid;gap:6px}.programme-entry{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;text-align:left;border:1px solid #d2d9dd;border-left:3px solid #9da7af;border-radius:4px;padding:6px;background:#f7f9fa;color:#31383d;cursor:pointer;min-width:0;line-height:1.3}.programme-entry strong{grid-column:1/-1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.programme-entry span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#58636b}.programme-entry small{font-size:10px;color:#667179}.programme-entry.needs-costings{background:#fff0de;border-color:#eeac63;border-left-color:#de7419}.programme-entry.needs-costings small{color:#923900;font-weight:700}.programme-entry.is-cancelled{background:#f4f4f4;border-left-color:#c4c7c9}.programme-entry.is-cancelled strong{color:#70777c}.programme-entry:hover{box-shadow:0 0 0 1px #8a959d}.programme-entry:focus-visible{outline:3px solid #7c461c;outline-offset:2px}.programme-job-panel{padding:18px}.programme-date-list{border-top:1px solid #d9dfe2}.programme-date-list>div{display:grid;grid-template-columns:160px 1fr 110px;gap:16px;padding:10px 0;border-bottom:1px solid #e6e9eb;font-size:13px}.programme-date-list small{color:#647078}#programmeDialog{max-width:900px;width:calc(100vw - 32px);border:1px solid #ccd2d6;border-radius:9px;padding:22px;color:#30383d;max-height:90vh;overflow:auto}#programmeDialog::backdrop{background:#18202966}.programme-add-dates{display:grid;grid-template-columns:150px 150px minmax(160px,1fr);gap:12px;background:#f4f6f7;padding:14px;border-radius:5px;margin-bottom:14px}.programme-add-dates label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.programme-add-dates .programme-weekends{flex-direction:row;align-items:center}.programme-add-dates .btn{justify-self:start;align-self:end}.programme-editor-table{max-height:45vh;overflow:auto;margin-bottom:16px}.programme-editor-table table{width:100%;border-collapse:collapse;font-size:12px}.programme-editor-table th{text-align:left;background:#f0f2f4;padding:8px}.programme-editor-table td{padding:5px;border-bottom:1px solid #e4e8ea}.programme-editor-table input,.programme-editor-table select,.programme-add-dates input{width:100%;box-sizing:border-box;min-height:35px}.programme-add-dates input[type=checkbox]{width:auto;min-height:0}#programmeSaveStatus{font-size:12px;max-width:560px}@media(max-width:700px){.programme-toolbar{align-items:flex-start}.programme-summary{gap:10px;flex-wrap:wrap}.programme-summary label{margin-left:0}.programme-add-dates{grid-template-columns:1fr 1fr}.programme-add-dates label:nth-child(3){grid-column:1/-1}.programme-date-list>div{grid-template-columns:120px 1fr 80px;gap:8px}.programme-month-controls{flex-wrap:wrap}}

.programme-editor-table [data-programme-remove]{font-size:12px;min-width:62px;color:#9d3d28;border-radius:5px}.programme-entry small{align-self:center}

.programme-add-job{display:block;width:100%;margin-top:8px;padding:6px 8px;border:1px dashed #edc5a7;border-radius:7px;background:#fffaf5;color:#944511;font-size:12px;text-align:left;cursor:pointer}.programme-add-job:hover{background:#fff0e2;border-color:#ea8a42}.programme-add-job:focus-visible{outline:3px solid #7c461c;outline-offset:2px}#programmeAddJobDialog{width:min(520px,calc(100vw - 32px));box-sizing:border-box;max-height:90vh;overflow:auto;border:1px solid #e1d8d0;border-radius:14px;padding:22px;color:#30383d}#programmeAddJobDialog::backdrop{background:#18202966}#programmeAddJobForm>label{display:grid;gap:6px;margin:16px 0;font-size:13px;font-weight:600}#programmeAddJobForm input,#programmeAddJobForm select{width:100%;min-height:40px;box-sizing:border-box}#programmeAddJobForm footer{margin-top:22px;margin-bottom:0}#programmeAddJobStatus{font-size:12px;flex:1;min-width:200px}


/* Calm week/day board. Detail stays inside a card. */
#programmeBoardView .planner-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 10px}
.planner-date-controls,.planner-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.planner-date input{width:142px;min-height:32px;font:inherit;font-size:12px}.planner-range{font-size:12px;color:#6f7580;margin-left:5px}.planner-view-switch{display:flex;padding:2px;border:1px solid #e6e6ea;border-radius:9px;gap:2px}.planner-view-switch .btn{border:0!important;background:transparent!important}.planner-view-switch .btn[aria-pressed=true]{background:#fff0e1!important;color:#a44b0d!important}.planner-subbar{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-size:12px;color:#6a717b}.planner-subbar>label{margin-left:auto;display:flex;align-items:center;gap:6px}.planner-subbar input{width:auto}.planner-tray-toggle{background:white;border:1px solid #e6e6ea;border-radius:8px;padding:5px 9px;color:#545c66;cursor:pointer}.planner-tray-toggle span{margin-left:5px;color:#a44b0d}.planner-workspace{display:flex;gap:12px;align-items:flex-start}.planner-tray{width:220px;flex:0 0 220px;border:1px dashed #e3c9b3;border-radius:12px;padding:10px;min-height:160px}.planner-tray h3{font-size:12px;margin:0 0 10px}.planner-tray p,.planner-hint{font-size:12px;color:#77808a}.planner-grid-wrap{flex:1;min-width:0;overflow:auto;border:1px solid #e4e5e9;border-radius:12px;max-height:calc(100vh - 245px);background:#fff}.planner-grid{display:grid;grid-template-columns:140px repeat(var(--planner-days),minmax(160px,1fr));min-width:calc(140px + var(--planner-days)*160px)}.planner-gang-head,.planner-day-head{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e7e8eb;padding:10px 12px;font-size:12px}.planner-gang-head{left:0;z-index:4}.planner-day-head{display:flex;justify-content:space-between;gap:6px;border-left:1px solid #eff0f2}.planner-day-head span{color:#77808a}.planner-day-head.is-today{box-shadow:inset 0 3px #ff8a24;background:#fffaf6}.planner-gang-label{position:sticky;left:0;z-index:2;background:#fff;border-bottom:1px solid #e7e8eb;padding:14px 12px;font-size:12px;overflow-wrap:anywhere}.planner-gang-label small{display:block;font-size:11px;color:#8a9099;font-weight:400;margin-top:5px}.planner-slot{min-height:135px;padding:8px;border-left:1px solid #eff0f2;border-bottom:1px solid #e7e8eb;background:#fff;min-width:0}.planner-slot.is-overbooked{background:#fffdf9}.planner-capacity{display:block;font-size:10px;color:#a85f17;margin:0 0 5px}.planner-add{display:block;margin:5px auto 0;border:0;border-radius:6px;background:transparent;color:#b18566;width:30px;height:24px;cursor:pointer}.planner-add:hover{background:#fff0e2}.planner-card{display:flex;flex-direction:column;gap:5px;width:100%;min-width:0;text-align:left;background:#fffaf6;border:1px solid #f0dfd1;border-radius:10px;padding:9px;margin:0 0 6px;color:#363d47;font:inherit;cursor:grab;box-shadow:0 1px 2px #29292905}.planner-card:hover{border-color:#efa166;box-shadow:0 0 0 2px #ff8a2415}.planner-card:focus-visible,.planner-add:focus-visible,.planner-tray-toggle:focus-visible{outline:2px solid #ed872e;outline-offset:2px}.planner-card-heading{display:flex;gap:5px;align-items:center;min-width:0;width:100%}.planner-card-heading strong{font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-card-heading small{font-size:10px;color:#b46021;white-space:nowrap}.planner-card-work{font-size:11px;line-height:1.45;color:#5d6570;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.planner-card-meta,.planner-card-state{font-size:10px;color:#818791;line-height:1.4}.planner-card-state{color:#a76828}.planner-warning{font-size:10px;border-radius:50%;width:15px;height:15px;line-height:15px;text-align:center;background:#ffe6c4;color:#a35c09;margin-left:auto;flex-shrink:0}.planner-card.is-muted{background:#f8f8f9;border-color:#e6e7e9;color:#7d8490}.planner-card.is-dragging{opacity:.45}.planner-slot.is-drop-target,.planner-tray.is-drop-target{background:#fff0e3;box-shadow:inset 0 0 0 2px #ff8a24}.planner-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #e8e1db;border-radius:16px;padding:22px;color:#303741;background:#fff}.planner-dialog::backdrop{background:#20242c66}.planner-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.planner-dialog h2{font-size:19px;margin:0}.planner-dialog h3{font-size:14px;margin:22px 0 10px}.planner-dialog header p{font-size:12px;color:#7c828c;margin:6px 0 0}.planner-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.planner-dialog label{display:grid;gap:5px;font-size:12px;color:#535c68}.planner-dialog input:not([type=checkbox]),.planner-dialog select,.planner-dialog textarea{width:100%;box-sizing:border-box;min-height:35px;border:1px solid #dfe1e6;border-radius:8px;padding:7px 9px;background:#fff;color:#303741;font:inherit;font-size:13px}.planner-dialog label small{font-size:10px;color:#8b9099}.planner-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner-form-grid .full{grid-column:1/-1}.planner-details{margin-top:15px;border-top:1px solid #ececef;padding-top:12px;font-size:12px}.planner-details summary{cursor:pointer;color:#48515b;font-weight:600;margin-bottom:10px}.planner-help{font-size:11px;line-height:1.5;color:#828893}.planner-work-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 24px 25px;align-items:center;gap:6px;margin:7px 0}.planner-work-row strong,.planner-work-row small{display:block;font-size:11px}.planner-work-row small{color:#858b94}.planner-work-row .btn{padding:3px!important;min-height:28px!important}.planner-work-picker{display:flex;gap:6px;margin-top:9px}.planner-work-picker select{min-width:0}.planner-plant-options{display:flex;gap:12px;flex-wrap:wrap}.planner-plant-options label,.planner-dialog .planner-check,.planner-resource-row label{display:flex;align-items:center;gap:6px}.planner-dialog input[type=checkbox]{width:auto}.planner-dialog footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid #ececef}.planner-dialog footer>[role=status]{flex-basis:100%;font-size:12px;color:#9b4f1d}.planner-dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.planner-resource-row{display:flex;align-items:center;gap:12px;margin:8px 0}.planner-resource-row>input{flex:1;min-width:0}.planner-resource-row label{font-size:11px;white-space:nowrap}.planner-dialog .btn{font-size:12px;min-height:32px;border-radius:8px;padding:6px 10px}
@media(max-width:750px){.planner-workspace{flex-direction:column}.planner-tray{width:100%;box-sizing:border-box;flex-basis:auto;min-height:80px}.planner-range{display:none}.planner-grid{grid-template-columns:110px repeat(var(--planner-days),minmax(155px,1fr));min-width:calc(110px + var(--planner-days)*155px)}.planner-form-grid{grid-template-columns:1fr}.planner-dialog{padding:16px}.planner-controls{width:100%}.planner-grid-wrap{width:100%;max-height:65vh}}

/* Monthly overview keeps gang assignments on compact cards. */
.planner-month-grid{display:grid;grid-template-columns:repeat(var(--planner-month-columns),minmax(145px,1fr));min-width:calc(var(--planner-month-columns)*145px)}
.planner-month-day{min-height:140px;min-width:0;padding:7px;border-left:1px solid #eff0f2;border-bottom:1px solid #e7e8eb;background:#fff}
.planner-month-day.is-outside{background:#fafafb}.planner-month-day.is-today{box-shadow:inset 0 3px #ff8a24}
.planner-month-day>header{display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:10px;color:#8a9099}
.planner-month-day .planner-add{margin:0 0 0 auto;width:24px;height:24px}.planner-open-day{background:transparent;border:0;border-radius:5px;color:#4c5663;font-size:12px;font-weight:650;padding:4px 5px;cursor:pointer}
.planner-open-day:hover,.planner-more:hover{background:#fff0e2;color:#a65315}.planner-open-day:focus-visible,.planner-more:focus-visible{outline:2px solid #ed872e;outline-offset:2px}
.planner-card-compact{padding:7px;gap:3px;margin-bottom:5px}.planner-card-compact .planner-card-heading strong{font-size:11px}.planner-card-compact .planner-card-work{-webkit-line-clamp:1;font-size:10px}.planner-card-compact .planner-card-meta{color:#8d5a32;font-size:10px}.planner-card-compact .planner-card-state{display:none}
.planner-more{background:transparent;border:0;border-radius:5px;color:#a4602a;font-size:10px;padding:5px;cursor:pointer;text-align:left}
.planner-month-day.is-drop-target{background:#fff0e3;box-shadow:inset 0 0 0 2px #ff8a24}
