.planning-calendar {min-width:0;max-width:100%}
.planning-toolbar,.planning-modes {display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:12px 0}
.planning-toolbar label {display:flex;flex-direction:column;gap:4px;max-width:100%}
.planning-calendar button,.planning-calendar input,.planning-calendar select,#planning-form input,#planning-form select,#planning-form button {min-height:48px}
.planning-modes button[aria-pressed="true"] {background:#177fa7;color:white;border-color:#177fa7}
.planning-table-scroll {overflow:auto;max-width:100%;border:1px solid #dce6eb;border-radius:10px;background:white}
.planning-table {border-collapse:separate;border-spacing:0;width:100%;min-width:850px}
.planning-table th,.planning-table td {vertical-align:top;padding:8px;border-bottom:1px solid #dce6eb;border-right:1px solid #dce6eb;min-width:145px;text-align:left}
.planning-table thead th {position:sticky;top:0;transform:translateY(var(--planning-header-offset,0px));background:#edf5f9;z-index:2}
.planning-table th:first-child {position:sticky;left:0;background:#edf5f9;min-width:125px;width:125px;z-index:1}
.planning-table thead th:first-child {z-index:3}
.planning-table td:nth-child(2) {min-width:205px}
.planning-table .planning-entry {width:100%;max-width:260px}
.planning-weekend {background:#f4f8fa}
.planning-entry {display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:normal;overflow-wrap:anywhere;text-align:left;background:#eef8fc;border:1px solid #dce6eb;border-left:4px solid #43b3dd;border-radius:6px;padding:8px;margin-bottom:8px;color:#1c2a33;width:100%}
.planning-entry small {font-size:12px;line-height:1.4}
.planning-days {display:grid;gap:8px}
.planning-month,.planning-week {grid-template-columns:repeat(7,minmax(0,1fr));overflow:auto}
.planning-day {min-width:0;background:white;border:1px solid #dce6eb;border-radius:8px;padding:8px}
.planning-day h2 {font-size:14px;margin:0 0 8px}
.planning-day h2 button {font-size:inherit;width:100%;padding:4px;white-space:normal}
.planning-outside {background:#f4f8fa}
.planning-absence {border-left:4px solid #177fa7;background:#eef3f7;padding:6px;font-size:13px;margin:6px 0;overflow-wrap:anywhere}
.planning-daily-row {display:block;padding:12px;border:1px solid #dce6eb;border-radius:10px;background:#f8fbfc;margin-bottom:12px}
.planning-day-controls {display:grid;grid-template-columns:minmax(160px,1fr) repeat(2,minmax(110px,140px));gap:12px;align-items:end}
.planning-day-controls label {display:flex;flex-direction:column;gap:4px;min-width:0}
.planning-day-controls .planning-day-check {flex-direction:row;align-items:center;gap:8px;min-height:48px}
#planning-form input[type=checkbox],#equipment-form input[type=checkbox] {width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px;accent-color:#177fa7}
.planning-day-controls input[type=time] {width:100%;min-width:0;box-sizing:border-box;font-variant-numeric:tabular-nums}
.planning-people {display:flex;flex-wrap:wrap;gap:8px}
.planning-people label {display:flex;flex-direction:row;align-items:center;gap:8px;min-height:48px;padding:6px 10px;background:#fff;border:1px solid #dce6eb;border-radius:8px;cursor:pointer}
.planning-people label:has(input:checked) {background:#eaf8fd;border-color:#177fa7}
.planning-day-people {border:0;padding:0;margin:12px 0 0}
.planning-day-people legend {font-size:14px;margin-bottom:6px}
.planning-day-people button {margin-top:8px;font-size:13px}
.planning-day-disabled .planning-day-people {opacity:.55}
#equipment-form label:has(input[type=checkbox]) {display:flex;flex-direction:row;align-items:center;gap:8px;min-height:48px}
.planning-equipment label {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.planning-equipment input {width:80px;margin-left:auto}
.planning-catalogue {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.planning-resources {overflow-wrap:anywhere}
#planning-form {min-width:0}#planning-form fieldset {min-width:0}#planning-form textarea {width:100%;box-sizing:border-box}
@media(max-width:800px){.planning-month,.planning-week {grid-template-columns:1fr 1fr}.planning-toolbar {align-items:stretch}}
@media(max-width:480px){.planning-month,.planning-week {grid-template-columns:1fr}.planning-day-controls {grid-template-columns:1fr 1fr}.planning-day-controls .planning-day-check {grid-column:1 / -1}.planning-table th:first-child {min-width:104px;width:104px}.planning-toolbar input {max-width:100%;box-sizing:border-box}.planning-catalogue {grid-template-columns:1fr}}

#planning-form select,#planning-form > label,#planning-form > label input {width:100%;min-width:0;max-width:100%;box-sizing:border-box}#planning-form .planning-toolbar {min-width:0}#planning-form .planning-toolbar label {min-width:0;flex:1 1 125px}#planning-form .planning-toolbar input {width:100%;min-width:0;box-sizing:border-box}

.planning-month {grid-template-columns:repeat(7,minmax(140px,1fr));max-width:100%}

.assignment-title,.assignment-summary {display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:left;line-height:1.4}
.assignment-title {font-size:inherit;margin:0 0 4px}
.assignment-summary {font-size:13px;color:#445864;margin:0 0 8px}
.planning-entry .assignment-summary {margin:0}
.assignment.assignment-plan {display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left}
.assignment.assignment-plan > span {white-space:normal;overflow-wrap:anywhere}
.capo-site-card header .assignment-title,.today-plan-copy .assignment-title {font-size:20px}
.capo-site-card header {margin-bottom:12px}
.today-plan-copy {display:block;min-width:0}

#equipment-form .planning-people label { display:flex; flex-direction:row; align-items:center; gap:10px; }
#equipment-form input[type=checkbox] { width:20px; height:20px; min-height:20px; flex:0 0 20px; padding:0; }

.planning-catalogue.equipment-catalogue {display:block;overflow-x:auto;max-width:100%;border:1px solid #dbe6ec;border-radius:8px;background:#fff}
.equipment-table {width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;margin:0}
.equipment-table th,.equipment-table td {padding:9px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid #e1eaf0;white-space:normal;overflow-wrap:anywhere}
.equipment-table thead th {background:#eaf4f8;font-size:13px;color:#456171}
.equipment-table th:first-child {width:46%}.equipment-table th:nth-child(2) {width:75px}.equipment-table th:last-child {width:115px}
.equipment-table .equipment-machine {background:#f4f9fc}.equipment-table .equipment-machine th {font-weight:650}
.equipment-table .equipment-stock {font-variant-numeric:tabular-nums;text-align:center}
.equipment-table .equipment-accessory th {padding-left:38px;font-weight:400}.equipment-table .equipment-accessory[hidden] {display:none}
.equipment-table small {display:block;color:#526975;font-size:12px;font-weight:400;margin-top:3px}
.equipment-table .equipment-expand {display:block;width:100%;min-height:36px;border:0;background:transparent;color:inherit;text-align:left;padding:2px 0;font-size:inherit;font-weight:inherit}
.equipment-table .equipment-expand small {display:inline;margin-left:8px}.equipment-table .equipment-name {padding-left:20px}
.equipment-table td button {min-height:36px;padding:6px 10px}.equipment-table button:focus-visible {outline:2px solid #0788b5;outline-offset:2px}
.equipment-table thead th:nth-child(2) {width:100px;white-space:nowrap}
.equipment-table thead th:last-child {width:145px}
.equipment-table tbody th {background:transparent;color:#203642;text-transform:none;letter-spacing:normal}
.equipment-table td button {white-space:nowrap;overflow-wrap:normal}

.planning-absence-vacation {border-color:#26754a;background:#edf8f0}
.planning-absence-sick {border-color:#b54848;background:#fff1f1}
.planning-absence-training {border-color:#7953ac;background:#f5efff}

.equipment-group-title,.equipment-table .equipment-category th {background:#e1eff5;color:#244f64;padding:10px 12px;font-size:15px;font-weight:700}
.equipment-picker-machine {position:relative;border-bottom:1px solid #dbe6ec;margin:6px 0}
.equipment-picker-machine summary {cursor:pointer;min-height:64px;padding:10px 100px 10px 8px;box-sizing:border-box;font-weight:650;overflow-wrap:anywhere}
.equipment-picker-machine summary small,.equipment-choice small {display:block;font-size:12px;font-weight:400;color:#526975;margin-top:4px}
.equipment-main-quantity {position:absolute;right:8px;top:8px}
.planning-equipment .equipment-choice {display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px;padding:8px;align-items:center}
.equipment-picker-accessories {padding-left:14px;background:#f3f8fb}
.planning-equipment input {box-sizing:border-box;min-height:48px}
@media(max-width:1000px){
 .equipment-table {min-width:0;table-layout:auto}
 .equipment-table thead {display:none}
 .equipment-table tbody,.equipment-table tr {display:block;width:100%}
 .equipment-table tr {box-sizing:border-box;padding:8px 10px;border-bottom:1px solid #dbe6ec}
 .equipment-table th,.equipment-table td,.equipment-table th:first-child,.equipment-table th:nth-child(2),.equipment-table th:last-child {display:block;width:auto;border:0;padding:4px 0;text-align:left}
 .equipment-table .equipment-stock::before {content:attr(data-stock-label) ': ';font-weight:500}
 .equipment-table .equipment-stock {text-align:left}
 .equipment-table .equipment-accessory {padding-left:28px}
 .equipment-table .equipment-accessory th {padding-left:0}
 .equipment-table .equipment-expand,.equipment-table td button {min-height:48px}
 .equipment-table .equipment-category {padding:0}
 .equipment-table .equipment-category th {padding:12px}
 .equipment-table .equipment-name {padding-left:0}
 .equipment-picker-accessories {padding-left:6px}
}

button.planning-absence {display:block;width:100%;text-align:left;white-space:normal;min-height:48px;border-top:0;border-right:0;border-bottom:0;border-radius:4px;cursor:pointer}
.absence-event-detail {min-width:0;overflow-wrap:anywhere}.absence-event-detail input,.absence-event-detail select {max-width:100%;box-sizing:border-box}.absence-event-detail input[type=file] {width:100%}.absence-event-files {padding-left:20px}.absence-event-files li {margin:12px 0}.absence-event-files button {margin-left:8px}.event-link {margin-top:24px}.event-link summary {min-height:48px;cursor:pointer}

.absence-event-files .event-file-preview {display:block;text-align:left;margin:0 0 6px;max-width:100%;overflow-wrap:anywhere;white-space:normal;min-height:48px}

/* Booked resources remain recognizable with collapsed accessories and on mobile. */
.planning-equipment .equipment-choice.equipment-booked,
.equipment-picker-machine.equipment-booked > details > summary {background:#e1f1fb;box-shadow:inset 4px 0 #177fa7;border-radius:8px}
.planning-equipment .equipment-booked-label {display:inline-block;margin:4px 0 4px 8px;padding:2px 7px;border-radius:6px;background:#177fa7;color:#fff;font-size:12px;font-weight:700;vertical-align:middle}
.planning-equipment .equipment-booked-label[hidden] {display:none}
.planning-equipment .equipment-booked > input,
.equipment-picker-machine.equipment-booked > .equipment-main-quantity > input {border-color:#177fa7;font-weight:700}

.equipment-category-form {display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.equipment-category-form label {flex:1;min-width:160px}.equipment-category-form input {width:100%}.equipment-category-form .error {flex-basis:100%;margin:0}.equipment-create-category input {width:100%}.equipment-create-category button {margin-top:10px}

.planning-equipment-panel{border:1px solid #dbe6ec;border-radius:10px;margin:0;min-width:0}.planning-equipment-panel>summary{padding:14px;cursor:pointer;font-weight:650;overflow-wrap:anywhere}.planning-equipment-panel>summary small{display:block;font-weight:400;color:#526975;margin:5px 0 0 18px}.planning-equipment-panel>.planning-equipment{border:0;margin:0;min-width:0}.planning-site-result{margin:0}.planning-site-result:empty{display:none}#planning-form [data-planning-site-search],#planning-site-select{width:100%;min-width:0;box-sizing:border-box}

.assignment-event-detail form{display:grid;gap:12px;margin:14px 0}.assignment-event-detail .assignment-link-choice{display:flex;align-items:center;gap:10px;margin:10px 0}.assignment-event-files li{margin:12px 0;overflow-wrap:anywhere}.assignment-event-files button{max-width:100%;white-space:normal;overflow-wrap:anywhere}

.planning-series-note {padding:12px;background:#edf5f9;border-left:4px solid #177fa7;border-radius:6px}
.assignment-series-dates {padding:0;list-style:none;display:grid;gap:8px}
.assignment-series-dates li {display:grid;gap:4px;padding:8px;border-bottom:1px solid #dce6eb}
.assignment-series-dates button {text-align:left;white-space:normal;min-height:44px}
.assignment-series-dates small {color:#72541a}
.planning-series-field {border:1px solid #dce6eb;border-radius:8px;padding:12px;margin:12px 0}
.planning-series-check {display:flex;flex-direction:row;align-items:center;gap:10px;min-height:48px;margin:0}
.planning-series-check input[type=checkbox],#assignment-series-form .planning-people input {width:20px;height:20px;min-height:20px;flex:0 0 20px}
.planning-series-field > fieldset {border:0;margin:8px 0 0;padding:0;min-width:0}
.planning-series-field > fieldset:disabled {opacity:.55}
#assignment-series-form textarea {width:100%;min-height:100px;box-sizing:border-box}
#assignment-series-form input {max-width:100%;box-sizing:border-box}

.assignment-series-info {white-space:pre-wrap;margin:4px 0;overflow-wrap:anywhere}
