:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#243346;background:#f3f5f8;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #dce3eb;border-radius:7px;background:white;color:#41536a;padding:7px 10px;font-weight:550}button:hover{background:#edf4f5;border-color:#9dbbbb}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #4f999d;outline-offset:3px}button.active{background:#244e55;color:white;border-color:#244e55}a{color:inherit}.app-header{height:68px;background:#19343d;color:#edf6f4;display:flex;align-items:center;gap:28px;padding:0 30px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px;text-decoration:none}.brand span{display:block;font-size:8px;letter-spacing:2.2px;font-weight:500;margin-top:2px}.prototype{font-size:9px;letter-spacing:1.8px;opacity:.7}.old-app{margin-left:auto;font-size:11px;text-decoration:none}main{padding:25px 30px 14px;max-width:1920px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#708589}h1{font-size:24px;letter-spacing:-.7px;margin:6px 0 0;font-weight:650}.local-note{font-size:10px;color:#788592;white-space:nowrap}.controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.navigation{display:flex;align-items:center;gap:5px;margin-right:auto}.navigation b{margin-left:9px;font-size:12px}.segments{display:flex;gap:3px;background:#e5eaf0;padding:3px;border-radius:9px}.segments button{border-color:transparent;background:transparent}.segments button.active{background:#244e55}.controls label,.overview label,.dock-actions label,.pool-filters label{font-size:10px;color:#718092;display:flex;align-items:center;gap:7px}select{background:white;color:#35485e;border:1px solid #dce3eb;border-radius:6px;padding:7px}.overview{display:flex;align-items:center;gap:22px;padding:16px 0 14px;color:#66758a;font-size:11px}.overview b{font-size:16px;color:#33475b;margin-right:4px}.scope{font-size:10px;color:#8b96a4}.overview label{margin-left:auto}.calendar{display:grid;grid-template-columns:repeat(var(--days),minmax(145px,1fr));gap:12px;min-height:275px;max-height:54vh;overflow:auto;padding:0 2px 10px}.day-column{background:#eaf0f3;border:1px solid #e1e8ed;border-radius:11px;min-width:0}.selected-day{background:#e6eeee;border-color:#91b1b2}.day-heading{width:100%;border:0;background:transparent;display:grid;grid-template-columns:1fr auto;text-align:left;padding:13px 13px 11px;border-radius:10px 10px 0 0}.day-heading span{font-size:11px;font-weight:650}.day-heading strong{font-size:11px}.day-heading small{grid-column:1/-1;margin-top:6px;color:#7c8999;font-size:10px;font-weight:400}.selected-day .day-heading small{color:#356e72}.day-events{padding:0 8px 8px;display:grid;gap:10px}.event-card{background:white;border-radius:8px;border:1px solid #e2e6ee;border-left:3px solid var(--package);padding:12px;box-shadow:0 2px 4px #23334204;min-width:0}.event-card.selected{outline:2px solid #568b90;outline-offset:1px}.event-meta{display:flex;justify-content:space-between;gap:5px;color:#718197;font-size:9px}.event-title{padding:0;margin:9px 0 6px;display:block;text-align:left;border:0;border-radius:0;background:none;font-size:14px;color:#25364b;line-height:1.4;letter-spacing:-.2px}.event-title:hover{background:none}.event-location{display:flex;justify-content:space-between;font-size:10px;color:#7c8a99;gap:8px}.event-state{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:12px 0 5px;font-size:10px}.event-state button{font-size:9px;padding:4px 5px}.gap{color:#b95d53}.complete{color:#478c79}.role-list{margin-top:10px;border-top:1px solid #edf0f4;padding-top:5px}.role-row{display:grid;grid-template-columns:60px 1fr 23px;align-items:center;gap:5px;min-height:37px;border-bottom:1px solid #f1f3f6;padding:4px 0}.role-row:last-child{border-bottom:0}.role-icon{font-size:10px;color:#708196}.role-row>div{display:flex;flex-wrap:wrap;gap:4px}.name{font-size:10px;padding:4px 6px;border:0;background:#f0f3f7;color:#42546a;font-weight:550}.role-count{font-size:10px;text-align:right}.empty-role{font-size:10px;color:#b6bec9}.logistics{border-top:1px solid #e9edf2;margin-top:12px;padding-top:10px;display:grid;gap:5px;font-size:10px;color:#718196}.logistics b{color:#42556b}.logistics pre{font:inherit;white-space:pre-wrap;line-height:1.6;background:#f7f9fb;padding:8px;border-radius:5px}.empty-day{padding:35px 8px;color:#a0adba;text-align:center;line-height:2;font-size:12px}.empty-day small{font-size:10px}.freelancer-dock{background:white;border:1px solid #dce5e9;box-shadow:0 -4px 18px #19343d06;border-radius:12px;margin-top:12px;overflow:hidden}.dock-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 18px 12px}.dock-heading h2{margin:5px 0;font-size:17px;letter-spacing:-.3px;font-weight:650}.target-context{font-size:10px;color:#85909f}.dock-actions{display:flex;gap:16px;align-items:center}.pool-filters{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fafbfc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;flex-wrap:wrap}.pool-filters input{padding:8px 10px;border:1px solid #dce3eb;border-radius:6px;width:210px;font-size:11px}.pool-filters button{font-size:10px;margin-left:auto}.pool-scroll{max-height:29vh;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{position:sticky;top:0;background:#fafbfc;z-index:1;color:#8b97a7;font-size:9px;letter-spacing:.5px;font-weight:600;padding:10px 18px;white-space:nowrap}td{padding:9px 18px;border-top:1px solid #f0f2f5;font-size:11px}td small{display:block;color:#8e9aa8;font-size:9px;margin-top:3px}.person-button{padding:0;border:0;background:none;font-size:12px;color:#304458}.person-skills{display:block;font-size:9px;color:#95a1af;margin-top:3px}.status{display:inline-block;font-size:9px;padding:4px 7px;border-radius:5px;white-space:nowrap;background:#f0f2f5;color:#8490a0}.status.good{background:#e8f4ef;color:#3c806b}.status.bad{background:#faeded;color:#b36868}.status.pending{background:#f2eef8;color:#8971a8}.muted{color:#8e9aa8}.job-link{display:block;text-align:left;background:none;border:0;padding:0;font-size:10px}.job-link small{font-size:9px;font-weight:400}.person-panel{position:fixed;right:20px;top:85px;width:320px;max-height:calc(100vh - 110px);overflow:auto;background:white;border:1px solid #cbdcdd;border-radius:12px;box-shadow:0 15px 70px #19343d33;padding:22px;z-index:10}.person-panel>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-panel h2{font-size:23px}.person-panel p{line-height:1.8}.person-panel h3{font-size:12px;border-top:1px solid #eee;padding-top:15px}footer{font-size:9px;color:#8c98a6;padding:14px 0 0}.no-results{text-align:center;padding:28px}#storageNotice{background:#fff0d2;padding:12px}.calendar:has(.day-column:nth-child(7)) .role-row{grid-template-columns:38px 1fr 22px}.calendar:has(.day-column:nth-child(7)) .event-card{padding:9px}.calendar:has(.day-column:nth-child(7)) .event-state{flex-wrap:wrap}@media(max-width:900px){main{padding:20px 14px}.app-header{padding:0 15px}.prototype,.local-note{display:none}h1{font-size:21px}.calendar{grid-template-columns:repeat(var(--days),minmax(220px,1fr))}.heading{margin-bottom:16px}.overview{flex-wrap:wrap;gap:12px}.scope{display:none}.dock-heading{align-items:flex-start}.dock-actions{flex-direction:column;align-items:flex-end;gap:8px}.pool-scroll{max-height:35vh}.controls{gap:10px}.navigation{flex-wrap:wrap}.person-panel{width:min(340px,calc(100vw - 30px));right:15px}.role-row{grid-template-columns:53px 1fr 23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(min-width:901px){main{height:calc(100vh - 68px);display:flex;flex-direction:column;padding-top:18px}.heading{margin-bottom:16px;flex-shrink:0}.controls,.overview{flex-shrink:0}.calendar{flex:1;min-height:150px;max-height:none}.freelancer-dock{flex:0 0 auto;max-height:38%;display:flex;flex-direction:column}.freelancer-dock.collapsed{max-height:none}.dock-heading{padding-top:11px;padding-bottom:9px;flex-shrink:0}.pool-filters{padding-top:7px;padding-bottom:7px;flex-shrink:0}.pool-scroll{min-height:65px;max-height:none;overflow:auto}footer{flex-shrink:0;padding-top:8px}}
.crew-layout{border-top:1px solid #edf0f4;margin-top:10px;padding-top:10px}.crew-caption{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#9aa5b2;margin-bottom:9px}.crew-caption b{color:#62768b;font-weight:550}.crew-group{display:grid;grid-template-columns:51px 1fr;gap:8px;align-items:start;margin:7px 0}.crew-group-label{font-size:9px;line-height:28px;color:#70839a}.crew-tiles{display:flex;flex-wrap:wrap;gap:6px}.crew-person{position:relative;max-width:100%}.crew-name{display:flex;align-items:center;gap:12px;border:1px solid #e0e7ef;background:#f5f7fa;padding:6px 8px;font-size:11px;color:#33485f;min-height:29px;max-width:100%;justify-content:space-between}.crew-name>span:first-child{overflow-wrap:anywhere}.extra-icons{display:flex;gap:3px;flex-shrink:0}.extra-icon{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:12px}.extra-EL{background:#f4eaca;color:#a68327}.extra-Mod{background:#ede7f6;color:#8c6eb5}.extra-Driver{background:#e1eeed;color:#508b85}.basis-unresolved .crew-name{border-style:dashed;background:#faf9f5}.basis-unresolved .crew-group-label{color:#aa9065;line-height:1.4;padding-top:4px}.coverage-strip{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid #edf0f4;padding-top:9px;margin-top:10px}.coverage{font-size:8px;color:#83949c;background:#f5f8f8;border-radius:4px;padding:4px 5px}.coverage b{margin-left:3px;font-weight:600}.coverage-open{background:#faeeeb;color:#b37164}.crew-legend{color:#a0aab6;font-size:8px;margin-top:7px}.crew-legend span{margin:0 4px}@media(min-width:901px){.calendar:has(.day-column:nth-child(7)) .crew-group{grid-template-columns:1fr;gap:2px}.calendar:has(.day-column:nth-child(7)) .crew-group-label{line-height:1.5}.calendar:has(.day-column:nth-child(7)) .crew-caption>span{display:none}}
.crew-name>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.crew-person{min-width:0}
/* Compact crew: base emoji on each tile, additional duties overlap its top edge. */
.event-card{padding:8px 9px}.event-meta{font-size:8px}.event-title{font-size:12px;line-height:1.25;margin:4px 0}.event-location{font-size:9px}.event-state{margin:5px 0 0;font-size:9px}.event-state button{padding:2px 4px;font-size:8px}.crew-layout{margin-top:6px;padding-top:7px}.crew-caption,.crew-group-label,.crew-legend{display:none}.crew-group{display:contents}.crew-tiles{display:contents}.crew-layout{display:flex;align-items:center;flex-wrap:wrap;gap:7px 5px}.crew-person{margin-top:4px}.crew-name{position:relative;min-height:24px;padding:4px 7px;gap:4px;font-size:10px;overflow:visible}.crew-name>span:first-child{overflow:visible}.base-emoji{font-size:11px;flex-shrink:0}.extra-icons{position:absolute;top:-9px;left:5px;right:3px;display:flex;justify-content:space-between;pointer-events:none}.extra-icon{width:15px;height:15px;font-size:11px;border-radius:50%;background:white;box-shadow:0 1px 3px #25374720;border:1px solid #eef0f2}.extra-EL{margin-right:auto}.extra-Mod{margin-left:auto;margin-right:auto}.extra-Driver{margin-left:auto}.coverage-strip{width:100%;padding-top:4px;margin-top:0;gap:3px;border-top:0}.coverage{padding:2px 3px;font-size:8px}.basis-unresolved .crew-name{border-color:#c9baa0}.day-events{gap:6px;padding:0 6px 6px}.day-heading{padding:8px 10px}.day-heading small{margin-top:3px}.logistics{margin-top:6px;padding-top:6px}.calendar:has(.day-column:nth-child(7)) .event-card{padding:7px}.calendar:has(.day-column:nth-child(7)) .crew-group{display:contents}
@media(min-width:901px){.app-header{height:48px}.brand{font-size:21px}.brand span{font-size:7px}.heading{margin-bottom:9px}.heading h1{font-size:18px}.heading .eyebrow{display:none}main{height:calc(100vh - 48px);padding-top:12px}.overview{padding:8px 0}.calendar:not(:has(.day-column:nth-child(4))) .busy-day{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.freelancer-dock{max-height:31%}.dock-heading h2{font-size:14px;margin:3px 0}.dock-heading{padding:8px 14px}.pool-filters{padding:5px 14px}.pool-filters input,.pool-filters select{padding:5px 7px}.dock-heading .eyebrow{font-size:8px}.freelancer-dock{margin-top:8px}}
/* Busy days prioritise names and unresolved needs over repeated metadata. */
.busy-day .event-card{padding:6px 7px}.busy-day .event-meta{display:none}.busy-day .event-title{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 3px}.busy-day .event-location{font-size:8px}.busy-day .event-state{font-size:8px;margin-top:3px}.busy-day .event-state .complete{font-size:0}.busy-day .event-state .complete:before{content:'✓ Besetzt';font-size:8px}.busy-day .crew-layout{padding-top:5px;margin-top:4px;gap:5px 3px}.busy-day .crew-name{font-size:9px;min-height:21px;padding:3px 4px}.busy-day .extra-icon{width:13px;height:13px;font-size:10px}.busy-day .coverage:not(.coverage-open){display:none}.busy-day .coverage-strip:not(:has(.coverage-open)){display:none}.busy-day .coverage-strip{padding:0}.busy-day .event-state button{font-size:7px}.busy-day{align-content:start}
/* Two-line header; fixed sticker anchors independent of which duties are present. */
.extra-icons{inset:auto 0 auto 0;top:-8px;height:15px;display:block}.extra-icon{position:absolute;top:0;margin:0!important}.extra-EL{left:-5px;right:auto}.extra-Mod{left:50%;right:auto;transform:translateX(-50%)}.extra-Driver{right:-5px;left:auto}.crew-name{min-width:60px}.event-headline{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.event-headline .event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;margin:0;flex:1}.head-package{font-size:8px;color:#8591a0;white-space:nowrap;flex-shrink:0}.event-subline{display:flex;align-items:center;gap:5px;font-size:8px;color:#82909e;margin-top:2px}.head-place{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.head-state{white-space:nowrap}.event-subline button{font-size:11px;line-height:12px;padding:0 4px;flex-shrink:0}.busy-day .event-headline{gap:4px}.busy-day .event-headline .event-title{font-size:9px;margin:0}.busy-day .head-package{font-size:7px}.busy-day .event-subline{font-size:7px}.crew-layout{margin-top:5px;padding-top:6px}

/* Duty anchors: crown above centre, microphone and car inset below. */
.extra-icons{inset:0;top:0;height:100%}.extra-EL{top:-9px;bottom:auto;left:50%;right:auto;transform:translateX(-50%)}.extra-Mod{top:auto;bottom:-6px;left:7px;right:auto;transform:none}.extra-Driver{top:auto;bottom:-6px;right:7px;left:auto;transform:none}.crew-person{margin-bottom:5px}.crew-layout{row-gap:8px}.busy-day .crew-layout{row-gap:7px}
/* EL is the leading role icon; smaller secondary duties remain below. */
.base-emoji{width:16px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:16px}.base-Runner{background:#e1eaf2;border-radius:4px;filter:contrast(1.25);font-size:13px}.base-EL{font-size:13px}.extra-icon{width:12px;height:12px;font-size:9px}.busy-day .extra-icon{width:11px;height:11px;font-size:8px}.extra-Mod,.extra-Driver{bottom:-4px}.extra-EL{display:none}
/* Secondary responsibilities: compact text tabs inside the name tile. */
.crew-name{gap:5px;padding-right:5px}.extra-icons{position:static;inset:auto;height:auto;display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.extra-icon,.busy-day .extra-icon{position:static;inset:auto;transform:none;width:auto;height:auto;min-width:18px;font-family:inherit;font-size:7px;font-weight:700;line-height:14px;letter-spacing:.2px;border:0;border-radius:3px;box-shadow:none;padding:0 3px}.extra-Mod{background:#eee8f5;color:#795b94}.extra-Driver{background:#e3eeed;color:#487a73}.crew-person{margin-bottom:0}.crew-layout,.busy-day .crew-layout{row-gap:4px}.crew-person{margin-top:0}

/* Inline labels retain their shape and use the familiar duty emojis. */
.extra-icon,.busy-day .extra-icon{font-size:10px;min-width:18px;line-height:15px;padding:0 2px;letter-spacing:0}
/* The daily freelancer list participates in normal page scrolling. */
main{height:auto;min-height:calc(100vh - 48px);display:block}.calendar{flex:none;min-height:0;max-height:none;overflow-x:auto;overflow-y:visible;align-items:start}.freelancer-dock,.freelancer-dock.collapsed{max-height:none;display:block;overflow:visible}.pool-scroll{max-height:none;min-height:0;overflow:visible}.freelancer-dock{box-shadow:none}.pool-scroll th{position:static}
@media(max-width:900px){.pool-scroll{overflow-x:auto;overflow-y:visible;max-height:none}.calendar{max-height:none}}
.duty-shade{position:fixed;inset:0;background:#17323f55;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 24px;z-index:30;overflow:auto}.duty-editor{width:360px;max-width:100%;background:white;border-radius:13px;padding:22px;box-shadow:0 16px 60px #12303d30}.duty-editor h2{margin:8px 0;font-size:22px}.duty-editor>p{color:#718296;font-size:11px}.duty-choices{display:grid;gap:7px;margin:18px 0}.duty-choices label{display:flex;align-items:center;gap:11px;background:#f5f8fa;border:1px solid #e1e7ec;padding:11px;border-radius:8px;cursor:pointer}.duty-choices label:has(input:checked){background:#eaf3f0;border-color:#9bbcb1}.duty-choices label>span{font-size:18px}.duty-choices small{display:block;font-size:10px;color:#78899a;margin-top:4px}.duty-effects{background:#fff6e8;border-radius:7px;padding:10px;font-size:11px;line-height:1.7;margin:9px 0}.duty-effects small{display:block;color:#8b7d67;font-size:10px}.duty-actions{display:flex;justify-content:flex-end;gap:7px;margin:17px 0 12px}.duty-actions button:last-child{background:#244e55;color:white}.duty-editor>small{font-size:9px}
/* Stable person colours and quiet separators between operational groups. */
.crew-name,.basis-unresolved .crew-name{background:var(--person-color,#f0f3f7);color:#304052;border-color:#50647a20}.crew-name:hover{background:var(--person-color,#f0f3f7);border-color:#50647a70}.crew-divider{display:inline-block;align-self:center;width:1px;height:19px;background:#adb9c7;opacity:.55;margin:0 3px;flex-shrink:0}.extra-Mod,.extra-Driver{background:#ffffffa8}
.base-Runner{background:transparent;filter:none}
/* Trial: centred lead above a centred operational crew row. */
.crew-layout,.busy-day .crew-layout{display:flex;flex-direction:column;align-items:stretch;gap:5px}.crew-lead-row,.crew-team-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px}.crew-lead-row:empty,.crew-team-row:empty{display:none}.crew-lead-row:not(:empty)+.crew-team-row:not(:empty){border-top:1px solid #dce3e9;padding-top:6px}.crew-lead-row .crew-name{min-width:80px;justify-content:center}.coverage-strip{justify-content:center}.crew-layout .crew-divider{height:16px}
.duty-base{display:flex;gap:5px;background:#edf1f4;padding:4px;border-radius:8px;margin-top:15px}.duty-base button{flex:1}.duty-base button.active{background:#244e55;color:white}.duty-choices{margin-top:10px}
.duty-base button:disabled,.duty-base button.active:disabled{background:#edf0f2;color:#a9b1bb;border-color:transparent;cursor:not-allowed;opacity:.65}
/* Role icons label rows rather than repeating on every person. */
.crew-role-row{display:grid;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:5px;padding:3px 0}.crew-role-row+.crew-role-row{border-top:1px solid #e0e6ec}.crew-row-icon{font-size:15px;line-height:22px;justify-self:start}.crew-row-people{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:5px}.crew-role-row .crew-name{min-width:55px;justify-content:center}.crew-layout,.busy-day .crew-layout{gap:2px}.crew-role-row .crew-person{margin:0}
.crew-row-people{justify-content:center}
.coverage-over{background:#fff3dc;color:#9c793a}.coverage-strip:empty{display:none}.crew-row-icon{position:relative;display:flex;align-items:center;flex-direction:column;line-height:18px}.role-shortage{font:700 8px/11px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#b26858;white-space:nowrap}.crew-role-row:has(.role-shortage) .crew-row-people:empty:after{content:'Noch offen';font-size:9px;color:#a8afb9}.busy-day .coverage.coverage-over{display:inline-block}
.busy-day .coverage-strip:has(.coverage-over){display:flex}
/* Fit complete role groups before allowing their names to wrap. */
.crew-layout{display:flex!important;flex-flow:row wrap;align-items:center;column-gap:0!important;row-gap:4px!important}.crew-role-row{display:flex;align-items:center;gap:5px;padding:3px 5px;min-width:0;border:0!important}.crew-row-icon{flex:0 0 20px}.crew-row-people{flex:1;min-width:0}.crew-layout[data-arrangement="inline"] .crew-role-row{flex:1 1 auto}.crew-layout[data-arrangement="inline"] .crew-role-row+.crew-role-row{border-left:1px solid #dce3e9!important}.crew-layout[data-arrangement="two"] .crew-role-row[data-row-index="0"]{flex-basis:100%;padding-bottom:5px}.crew-layout[data-arrangement="two"] .crew-role-row:not([data-row-index="0"]){flex:1 1 auto}.crew-layout[data-arrangement="two"] .crew-role-row[data-row-index="2"]{border-left:1px solid #dce3e9!important}.crew-layout[data-arrangement="stacked"] .crew-role-row{flex-basis:100%}.crew-layout[data-arrangement="stacked"] .crew-role-row+.crew-role-row{border-top:1px solid #e0e6ec!important}.crew-layout .coverage-strip{flex:0 0 100%}
.lead-base{display:inline-flex;align-items:center;justify-content:center;border-left:1px solid #50647a25;padding-left:4px;margin-left:1px;font-size:11px;line-height:15px}
/* Role markers attached to the upper card edge, without inner label dividers. */
.crew-name{position:relative;overflow:visible;padding:5px 8px}.crew-name .extra-icons{position:absolute;inset:auto -2px auto -2px;top:-8px;height:13px;display:flex;align-items:center;justify-content:flex-end;gap:2px;pointer-events:none}.lead-base{position:absolute;left:0;top:0;border:0;padding:0;margin:0;font-size:9px;line-height:12px;background:transparent}.extra-icon,.busy-day .extra-icon{position:static;background:transparent;border:0;box-shadow:none;padding:0;min-width:0;width:12px;height:12px;line-height:12px;font-size:9px}.crew-person{margin-top:6px!important}.crew-name:has(.lead-base){padding-left:10px;padding-right:10px}.crew-row-people{row-gap:7px}
.lead-role-combo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:12px;line-height:13px}.combo-plus{font:600 7px/7px sans-serif;color:#7c8896}.crew-row-icon:has(.lead-role-combo){flex-basis:22px}.crew-name:has(.lead-base){padding-left:8px;padding-right:8px}
.head-deviations{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.head-deviation{display:inline-flex;align-items:center;gap:1px;font-size:9px;white-space:nowrap}.head-deviation small{font-size:7px;font-weight:650}.head-deviation.over{color:#9c793a}.event-subline{flex-wrap:wrap}.head-place{min-width:45px}.head-deviations:empty{display:none}
.head-state:empty{display:none}
.crew-row-icon{background:transparent;border:0;border-radius:5px;padding:0;cursor:pointer;min-width:20px}.crew-row-icon:hover{background:#e0e9ee}.event-subline button[data-action="addPerson"]{font-size:8px;padding:1px 4px}.booking-shade{position:fixed;inset:0;z-index:35;background:#17323d70;display:flex;align-items:center;justify-content:center;padding:24px}.booking-picker{width:min(1180px,100%);max-height:calc(100vh - 48px);background:#fff;border-radius:14px;box-shadow:0 20px 80px #112b3d40;display:flex;flex-direction:column;overflow:hidden}.booking-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 15px;gap:20px}.booking-head h2{margin:5px 0 0;font-size:21px;letter-spacing:-.4px}.booking-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 24px;background:#f7f9fb;border-top:1px solid #e8edf2;border-bottom:1px solid #e8edf2}.booking-toolbar input[type="search"]{flex:1;min-width:160px;background:white;border:1px solid #dce3eb;border-radius:6px;padding:8px 10px;font-size:12px}.booking-toolbar label{font-size:11px;color:#64758a;display:flex;align-items:center;gap:4px}.booking-target{padding:10px 24px;font-size:11px;color:#748498;border-bottom:1px solid #eef1f4}.booking-target b{color:#35585d}.booking-target>span{float:right;font-size:10px}.booking-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;overflow:hidden;min-height:280px}.booking-groups{padding:4px 22px 20px;overflow:auto;max-height:58vh}.booking-group{margin:14px 0}.booking-group h3{font-size:12px;margin:0;color:#3b5266}.booking-group h3 small{background:#eaf0f3;border-radius:4px;padding:2px 5px;font-size:9px;margin-left:4px}.booking-group>p{font-size:9px;color:#91a0ae;margin:5px 0 8px}.booking-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:7px}.booking-candidate{display:flex;flex-direction:column;text-align:left;gap:7px;background:#fafbfd;border:1px solid #e0e6ed;border-radius:8px;padding:9px;min-width:0}.booking-candidate strong{background:var(--person-color);padding:4px 6px;border-radius:4px;width:100%;font-size:12px;font-weight:600}.booking-candidate strong small{float:right;font-size:9px;color:#829099}.booking-candidate>small{font-size:9px;line-height:1.4;color:#8493a3}.booking-candidate.chosen{border:2px solid #4b8587;padding:8px;background:#f0f7f5}.candidate-reason{font-size:10px;line-height:1.6;color:#a16c58}.booking-decision{background:#f7faf9;border-left:1px solid #e5eceb;padding:22px 18px;overflow:auto;max-height:58vh}.booking-decision h3{font-size:20px;margin:7px 0 12px}.booking-decision>p{font-size:11px;line-height:1.6;color:#708497}.booking-decision>b{font-size:11px}.booking-effects{font-size:11px;line-height:1.6;background:#edf4f1;border-radius:7px;padding:12px;margin:15px 0}.booking-effects p{margin:8px 0 0}.booking-decision-actions{display:grid;gap:7px;margin-top:20px}.booking-decision-actions button:first-child{background:#244e55;color:white}.booking-decision-actions button:disabled{background:#e3e8eb;color:#a0aab5;cursor:not-allowed}.booking-local{font-size:9px!important;color:#8b9da5!important;margin-top:18px}.decision-empty{font-size:13px;color:#738892;line-height:1.8;padding:30px 0}.decision-empty small{font-size:11px}.booking-picker>footer{padding:10px 24px;border-top:1px solid #e8edf2;background:white;font-size:9px}.booking-toolbar button:disabled{opacity:.35;cursor:not-allowed}.booking-message{font-size:11px;color:#377965;padding:8px 24px;background:#eef8f1}@media(max-width:760px){.booking-shade{padding:8px}.booking-picker{max-height:calc(100vh - 16px)}.booking-head,.booking-toolbar{padding:12px}.booking-body{grid-template-columns:minmax(0,1fr) 210px}.booking-groups{padding:4px 10px 14px}.booking-target{padding:9px 12px}.booking-target>span{float:none;display:block;margin-top:4px}.booking-decision{padding:15px 10px}.booking-cards{grid-template-columns:1fr}}
/* Attached event identity labels keep the header readable and uncompressed. */
.event-card,.calendar:has(.day-column:nth-child(7)) .event-card,.busy-day .event-card{position:relative;margin-top:12px;padding-top:17px;overflow:visible}.day-events{row-gap:6px}.event-edge-labels{position:absolute;top:-10px;left:8px;right:8px;height:21px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;pointer-events:none}.event-package-label{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:5px;font-size:9px;font-weight:650;border:1px solid #dbe5e9;background:#eef6f5;color:#426e70;pointer-events:auto}.event-package-label.film-package{background:#f0ebf8;color:#74608d;border-color:#e2d9f0}.event-package-label>span{font-size:11px}.event-groups-label{font-size:17px;font-weight:750;letter-spacing:-.7px;color:#344e60;line-height:21px;background:#f5f7fa;border:1px solid #e1e7ed;border-radius:5px;min-width:33px;text-align:center;padding:0 4px;pointer-events:auto}.event-groups-label small{font-size:11px;font-weight:550;margin-left:1px;color:#7e8c9b}.event-language-label{justify-self:end;font-size:17px;line-height:19px;padding:1px 3px;background:#fff;border:1px solid #e3e8ed;border-radius:5px;pointer-events:auto}.event-headline .event-title,.busy-day .event-headline .event-title{font-size:12px;line-height:1.4;margin:0}.event-subline{margin-top:4px}.busy-day .event-package-label{font-size:8px;padding:2px 4px}.busy-day .event-groups-label{font-size:15px;min-width:28px}.busy-day .event-language-label{font-size:15px}.calendar:has(.day-column:nth-child(7)) .event-edge-labels{left:4px;right:4px;gap:3px}.calendar:has(.day-column:nth-child(7)) .event-package-label{font-size:8px;padding:2px 3px}.calendar:has(.day-column:nth-child(7)) .event-groups-label{font-size:14px;min-width:26px;padding:0 2px}.calendar:has(.day-column:nth-child(7)) .event-language-label{font-size:14px;padding:1px 2px}
.event-edge-labels{grid-template-columns:auto auto auto;justify-content:space-between}.event-package-label{overflow:visible;text-overflow:clip;max-width:none}
/* Readiness is independent of package identity on the left border. */
.event-card.event-attention{border-top:2px solid #d88379;background:linear-gradient(180deg,#fff8f6 0,#fff 58px);box-shadow:0 1px 6px #b8645210}.event-card.event-overstaffed{border-top:2px solid #d8bc7e;background:linear-gradient(180deg,#fffcf5 0,#fff 58px)}.event-card.event-ready{border-top:2px solid #9fc5b2}.head-state.complete{display:inline-flex;align-items:center;justify-content:center;background:#e5f2e9;color:#3c8464;border-radius:50%;width:17px;height:17px;font-size:12px;font-weight:750}.event-overstaffed .head-state.complete{background:#f8efd9;color:#a1854c}.event-attention .head-deviations{background:#fae9e5;border-radius:5px;padding:2px 5px}.event-attention .head-deviation{color:#b65446}.event-card.selected{outline:2px solid #568b90}
/* The left accent communicates staffing status; package identity stays in its label. */
.event-card.event-attention{border-left:3px solid #cf7469;border-top:1px solid #e8d7d3}.event-card.event-ready{border-left:3px solid #75ac8e;border-top:1px solid #dce6df}.event-card.event-overstaffed{border-left:3px solid #c9a65e;border-top:1px solid #e8dfcc}
.event-package-label.phone-package{background:#e7effc;color:#4b6f9e;border-color:#d3e0f4}
.approval-check{padding:0;border:1px solid #bbd8c7;cursor:pointer;flex-shrink:0}.approval-check:hover{background:#cfe8d9;outline:2px solid #bdd8c7}.event-card.event-approved{background:#f0f2f3;border-color:#d7dedb;border-left:3px solid #95aaa0;box-shadow:none}.event-approved .event-title{color:#7c8985}.event-approved .event-labels,.event-approved .event-edge-labels,.event-approved .head-place{filter:saturate(.35);opacity:.65}.event-approved .approval-check.approved{width:24px;background:#769b87;color:white;border-color:#769b87;font-size:10px}.event-approved.selected{outline-color:#8da59d}.workspace-notice{margin:8px 30px;color:#ac6555;font-size:12px}
.head-state.complete.approval-check:not(.approved){background:#f0f2f4;color:#a8b0b9;border-color:#dce1e5}.event-approved .approval-check.approved{width:17px;height:17px;background:#769b87;color:#fff;font-size:12px}
.event-card .approval-check{position:absolute;right:-6px;bottom:-7px;z-index:3;width:20px;height:20px;box-shadow:0 1px 4px #25374718;border:1px solid #d5ddda}.event-card.event-approved .approval-check.approved{width:20px;height:20px}.event-card{margin-bottom:5px}.event-approved.event-attention .head-deviations{background:#e9edeb;filter:saturate(.3);opacity:.7}
.event-subline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px}.head-time{justify-self:start;font-size:8px;color:#82909e;white-space:nowrap}.head-place{grid-column:2;justify-self:center;text-align:center;min-width:0}.head-deviations{grid-column:3;justify-self:end}.event-approved .head-time{opacity:.65;filter:saturate(.35)}
.event-card:not(.selected):not(.event-approved) .approval-check{display:none}
.controls{gap:12px;margin-bottom:17px}.toolbar-counts{display:flex;align-items:center;gap:10px;font-size:10px;color:#7d8b99;white-space:nowrap}.toolbar-counts b{font-size:12px;color:#4b6073}.open-count{display:inline-flex;gap:4px;align-items:center;background:#f5ebe6;color:#b38663;padding:4px 6px;border-radius:5px}.navigation b{font-size:11px}.controls label{gap:5px}.controls select{font-size:10px;padding:7px 5px}.controls .navigation{margin-right:auto}.controls .segments button{font-size:11px;padding:6px 8px}
/* Horizontal role editor above the calendar; the event cards remain visible. */
.duty-shade{padding:0;align-items:flex-start;background:transparent;backdrop-filter:none}.duty-editor{position:relative;width:100%;max-width:none;max-height:var(--duty-top-room,190px);overflow:auto;border-radius:0 0 11px 11px;padding:12px 18px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(320px,2fr) minmax(180px,1fr);column-gap:16px;align-items:center;box-shadow:0 6px 25px #18333b26;border-bottom:1px solid #ccd9df}.duty-editor>.eyebrow{grid-column:1;grid-row:1;font-size:8px}.duty-editor>h2{grid-column:1;grid-row:2;margin:4px 0;font-size:19px}.duty-editor>p:not(.duty-effects):not([role="alert"]){grid-column:1;grid-row:3;margin:0;font-size:10px}.duty-editor>.duty-base{grid-column:2;grid-row:1/4;margin:0}.duty-editor>.duty-choices{grid-column:3;grid-row:1/4;display:flex;gap:5px;margin:0}.duty-choices label{flex:1;padding:9px 7px;gap:6px}.duty-choices label>span{font-size:15px}.duty-choices label b{font-size:10px}.duty-choices small{font-size:9px;line-height:1.3}.duty-editor>.duty-actions{grid-column:4;grid-row:1/4;margin:0;flex-wrap:wrap}.duty-editor>.duty-effects,.duty-editor>p[role="alert"]{grid-column:1/-1;margin:7px 0 0;padding:5px 8px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;font-size:10px}.duty-effects small{font-size:9px}.duty-editor>small{grid-column:1/-1;font-size:8px;margin-top:5px}.duty-actions button{font-size:11px}@media(max-width:800px){.duty-editor{grid-template-columns:1fr 1fr;gap:6px 12px}.duty-editor>.duty-base{grid-column:2;grid-row:1/4}.duty-editor>.duty-choices{grid-column:1/-1;grid-row:4}.duty-editor>.duty-actions{grid-column:1/-1;grid-row:5}}
.crew-name.crew-selected{outline:2px solid #386e78;outline-offset:2px;border-color:#386e78;box-shadow:0 0 0 4px #5a929615;color:#193c48;font-weight:750}.crew-name.crew-selected:after{content:'';position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0;border-top:4px solid #386e78;pointer-events:none}
.quick-duty-actions{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;padding:3px;background:#fff;border:1px solid #cbd9df;border-radius:7px;box-shadow:0 3px 12px #23424c25;z-index:45;white-space:nowrap}.quick-duty-actions button{width:23px;height:24px;padding:0;border:0;background:#f0f5f6;font-size:13px;border-radius:4px}.quick-duty-actions button:hover:not(:disabled){background:#d7e9e5}.quick-duty-actions button:disabled{opacity:.28;filter:grayscale(1);cursor:not-allowed;background:#f1f2f3}.event-card:has(.crew-selected){z-index:40}
.quick-duty-actions{flex-direction:column;gap:3px;padding:4px;left:calc(100% + 6px)}.quick-duty-actions button{width:23px;height:22px}.duty-editor{grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) minmax(220px,1fr)}.duty-editor>.duty-actions{grid-column:3}.duty-editor>.duty-effects{grid-column:1/-1}@media(max-width:800px){.duty-editor{grid-template-columns:1fr 1fr}.duty-editor>.duty-actions{grid-column:1/-1;grid-row:4}}
/* Active person: gentle breathing lift, retaining their identity colour. */
.crew-name.crew-selected{outline:none;outline-offset:0;border-color:#50647a35;color:#243d51;font-weight:750;box-shadow:0 3px 9px #233e4b25;animation:crew-selection-breathe 1.8s ease-in-out infinite;will-change:transform,box-shadow}.crew-name.crew-selected:after{display:none}@keyframes crew-selection-breathe{0%,100%{transform:translateY(0) scale(1);box-shadow:0 2px 5px #233e4b1c}50%{transform:translateY(-1px) scale(1.045);box-shadow:0 4px 12px #233e4b38}}@media(prefers-reduced-motion:reduce){.crew-name.crew-selected{animation:none;transform:none;will-change:auto;box-shadow:0 3px 9px #233e4b30}}
/* Event selection uses a calm background rather than an outer frame. */
.event-card.selected,.event-card.event-approved.selected{outline:none;outline-offset:0;background:#eaf1fa;box-shadow:0 3px 10px #354f6b12}.event-card.event-approved.selected{background:#e5ebf0}.event-card.selected .event-title{color:#344f70}
/* Selection is an attached bookmark, independent of readiness colours. */
.event-card.selected{background:#fff;box-shadow:0 1px 5px #23334208}.event-card.event-attention.selected{background:linear-gradient(180deg,#fff8f6 0,#fff 58px)}.event-card.event-overstaffed.selected{background:linear-gradient(180deg,#fffcf5 0,#fff 58px)}.event-card.event-approved.selected{background:#f0f2f3}.event-card.selected .event-title{color:#25364b}.event-card.event-approved.selected .event-title{color:#7c8985}.event-card.selected:after{content:'● Ausgewählt';position:absolute;bottom:-8px;left:8px;background:#304957;color:#fff;font-size:8px;font-weight:600;letter-spacing:.1px;line-height:15px;padding:0 7px;border-radius:4px;box-shadow:0 1px 3px #18333b20;pointer-events:none;z-index:2}
/* Reserve the coloured left accent for the selected event only. */
.event-card,.event-card.event-ready,.event-card.event-attention,.event-card.event-overstaffed,.event-card.event-approved{border-left:1px solid #e0e6eb}.event-card.selected:after{display:none}.event-card.selected.event-ready{border-left:3px solid #75ac8e}.event-card.selected.event-attention{border-left:3px solid #cf7469}.event-card.selected.event-overstaffed{border-left:3px solid #c9a65e}.event-card.selected.event-approved{border-left:3px solid #95aaa0}.event-card:not(.selected){padding-left:11px}.calendar:has(.day-column:nth-child(7)) .event-card:not(.selected){padding-left:9px}.busy-day .event-card:not(.selected){padding-left:9px}
/* A full selection frame without changing card geometry. */
.event-card.selected.event-ready{outline:2px solid #75ac8e}.event-card.selected.event-attention{outline:2px solid #cf7469}.event-card.selected.event-overstaffed{outline:2px solid #c9a65e}.event-card.selected.event-approved{outline:2px solid #95aaa0}.event-card.selected{outline-offset:0;border-left:1px solid #e0e6eb!important;padding-left:11px}.calendar:has(.day-column:nth-child(7)) .event-card.selected{padding-left:9px}.busy-day .event-card.selected{padding-left:9px}
.crew-name.crew-person-linked{outline:none;border-color:#50647a35;color:#243d51;font-weight:750;box-shadow:0 3px 9px #233e4b25;animation:crew-selection-breathe 1.8s ease-in-out infinite;will-change:transform,box-shadow}@media(prefers-reduced-motion:reduce){.crew-name.crew-person-linked{animation:none;transform:none;will-change:auto;box-shadow:0 3px 9px #233e4b30}}
/* The top editor no longer intercepts pointer interactions with the calendar. */
.duty-shade{pointer-events:none}.duty-editor{pointer-events:auto}.crew-name:hover:not(.crew-selected){border-color:#657b8b;box-shadow:0 1px 5px #334c5d25}
/* Compact editable profile plus independent day status. */
.duty-editor.person-info-editor{grid-template-columns:145px minmax(360px,1fr) 190px 160px;gap:9px 14px;padding:11px 17px;align-items:start}.person-panel-identity h2{font-size:18px;margin:4px 0}.person-panel-identity p{font-size:9px;color:#8794a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px;margin:4px 0}.person-panel-identity label{display:flex;align-items:center;gap:7px;color:#81909f;font-size:9px}.person-info-editor select{font-size:10px;padding:4px;border-radius:4px;max-width:100%;background:white}.person-profile-fields{display:grid;gap:7px}.person-edit-row{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.person-edit-row>span,.person-base-row>span{font-size:9px;color:#7f8f9e;min-width:47px}.person-edit-row button{font-size:9px;line-height:15px;padding:3px 5px;border-radius:4px;background:#f4f6f8;border-color:#e4e9ed;color:#91a0ac}.person-edit-row button.active{background:#e1edf0;color:#325f68;border-color:#b7ced3}.person-base-row{display:flex;align-items:center;gap:6px}.person-base-row .duty-base{display:flex;padding:2px;margin:0;flex:none}.person-base-row .duty-base button{padding:3px 6px;font-size:10px;flex:none}.person-base-row small{font-size:8px;color:#98a3af}.person-day-fields{display:grid;gap:5px}.person-day-fields .eyebrow{font-size:8px;margin-bottom:1px}.person-day-fields label{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:5px;font-size:9px;color:#7b8c9c}.person-panel-actions{display:grid;gap:5px}.person-panel-actions button{font-size:10px;padding:6px}.person-panel-actions button:nth-child(2){background:#244e55;color:white}.person-panel-actions small{font-size:8px;color:#98a4af}.person-info-editor>.person-panel-error{grid-column:1/-1;margin:0;font-size:10px}.person-info-editor>.duty-effects{grid-column:1/-1;margin-top:0}.person-panel-actions button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1050px){.duty-editor.person-info-editor{grid-template-columns:120px minmax(300px,1fr) 170px 140px;gap:8px}.person-base-row small{display:none}.person-edit-row button{padding:2px 4px;font-size:8px}}@media(max-width:800px){.duty-editor.person-info-editor{grid-template-columns:1fr 1fr}.person-profile-fields{grid-column:1/-1;grid-row:2}.person-day-fields{grid-column:2;grid-row:1}.person-panel-actions{grid-column:1/-1;display:flex;align-items:center}.person-panel-identity p{max-width:100%}}
.person-day-fields,.person-panel-actions{min-width:0}.person-day-fields label{grid-template-columns:62px minmax(0,1fr);min-width:0}.person-day-fields select{width:100%;min-width:0;box-sizing:border-box}

.person-rating{display:flex;align-items:center;gap:2px}.person-rating>span{font-size:9px;color:#81909f;margin-right:5px}.person-rating button{border:0;background:transparent;color:#9ca7b5;font-size:22px;line-height:25px;padding:0 1px;min-width:21px;box-shadow:none}.person-rating button.active{color:#bd8500;background:transparent}.person-rating button:hover{color:#d89a00;background:#fff5d6}.person-rating button:focus-visible{outline:2px solid #bd8500;outline-offset:1px}.person-info-editor select.person-status{background:var(--status-color);color:white;border:1px solid transparent;font-weight:600;cursor:pointer;padding:5px 3px}.person-info-editor select.person-status option{background:white;color:#263748;font-weight:400}

.person-status-field{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:5px;font-size:9px;color:#7b8c9c}.person-status-trigger,.person-status-menu button{background:var(--status-color);color:white;border:0;border-radius:4px;font-size:10px;font-weight:600;padding:6px 4px;cursor:pointer}.person-status-trigger{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-status-menu{position:fixed;inset:auto;margin:0;padding:7px;width:200px;border:1px solid #dce3e9;border-radius:8px;background:white;box-shadow:0 8px 28px #17323f30;max-height:70vh;overflow:auto}.person-status-menu:popover-open{display:grid;gap:5px}.person-status-menu button{width:100%;padding:9px;text-align:center}.person-status-menu button:hover{background:var(--status-color);color:white;filter:none;box-shadow:inset 0 0 0 2px #ffffff85}.person-status-menu button:focus-visible{outline:2px solid #20394c;outline-offset:2px}.person-status-menu button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #ffffff90}
.person-status-trigger:hover{background:var(--status-color);color:white;filter:none;box-shadow:inset 0 0 0 2px #ffffff85}.person-status-menu button[aria-pressed=true]:hover{box-shadow:inset 0 0 0 2px #ffffffc0}

.duty-editor.person-info-editor{grid-template-columns:105px 290px 175px minmax(230px,1fr) 135px;gap:10px;align-items:start}.person-panel-identity h2{margin:2px 0 8px}.person-event-info{min-width:0;border-left:1px solid #e1e7ec;padding-left:12px;max-height:112px;overflow:auto}.person-event-info h3{font-size:12px;margin:0 0 5px;line-height:1.3;color:#34465a}.person-event-facts{display:grid;gap:4px;font-size:10px;color:#708193;line-height:1.3}.person-event-timetable{color:#40566d}.person-day-fields .eyebrow{letter-spacing:.8px}@media(max-width:1100px){.duty-editor.person-info-editor{grid-template-columns:90px 265px 160px minmax(200px,1fr) 110px;gap:7px;padding:10px}.person-event-info{padding-left:8px}.person-edit-row button{padding:2px 3px}}@media(max-width:900px){.duty-editor.person-info-editor{grid-template-columns:100px minmax(260px,1fr) 170px}.person-profile-fields{grid-column:2;grid-row:1}.person-day-fields{grid-column:3;grid-row:1}.person-event-info{grid-column:1/3;grid-row:2;max-height:100px}.person-panel-actions{grid-column:3;grid-row:2;display:grid}}

.duty-editor.person-info-editor{grid-template-columns:105px 290px 175px minmax(250px,1fr)}.person-panel-identity .person-panel-actions{min-height:27px;margin-top:5px;display:block}.person-panel-identity .person-panel-actions button{width:100%;background:#244e55;color:white;font-size:10px;padding:5px}.person-event-info{max-height:none;overflow:visible}.person-event-info header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:7px}.person-event-info header h3{margin:0}.person-event-info header>span{font-size:10px;color:#748496}.person-event-grid{display:grid;grid-template-columns:minmax(145px,1fr) minmax(130px,1fr) minmax(135px,1fr);gap:8px 12px}.event-info-block{display:flex;flex-direction:column;gap:5px;font-size:10px;line-height:1.35;color:#708193;min-width:0}.event-info-chips,.event-info-coverage{display:flex;gap:5px;flex-wrap:wrap}.event-info-chips b{padding:2px 5px;background:#eef2f6;border-radius:4px;color:#41536a;font-weight:600}.event-info-coverage span{white-space:nowrap}.event-info-schedule{border-left:1px solid #e9edf1;padding-left:10px;color:#40566d}@media(max-width:1200px){.duty-editor.person-info-editor{grid-template-columns:95px 265px 160px minmax(230px,1fr);gap:8px}.person-event-grid{grid-template-columns:1fr 1fr}.event-info-schedule{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border:0;padding:0;gap:3px 9px}}@media(max-width:900px){.duty-editor.person-info-editor{grid-template-columns:100px minmax(260px,1fr) 170px}.person-event-info{grid-column:1/-1;grid-row:2}.person-event-grid{grid-template-columns:1fr 1fr 1fr}.event-info-schedule{grid-column:auto;flex-direction:column}}

.person-panel-identity h2.person-title-card{display:inline-block;max-width:100%;background:var(--person-color,#f0f3f7);color:#304052;border:1px solid #50647a20;border-radius:7px;padding:6px 9px;font-size:17px;line-height:1.25;margin:0 0 7px;overflow-wrap:anywhere}.person-info-editor .person-day-fields{border-left:1px solid #e1e7ec;padding-left:10px}.duty-editor.person-info-editor{grid-template-columns:115px 290px 185px minmax(250px,1fr)}@media(max-width:1200px){.duty-editor.person-info-editor{grid-template-columns:105px 265px 170px minmax(230px,1fr)}}@media(max-width:900px){.duty-editor.person-info-editor{grid-template-columns:110px minmax(260px,1fr) 180px}}

.person-info-editor .person-status-field{grid-template-columns:minmax(0,1fr)}.person-info-editor .person-edit-row{gap:4px}.person-info-editor .person-base-row{gap:0}.person-info-editor .person-rating{gap:3px}.event-info-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.event-status-label{display:inline-block;background:var(--status-color);color:white;border:1px solid transparent;border-radius:4px;padding:3px 7px;font-size:9px;font-weight:600}

.person-info-editor .person-base-row{justify-content:space-between;gap:8px;min-height:29px}.person-base-row .person-panel-actions{display:block;margin:0 0 0 auto;flex:none}.person-base-row .person-panel-actions button{background:#244e55;color:white;font-size:10px;padding:5px 8px;white-space:nowrap}
.event-card.event-attention:not(.event-approved){background:linear-gradient(180deg,#f8d6d1 0,#fce8e4 26px,#fff 80px)}.event-card.event-ready:not(.event-approved){background:linear-gradient(180deg,#d8eddf 0,#eaf5ed 26px,#fff 80px)}

.event-card .event-needs-button{position:absolute;left:50%;transform:translateX(-50%);bottom:-9px;z-index:3;display:flex;align-items:center;gap:5px;min-height:22px;padding:3px 6px;background:#fae9e5;border:1px solid #e4c0b9;border-radius:5px;font-size:13px;line-height:15px;box-shadow:0 1px 3px #25374712}.event-needs-button .head-deviation{display:inline-flex;align-items:center;gap:2px}.event-needs-button small{font-size:10px;font-weight:700}.event-card .event-needs-button:hover{background:#f6d9d2;border-color:#c98f83}.event-card.event-overstaffed .event-needs-button{background:#fff2d7;border-color:#e3c990}.event-card:has(.event-needs-button){margin-bottom:0}.event-approved .event-needs-button{filter:saturate(.3);opacity:.7}
.booking-group h3{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;margin:0 0 8px;background:var(--category-bg);color:var(--category-color)}.booking-group h3 small{margin-left:auto;background:#ffffff90;color:inherit}.category-available{--category-bg:#e0f2e9;--category-color:#287452}.category-requestable{--category-bg:#e3edf9;--category-color:#38669b}.category-assigned{--category-bg:#ebe5f5;--category-color:#785a9e}.category-clarify{--category-bg:#fff0d6;--category-color:#93601e}.category-unavailable{--category-bg:#f9e0e5;--category-color:#a84055}.booking-candidate{cursor:pointer;gap:8px;outline-offset:2px}.booking-candidate>span:has(.candidate-status){display:grid;grid-template-columns:1fr 1fr;gap:5px}.candidate-status{min-width:0}.booking-candidate .person-status-trigger{font-size:9px;padding:6px 3px}.candidate-icons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:13px}.candidate-icons i{width:1px;height:13px;background:#d9e1e8;margin:0 2px}.booking-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.booking-candidate:hover{border-color:#9bb7bc;box-shadow:0 2px 8px #23374710}.booking-candidate.chosen{border-color:#4b8587}.booking-group{margin:14px 0 20px}

.picker-profile-editor{display:grid;gap:9px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #e0e7ec}.picker-profile-editor .person-edit-row{display:flex;gap:5px;flex-wrap:wrap}.picker-profile-editor .person-edit-row button{padding:5px;min-width:28px;font-size:14px;background:#eef1f4;border-color:transparent;opacity:.4}.picker-profile-editor .person-edit-row button.active{background:#dcebe8;border-color:#a8c8c0;opacity:1}.picker-profile-editor>button{background:#244e55;color:white;font-size:11px}

.booking-body{grid-template-columns:minmax(0,1fr)}.booking-groups{width:100%}.booking-cards{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.booking-candidate .picker-profile-editor{margin:0;padding:0 0 7px;gap:6px}.booking-candidate .person-rating button{font-size:19px;line-height:22px}.booking-candidate .picker-profile-editor .person-edit-row button{font-size:13px;padding:3px;min-width:25px}.candidate-card-actions{display:flex;gap:6px;margin-top:auto}.candidate-card-actions button{flex:1;font-size:10px;padding:7px 5px}.candidate-card-actions button:first-child{background:#244e55;color:white}.candidate-card-actions button:disabled{background:#e5e9ed;color:#9aa5b0;cursor:not-allowed}.candidate-booking-summary{display:grid;gap:3px;font-size:9px;color:#8b7567}.booking-candidate{cursor:default}

.booking-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:7px}.booking-cards[hidden]{display:none}.booking-group h3{padding:0}.category-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 9px;border:0;background:transparent;color:inherit;text-align:left;font-size:11px}.category-toggle:hover{background:#ffffff35}.category-toggle small{margin:0}.booking-group{margin:10px 0 14px}.booking-candidate{position:relative;padding:7px;gap:5px}.booking-candidate.chosen{padding:6px}.booking-candidate>strong{padding:4px 66px 4px 5px;font-size:11px;min-height:24px}.booking-candidate>strong .candidate-location{display:block;float:none;font-size:8px;font-weight:400;margin-top:2px;color:#7c8996}.booking-candidate .picker-profile-editor{display:contents}.booking-candidate .picker-profile-editor .person-rating{position:absolute;right:10px;top:9px;gap:0}.booking-candidate .person-rating button{font-size:16px;line-height:19px;min-width:17px;padding:0}.booking-candidate .picker-profile-editor .person-edit-row{gap:3px}.booking-candidate .picker-profile-editor .person-edit-row button{font-size:12px;line-height:15px;padding:2px;min-width:23px}.booking-candidate>span:has(.candidate-status){display:flex;gap:4px;flex-wrap:wrap}.booking-candidate .person-status-trigger{width:auto;font-size:8px;padding:4px 6px}.candidate-card-actions{gap:4px}.candidate-card-actions button{padding:5px;font-size:9px}.candidate-booking-summary:empty{display:none}.candidate-reason{font-size:8px;line-height:1.3}.booking-candidate .picker-profile-editor>button{font-size:9px;padding:4px}

.crew-sidebar{position:fixed;left:0;bottom:0;width:280px;z-index:20;background:#fff;border-right:1px solid #dce5eb;box-shadow:5px 0 20px #19343d15;display:flex;flex-direction:column;padding:12px;gap:10px}.crew-sidebar>header{display:flex;justify-content:space-between;align-items:center}.crew-sidebar header b{font-size:15px}.crew-sidebar header small{display:block;font-size:9px;color:#81909f;margin-top:4px;max-width:205px}.crew-sidebar header button{padding:4px 7px}.crew-sidebar>input{width:100%;border:1px solid #dce3eb;border-radius:6px;padding:7px;font-size:11px}.sidebar-categories{overflow:auto;min-height:0}.sidebar-person{display:grid;width:100%;gap:5px;padding:7px;margin:5px 0;background:#fafbfd;text-align:left;border-color:#e2e7ec}.sidebar-person strong{display:flex;justify-content:space-between;gap:5px;background:var(--person-color);border-radius:4px;padding:4px 5px;font-size:11px;color:#304052}.sidebar-person strong small{font-size:10px;color:#a17f37}.sidebar-person>span{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.sidebar-person i{font-style:normal;font-size:12px}.sidebar-person em{height:12px;border-left:1px solid #dce3eb;margin:0 2px}.sidebar-person.active{background:#edf4f4;border-color:#779f9e}.crew-sidebar-open .calendar{margin-left:265px;grid-template-columns:repeat(var(--days),240px);padding-left:calc(50% - 252px);padding-right:calc(50% - 252px);scroll-behavior:smooth}.crew-sidebar-open .freelancer-dock{margin-left:265px}.sidebar-enter{animation:crew-sidebar-in .4s ease-out both}@keyframes crew-sidebar-in{from{transform:translateX(-100%);opacity:.5}to{transform:translateX(0);opacity:1}}.person-event-empty{min-height:70px}@media(prefers-reduced-motion:reduce){.sidebar-enter{animation:none}.crew-sidebar-open .calendar{scroll-behavior:auto}}

.crew-sidebar-open main{min-width:0}.crew-sidebar-open .freelancer-dock{min-width:0;overflow:hidden}.crew-sidebar-open .pool-scroll{overflow-x:auto}.crew-sidebar .booking-group [hidden]{display:none}.person-base-row:has(.person-panel-actions:empty){min-height:0}

.crew-sidebar-open .calendar{scroll-behavior:auto}.calendar-centering .day-column{transform-origin:top left}.sidebar-enter{animation-delay:320ms}.crew-sidebar-open{overflow-x:clip}@media(prefers-reduced-motion:reduce){.sidebar-enter{animation-delay:0ms}}

.crew-sidebar-open .calendar{margin-left:0;grid-template-columns:repeat(var(--days),minmax(145px,1fr));padding-left:2px;padding-right:2px;scroll-behavior:auto}.crew-sidebar-open .freelancer-dock{margin-left:0;overflow:visible}.crew-sidebar-open{overflow-x:visible}.sidebar-enter{animation-delay:0ms}@media(max-width:900px){.crew-sidebar-open .calendar{grid-template-columns:repeat(var(--days),minmax(220px,1fr))}}

.crew-sidebar{width:min(660px,calc(100vw - 24px))}.crew-sidebar header small{max-width:520px}.sidebar-categories .booking-group>div:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sidebar-person{margin:0;padding:8px;background:#fafbfd;border:1px solid #e5e9ee;border-radius:7px;gap:7px;min-width:0}.sidebar-person-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.sidebar-person .sidebar-person-heading strong{display:inline-block;width:auto;min-width:0;max-width:100%;background:var(--person-color);color:#304052;border:1px solid #50647a20;border-radius:6px;padding:4px 7px;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-person-heading>small{font-size:9px;color:#a18c59;white-space:nowrap}.sidebar-person .sidebar-person-icons{gap:3px;min-height:15px}.sidebar-person .sidebar-skill{font-size:10px;filter:saturate(.3);opacity:.58}.sidebar-person i:not(.sidebar-skill){font-size:10px;opacity:.8}.sidebar-person em{height:10px;margin:0 3px}.sidebar-person.active{background:#f3f7f7;border-color:#90abaa}.sidebar-person:hover{background:#f6f8fa;border-color:#b3c1cb}@media(max-width:650px){.crew-sidebar{width:min(440px,calc(100vw - 20px))}.sidebar-categories .booking-group>div:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}}

.sidebar-filters{display:grid;gap:5px;border-bottom:1px solid #e5eaf0;padding-bottom:9px}.sidebar-filters>div{display:flex;gap:4px;flex-wrap:wrap}.sidebar-filters button{padding:4px 6px;font-size:9px;background:#f3f5f7;color:#8a98a5;border-color:#e3e8ed}.sidebar-filters button.active{background:#e1eeeb;color:#365d57;border-color:#acc9c0}.sidebar-filters button:hover{border-color:#8faea8}.sidebar-categories:empty:after{content:'Keine Treffer – Filter anpassen';display:block;text-align:center;color:#8795a3;padding:24px;font-size:12px}

.sidebar-filter-divider{display:inline-block;width:1px;height:17px;background:#d3dce4;align-self:center;margin:0 3px;flex:none}.sidebar-categories .booking-group>div:not([hidden]){grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.sidebar-person{padding:6px;gap:5px}.sidebar-person-heading{gap:3px;flex-wrap:wrap}.sidebar-person .sidebar-person-heading strong{font-size:10px;padding:4px 5px}.sidebar-person-heading>small{font-size:8px}.sidebar-person .sidebar-person-icons{gap:2px}.sidebar-person .sidebar-skill{font-size:9px}.sidebar-person i:not(.sidebar-skill){font-size:9px}@media(max-width:650px){.sidebar-categories .booking-group>div:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.sidebar-categories .booking-group>div:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}}

.crew-name .extra-icons{position:absolute;top:-7px;left:3px;right:3px;height:12px;display:block;pointer-events:none}.crew-name .extra-icon{position:absolute;top:0;width:12px;height:12px;line-height:12px;font-size:10px;background:transparent;border:0;box-shadow:none;border-radius:0;margin:0}.crew-name .extra-EL{left:0;right:auto;transform:none}.crew-name .extra-Mod{left:50%;right:auto;transform:translateX(-50%)}.crew-name .extra-Driver{right:0;left:auto;transform:none}.crew-person{margin-top:7px}
.crew-name .extra-icon{display:inline-flex;align-items:center;justify-content:center;bottom:auto;padding:0;min-width:0}

.quick-duty-actions button[aria-pressed=true]{background:#e1e9e7;box-shadow:inset 0 0 0 1px #a6bbb5;opacity:.65}.quick-duty-actions button[aria-pressed=true]:hover{background:#d2e2dc;opacity:1}

.quick-duty-actions button{position:relative;overflow:visible}.quick-transfer-mark{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:9px;line-height:12px;width:12px;height:12px;text-align:center;border-radius:50%;background:#f4f7fa;color:#638094;border:1px solid #d7e1e7;box-shadow:0 1px 2px #23374715;pointer-events:none}.crew-motion-layer{position:fixed;inset:0;z-index:80;pointer-events:none}.crew-motion-ghost{max-width:none!important;box-shadow:0 3px 8px #23374720!important;transform-origin:center}.crew-motion-ghost .extra-icons{pointer-events:none}

.crew-layout .crew-role-row{position:relative;gap:0;min-height:24px;padding-left:4px;padding-right:4px}.crew-layout .crew-row-icon{position:absolute;left:-10px;top:-3px;flex:none;min-width:16px;width:16px;height:18px;font-size:13px;line-height:18px;z-index:2}.crew-layout .crew-row-people{flex:1 1 100%;width:100%;min-height:20px}.crew-layout .crew-role-row:has(.crew-row-people:empty){min-width:34px}

.crew-layout .crew-role-row[data-crew-tier="TL"]{border-top:1px solid #e0e6ec!important;padding-top:8px;margin-top:5px}.crew-layout .crew-role-row[data-crew-tier="TL"] .crew-row-icon{left:50%;top:-10px;transform:translateX(-50%);background:#fff;border-radius:50%;width:20px;min-width:20px;height:18px;font-size:12px}.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]{border-left:0!important}.event-approved .crew-role-row[data-crew-tier="TL"] .crew-row-icon{background:#f0f2f3}
.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]:not(:first-of-type){border-top:0!important;border-left:1px solid #e0e6ec!important;padding-top:3px;margin-top:0}.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]:not(:first-of-type) .crew-row-icon{left:0;top:50%;transform:translate(-50%,-50%)}
.crew-layout .crew-role-row[data-crew-tier="Runner"]{border-bottom:0!important}

.crew-add-runner{min-height:26px;min-width:65px;margin-top:6px;padding:4px 8px;border:1px dashed #c8d2dc;border-radius:6px;background:#f8fafb;color:#8897a6;font-size:10px;line-height:16px}.crew-add-runner:hover{background:#edf3f5;border-color:#93afb6;color:#456773}
.crew-layout .crew-role-row[data-crew-tier="TL"] .crew-row-icon{left:0;transform:translateX(-25%)}.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]:not(:first-of-type) .crew-row-icon{left:0;transform:translate(-50%,-50%)}

.crew-add-slot{min-height:26px;min-width:55px;margin-top:6px;padding:4px 7px;border:1px dashed #c8d2dc;border-radius:6px;background:#f8fafb;color:#8897a6;font-size:10px;line-height:16px}.crew-add-slot:hover{background:#edf3f5;border-color:#93afb6;color:#456773}

.quick-duty-actions .crew-remove-person{display:flex;align-items:center;justify-content:center;margin-top:5px;border-top:1px solid #e4d6d3;background:#fff4f2;color:#ad6257}.quick-duty-actions .crew-remove-person:hover:not(:disabled){background:#f7dfda;color:#963f34}.crew-remove-person:disabled{opacity:.4;cursor:not-allowed}

.crew-layout .crew-role-row[data-crew-tier="TL"]{flex-basis:100%!important;border-left:0!important;border-top:1px solid #e0e6ec!important;padding-top:8px;margin-top:5px}.crew-layout .crew-role-row[data-crew-tier="TL"] .crew-row-icon,.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]:not(:first-of-type) .crew-row-icon{left:50%;top:-8px;transform:translateX(-50%);width:auto;min-width:32px;height:14px;line-height:14px;border-radius:3px;background:#fff;padding:0 5px}.crew-layout[data-arrangement="inline"] .crew-role-row[data-crew-tier="TL"]:not(:first-of-type){border-left:0!important;border-top:1px solid #e0e6ec!important;padding-top:8px;margin-top:5px}.tl-divider-label{font:600 9px/14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#8d99a5;letter-spacing:.5px;white-space:nowrap}.tl-divider-label>span{font-weight:400;color:#a4aeb8}.event-approved .crew-role-row[data-crew-tier="TL"] .crew-row-icon{background:#f0f2f3}
.crew-role-row .crew-name{min-width:46px;padding-left:6px;padding-right:6px}
.person-panel-identity,.person-profile-fields,.person-day-fields{text-align:left}.person-event-info{text-align:right}.person-event-info header{justify-content:flex-end}.person-event-info .event-info-block{align-items:flex-end}.person-event-info .event-info-chips,.person-event-info .event-info-coverage,.person-event-info .event-info-state{justify-content:flex-end}.person-event-info .event-info-schedule{border-left:0;border-right:1px solid #e9edf1;padding-left:0;padding-right:10px}@media(max-width:1200px){.person-event-info .event-info-schedule{justify-content:flex-end;border-right:0;padding-right:0}}
.person-event-info .person-event-grid{display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;gap:8px 18px}.person-event-info .event-info-block{max-width:260px;flex:0 1 auto}.person-event-info .event-info-block:empty{display:none}@media(max-width:1200px){.person-event-info .event-info-schedule{flex-basis:100%;max-width:none}}

.crew-add-area{cursor:pointer;border-radius:5px;transition:background-color .18s ease,box-shadow .18s ease}.crew-add-area:hover,.crew-add-area:focus-visible{background:#dcebe840;box-shadow:inset 0 0 0 1px #9dbbb745}.crew-hover-add{position:absolute;right:-5px;top:-6px;width:16px;height:16px;border-radius:5px;border:1px solid #bed2d0;background:#eef6f4;color:#658e86;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:14px;opacity:0;transform:scale(.8);transition:opacity .18s ease,transform .18s ease;pointer-events:none;z-index:3}.crew-add-area:hover>.crew-hover-add,.crew-add-area:focus-visible>.crew-hover-add{opacity:1;transform:scale(1)}.crew-add-area .crew-add-slot{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.crew-add-area:hover .crew-add-slot,.crew-add-area:focus-visible .crew-add-slot{background:#e2efec;border-color:#88aaa2;color:#4c7b71;box-shadow:0 0 0 2px #d7e9e345}.event-approved .crew-add-area:hover{background:#e5eae840}.event-approved .crew-add-area:hover .crew-add-slot{background:#e5eae8;color:#87958f;border-color:#b8c4bf}@media(prefers-reduced-motion:reduce){.crew-add-area,.crew-hover-add,.crew-add-area .crew-add-slot{transition:none}.crew-hover-add{transform:none}}

.crew-add-area:has(.crew-person:hover)>.crew-hover-add,.crew-add-area:has(.crew-selected)>.crew-hover-add{opacity:0;transform:scale(.8)}.crew-sidebar-open .calendar.calendar-event-focus{grid-template-columns:repeat(var(--days),var(--focus-day-width));scroll-behavior:auto}@media(prefers-reduced-motion:reduce){.crew-add-area:has(.crew-person:hover)>.crew-hover-add{transform:none}}

.crew-add-area:hover .crew-add-slot,.crew-add-area:focus-visible .crew-add-slot,.event-approved .crew-add-area:hover .crew-add-slot{background:#f8fafb;border-color:#c8d2dc;color:#8897a6;box-shadow:none}.crew-add-area:hover:not(:has(.crew-person:hover)):not(:has(.crew-selected)) .crew-slot-plus,.crew-add-area:focus-visible .crew-slot-plus{color:#398675}.crew-add-area .crew-add-slot:hover,.crew-add-area .crew-add-slot:focus-visible{background:#e2efec;border-color:#88aaa2;color:#4c7b71;box-shadow:0 0 0 2px #d7e9e345}.crew-add-area .crew-add-slot:hover .crew-slot-plus{color:#398675}.event-approved .crew-add-area .crew-add-slot:hover{background:#e5eae8;color:#87958f;border-color:#b8c4bf}

/* Separate operational places from additional duties in the needs badge. */
.event-needs-button .needs-role-group{display:inline-flex;align-items:center;gap:5px}.event-needs-button .needs-role-group+.needs-role-group{border-left:1px solid currentColor;padding-left:5px;margin-left:1px}.event-needs-button .head-deviation small{display:inline-flex;align-items:center;gap:1px}.event-needs-button .head-deviation.over{border-bottom:1px dotted currentColor}

.crew-sidebar{width:clamp(360px,28vw,460px);max-width:calc(100vw - 20px)}.sidebar-categories .booking-group>div:not([hidden]){display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 9px;padding:8px 3px 3px}.sidebar-person{position:relative;display:block;width:auto;min-width:76px;max-width:100%;padding:6px 9px;margin:0;background:var(--person-color);border:1px solid #50647a20;border-radius:6px;text-align:center;min-height:29px}.sidebar-person>strong{display:block;background:transparent;border:0;padding:0;font-size:11px;font-weight:600;line-height:15px;color:#304052}.sidebar-person:hover,.sidebar-person.active{background:var(--person-color);border-color:#7d9b9f;box-shadow:0 2px 5px #243d4912}.sidebar-rating-label,.sidebar-language-label{position:absolute;top:-8px;line-height:12px;border-radius:3px;background:#f8fafbeF;border:1px solid #e4e9ed;padding:0 2px;white-space:nowrap;pointer-events:none}.sidebar-rating-label{left:1px;font-size:8px;color:#a18c59;letter-spacing:-1px}.sidebar-language-label{right:1px;display:flex;gap:1px;max-width:calc(100% - 24px)}.sidebar-language-label i{font-style:normal;font-size:9px;line-height:12px;opacity:.85}.crew-sidebar header small{max-width:calc(28vw - 50px)}@media(max-width:650px){.crew-sidebar{width:min(360px,calc(100vw - 20px))}.crew-sidebar header small{max-width:280px}}
.sidebar-person .sidebar-rating-label,.sidebar-person .sidebar-language-label{background:transparent;border:0;box-shadow:none;padding:0 1px}.sidebar-person .sidebar-rating-label{left:auto;right:1px;top:-8px;opacity:.85}.sidebar-person .sidebar-language-label{left:2px;right:auto;top:auto;bottom:-7px;max-width:calc(100% - 4px);opacity:.8}.sidebar-categories .booking-group>div:not([hidden]){row-gap:18px;padding-bottom:8px}
.sidebar-person .sidebar-language-label{left:auto;right:2px;bottom:-6px}.sidebar-person .sidebar-language-label i{font-size:8px;line-height:10px}.sidebar-person .sidebar-rating-label{font-size:10px;line-height:13px;letter-spacing:-.5px;color:#a77826;opacity:1;top:-9px}
.sidebar-person .sidebar-rating-label{left:50%;right:auto;transform:translateX(-50%)}.crew-name[draggable],.sidebar-person[draggable]{cursor:grab}.crew-dragging .crew-name,.crew-dragging .sidebar-person{cursor:grabbing}.crew-drop-add{background:#dceee480!important;box-shadow:inset 0 0 0 2px #79ac94!important;position:relative}.crew-drop-add:after{content:'+';position:absolute;right:3px;top:2px;width:18px;height:18px;border-radius:50%;background:#4f987b;color:white;text-align:center;font-size:16px;line-height:18px;pointer-events:none}.crew-drop-replace{outline:2px solid #d59c52!important;outline-offset:2px}.crew-drop-replace:after{content:'⇄';position:absolute;right:-6px;top:-9px;background:#fff0d5;color:#99713d;border-radius:4px;padding:0 3px;font-size:12px}.crew-drop-blocked{box-shadow:inset 0 0 0 1px #9fa9b4!important;background:#edf0f3!important;position:relative}.crew-drop-blocked:after{content:'⊘';position:absolute;right:2px;top:0;color:#8e99a5;font-size:16px}.crew-drop-shade{position:fixed;inset:0;background:#19343d55;z-index:90;display:flex;justify-content:center;align-items:flex-start;padding:30px 16px}.crew-drop-dialog{width:min(460px,100%);background:white;border-radius:12px;padding:20px;box-shadow:0 15px 60px #12303d30}.crew-drop-dialog h2{font-size:17px;margin:0 0 12px}.crew-drop-dialog p{font-size:12px;line-height:1.6;color:#697e90}.crew-drop-dialog>div{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.crew-drop-dialog button:last-child{background:#244e55;color:white}.crew-drop-dialog button:only-child{background:white;color:#41536a}

.crew-name.crew-person-hover-linked{border-color:#50647a35;box-shadow:0 3px 9px #233e4b25;animation:crew-selection-breathe 1.8s ease-in-out infinite;will-change:transform,box-shadow}@media(prefers-reduced-motion:reduce){.crew-name.crew-person-hover-linked{animation:none;transform:none;will-change:auto;box-shadow:0 3px 9px #233e4b30}}

.crew-name.crew-pending-removal{outline:2px solid #cb7a72;outline-offset:1px}.event-card.crew-pending-target{box-shadow:0 0 0 2px #88b69d}.crew-drop-dialog p{white-space:normal}

.sidebar-category-empty{font-size:10px;color:#9aa5b0;padding:1px 5px 5px}.sidebar-categories .booking-group{margin:8px 0 10px}

.sidebar-person.sidebar-suggested{border-color:#6c9f94;box-shadow:0 0 0 1px #80aea54d,0 2px 5px #355f5514}.sidebar-suggestion-mark{position:absolute;left:-5px;top:-7px;font-size:10px;line-height:14px;width:14px;height:14px;border-radius:50%;background:#e4f1ec;color:#508572;border:1px solid #bad5ca;pointer-events:none}.sidebar-person.sidebar-suggested:hover{border-color:#427d6b;box-shadow:0 0 0 2px #8ab4a940}.sidebar-person.active{outline:1px solid #688e90;outline-offset:1px}

.sidebar-person.sidebar-suggested{border-color:#bd9a55;box-shadow:0 0 0 1px #cfb57850,0 2px 5px #8d713214}.sidebar-person.sidebar-suggested:hover{border-color:#a7823d;box-shadow:0 0 0 2px #cfb57845}.sidebar-person.active,.sidebar-person.sidebar-suggested.active{border-color:#688e90;outline:1px solid #688e90;box-shadow:0 2px 5px #243d4912}.sidebar-person.active>strong{color:#315e5c}.sidebar-suggestion-mark{background:#fbf3df;color:#a17b30;border-color:#dec794;pointer-events:auto;cursor:help}.sidebar-suggestion-tooltip{position:fixed;z-index:100;background:#fffaf0;color:#74603d;border:1px solid #e1cfa8;border-radius:6px;box-shadow:0 3px 12px #3e321b20;padding:8px 10px;width:250px;font-size:11px;line-height:1.5;pointer-events:none}

.sidebar-card-motion-layer{position:fixed;inset:0;pointer-events:none;z-index:79}.sidebar-card-motion-layer .sidebar-person{max-width:none}.sidebar-card-motion-layer .sidebar-rating-label{left:50%;right:auto;transform:translateX(-50%)}

.crew-drop-cue{position:fixed;border:1px solid #7699a5;border-radius:6px;pointer-events:none;background:#b8d5df20;box-shadow:0 0 0 3px #a4c6d51a}.crew-drop-cue.arrival{border-color:#5b9a88;background:#9dc9b930;box-shadow:0 0 0 4px #9dc9b922}

.drop-role-offer{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translateX(-50%);display:flex;gap:4px;z-index:48;padding:5px;border:1px solid #ccdce2;border-radius:8px;background:#fff;box-shadow:0 3px 12px #25485820;white-space:nowrap}.drop-role-offer button{font-size:10px;padding:5px 7px;color:#375e6e;background:#edf5f8;border:0;border-radius:4px}.event-card:has(.drop-role-offer){z-index:41}

.crew-motion-layer .crew-slot-motion-ghost{min-width:0;max-width:none;transform-origin:center;box-sizing:border-box}

.crew-drop-dialog{width:min(560px,100%);max-height:calc(100vh - 60px);overflow:auto}.crew-drop-dialog>.drop-conflict-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:0 0 12px}.drop-conflict-context section{display:flex;flex-direction:column;gap:4px;border-radius:8px;padding:10px 12px;font-size:11px;border:1px solid}.drop-conflict-context small{font-size:10px;font-weight:700}.drop-conflict-context strong{font-size:12px}.drop-conflict-existing{background:#fff0ee;border-color:#dba39b!important;color:#984f47}.drop-conflict-desired{background:#edf8f1;border-color:#90bea3!important;color:#397859}.event-card.crew-pending-conflict{outline:3px solid #d57268;outline-offset:3px}.event-card.crew-pending-target{outline:3px solid #68ad87;outline-offset:3px}.crew-name.crew-pending-removal{background:#f6cec8!important;color:#913e36!important;outline:2px solid #c85e52;opacity:1!important}

.crew-motion-layer .crew-slot-landing{border:1px solid #68a98d;background:#edf7f080;color:#52816d;box-shadow:0 0 0 2px #85b69d25}

.crew-drop-dialog{position:relative;z-index:2;width:min(400px,100%);padding:14px 18px}.crew-drop-dialog h2{font-size:15px;margin-bottom:4px}.crew-drop-dialog>div:last-child{margin-top:10px}.booking-sketch{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.booking-sketch-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#e7fff3;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #183d35);opacity:.9}.booking-sketch-note{position:fixed;font:italic 15px/1.2 'Chalkboard SE','Comic Sans MS',cursive;color:#fff4e8;text-shadow:0 1px 3px #273d42;transform:rotate(-4deg);max-width:240px}.booking-sketch-note.desired{color:#d7ffe6;transform:rotate(3deg)}.booking-sketch-preview{position:fixed;border:2px dashed #b6efd0;border-radius:7px 5px 8px 4px;background:#e2f6e5a8;color:#214a38;text-align:center;font-size:11px;font-weight:600;padding:5px 8px;box-shadow:0 0 0 3px #d3f2de25;transform:rotate(-2deg)}

#workspace:has(.crew-drop-shade) .crew-sidebar{visibility:visible}

.crew-motion-ghost{box-sizing:border-box!important}.crew-slot-landing .crew-slot-plus{visibility:hidden}
.crew-motion-layer .crew-motion-ghost{min-width:0!important;max-width:none!important}

.event-card .crew-name.crew-drag-source-moving{opacity:.32!important;transition:opacity 120ms ease-out}.event-card .crew-name[draggable]{transition:opacity 120ms ease-out}@media(prefers-reduced-motion:reduce){.event-card .crew-name[draggable]{transition:none}}

.crew-drop-add:after{content:attr(data-drop-label);width:auto;min-width:18px;height:auto;min-height:18px;padding:1px 6px;border-radius:5px;font-size:10px;font-weight:600;white-space:nowrap;z-index:47;box-shadow:0 1px 4px #25443720}.crew-drop-replace:after{content:attr(data-drop-label);white-space:nowrap}

.crew-role-row.crew-drop-add,.crew-role-row.crew-drop-blocked{outline-offset:0;box-shadow:0 0 0 7px #dceee480,inset 0 0 0 2px #79ac94!important}.crew-role-row.crew-drop-blocked{box-shadow:0 0 0 7px #edf0f380,inset 0 0 0 1px #9fa9b4!important}
.crew-drop-add:after{display:none}

.head-deviation[draggable]{cursor:grab}.head-deviation[draggable]:active{cursor:grabbing}.crew-role-badge-target{outline:2px solid #78aa92!important;outline-offset:2px;background:#e6f5eb!important}.role-badge-motion{position:fixed;inset:0;z-index:82;pointer-events:none}

.event-card.event-motion-surface-hidden{isolation:isolate;background:transparent!important;border-color:transparent!important;outline-color:transparent!important;box-shadow:none!important}.event-motion-surface{min-height:0!important;max-height:none!important;overflow:visible!important}.event-card.event-motion-surface-hidden:before{visibility:hidden}
.head-deviation[draggable]{position:relative;border-radius:3px;transition:background-color 120ms ease}.head-deviation[draggable]>span{transition:transform 140ms ease,filter 140ms ease}.head-deviation[draggable]:hover{background:#e3d6c855;box-shadow:none}.head-deviation[draggable]:hover>span{transform:translateY(-2px) scale(1.15);filter:drop-shadow(0 2px 2px #674b3d30)}.head-deviation[draggable]:after{content:"";position:absolute;bottom:-2px;left:30%;right:30%;height:2px;border-radius:2px;background:#987a62;opacity:0;pointer-events:none}.head-deviation[draggable]:hover:after{opacity:.75}.head-deviation[draggable]:active{background:#dbc6b766;box-shadow:none}.head-deviation[draggable]:active>span{transform:translateY(-1px) scale(1.08)}@media(prefers-reduced-motion:reduce){.head-deviation[draggable],.head-deviation[draggable]>span{transition:none}.head-deviation[draggable]:hover>span,.head-deviation[draggable]:active>span{transform:none}}

.crew-add-slot.crew-slot-drop-target{border:1px solid #5caa85!important;background:#e0f1e7!important;color:#397759!important;box-shadow:0 0 0 2px #88ba9b38!important}

.crew-motion-layer .crew-departure-fade{min-width:0!important;max-width:none!important;box-sizing:border-box;transform-origin:center;box-shadow:0 0 0 2px #90b4aa35}

.workspace-history{display:flex;gap:3px;border-left:1px solid #dce3e9;padding-left:8px}.workspace-history button{font-size:19px;line-height:20px;min-width:31px;padding:5px 7px}.workspace-history button:disabled{opacity:.28;cursor:default}

.dataset-switch{display:flex;align-items:center;gap:7px;font-size:10px;color:#72818e}.dataset-switch select{max-width:270px;padding:6px 9px;border:1px solid #dce4eb;border-radius:6px;background:#fff;color:#415468;font-size:11px}

/* Calendar orientation, independent of selected day and staffing status. */
.day-column{position:relative}.day-heading>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.today-marker{font-style:normal;font-size:9px;font-weight:700;line-height:16px;padding:0 5px;border-radius:4px;background:#315d91;color:#fff}.today-column .day-heading strong{color:#315d91}.week-boundary:not(:first-child):before{content:"";position:absolute;left:-7px;top:0;bottom:0;width:1px;background:#aab7c6;pointer-events:none}

.category-awaiting{--category-bg:#eee5f9;--category-color:#8151a5}

.crew-copy-flight:after{content:'+';position:absolute;right:-6px;top:-7px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#27855f;color:white;font-size:12px;line-height:1;box-shadow:0 1px 4px #21473830}

.crew-skill-shade .crew-skill-confirm{position:fixed;margin:0;width:min(300px,calc(100vw - 16px));padding:12px 14px;border:1px solid #8caecb;box-shadow:0 6px 24px #19343d30}.crew-skill-confirm:after{content:'';position:absolute;bottom:-7px;left:calc(50% - 6px);width:12px;height:12px;background:white;border-right:1px solid #8caecb;border-bottom:1px solid #8caecb;transform:rotate(45deg)}.crew-skill-confirm h2{color:#315d91}.crew-skill-confirm p{font-size:12px;margin:7px 0}.skill-drop-preview{border:2px dashed #739cbd;background:#eaf3fb;color:#315d91;text-align:center;justify-content:center;opacity:.85}

/* Shift must start a card drag rather than extend a browser text selection. */
.crew-name[draggable],.sidebar-person[draggable]{user-select:none;-webkit-user-select:none;-webkit-user-drag:element}.crew-name[draggable] *,.sidebar-person[draggable] *{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}

.calendar{padding-top:10px}.today-marker{position:absolute;top:-8px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;border:1px solid #f3f5f8;box-shadow:0 1px 3px #23334218}.week-boundary:not(:first-child):before{bottom:auto;height:var(--week-divider-height,100%)}

.sidebar-person.sidebar-filter-exception{border-style:dashed!important;border-color:#b9a16d!important}.sidebar-filter-exception:after{content:'↳';position:absolute;left:-5px;bottom:-5px;background:#fff5df;color:#93722f;border:1px solid #d6c08c;border-radius:4px;width:15px;height:15px;display:grid;place-items:center;font-size:11px;line-height:1;pointer-events:none}

.duty-skill-offer{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translateX(-50%);width:250px;padding:10px 12px;display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid #8caecb;border-radius:8px;box-shadow:0 6px 24px #19343d30;z-index:55;color:#315d91;font-size:11px}.duty-skill-offer>div{display:flex;gap:5px}.duty-skill-offer button{font-size:10px;padding:5px 7px}.duty-skill-offer button:last-child{background:#244e55;color:white}.event-card:has(.duty-skill-offer){z-index:50}

.person-edit-row [data-skill-pending="true"]{border-color:#6297c2;background:#eaf3fc;color:#315d91;animation:pending-skill-pulse 1.6s ease-in-out infinite}@keyframes pending-skill-pulse{0%,100%{box-shadow:0 0 0 0 #6297c220;background:#eaf3fc}50%{box-shadow:0 0 0 4px #6297c23b;background:#d4e8fa}}@media(prefers-reduced-motion:reduce){.person-edit-row [data-skill-pending="true"]{animation:none;box-shadow:0 0 0 2px #6297c250}}

.day-summary-marker{position:absolute;top:-8px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;font-style:normal;display:inline-flex;align-items:center;gap:5px;padding:0 6px;line-height:16px;font-size:10px;border:1px solid #d4dfe8;border-radius:4px;background:#f7f9fc;color:#667d92;box-shadow:0 1px 3px #23334212}.day-summary-marker b{font-size:10px;font-weight:700}.day-heading .day-summary-marker>span{font-size:9px}.day-summary-marker i{height:10px;width:1px;background:currentColor;opacity:.35}.day-summary-marker.today-marker{background:#315d91;color:white;border-color:#f3f5f8}

.event-edge-labels .event-groups-label{position:absolute;left:50%;top:0;transform:translateX(-50%)}.event-edge-labels .event-language-label{grid-column:3}.event-groups-label.groups-ready,.day-summary-marker.groups-ready{background:#e0f1e6;color:#347654;border-color:#a3c9b2}.event-groups-label.groups-pending,.day-summary-marker.groups-pending{background:#f9ded9;color:#a84e43;border-color:#dca49a}.event-groups-label small{color:inherit}

.event-edge-labels .event-groups-label,.calendar:has(.day-column:nth-child(7)) .event-groups-label,.busy-day .event-groups-label{font-size:11px;line-height:19px;height:21px;min-width:27px;padding:0 4px;background:#f5f7fa;color:#344e60;border-color:#e1e7ed;letter-spacing:-.2px}.event-groups-label small{font-size:9px;color:#7e8c9b}

.event-card .event-needs-button{opacity:1;background:#fcf4f2;border-color:#efdfdb}.event-needs-button>.needs-role-group{opacity:.5}

.event-card .event-needs-button:hover>.needs-role-group,.event-card .event-needs-button:focus-visible>.needs-role-group{opacity:1}

.category-assigned{--category-bg:#e0e8ed;--category-color:#496575}


.person-title-card>button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;width:100%}.person-title-card>button:hover{background:transparent;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.identity-editor{width:min(320px,calc(100vw - 32px));padding:18px;border:1px solid #b8cbd0;border-radius:12px;box-shadow:0 12px 45px #19343d40;color:#334b60}.identity-editor::backdrop{background:#19343d35}.identity-editor label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px}.identity-editor #identityName{width:200px;padding:7px;border:1px solid #cbd8e0;border-radius:5px}.identity-editor>div{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.identity-editor p{font-size:11px;color:#b44e43}


.identity-palette{border:0;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.identity-palette legend{font-size:12px;margin-bottom:9px}.identity-palette .identity-swatch{position:relative;display:block;margin:0;cursor:pointer}.identity-swatch input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.identity-swatch span{display:block;height:30px;border:1px solid #8a9eae45;border-radius:6px;background:var(--swatch)}.identity-swatch input:checked+span{outline:2px solid #426f79;outline-offset:2px}.identity-swatch input:checked+span:after{content:'✓';display:block;text-align:center;line-height:28px;color:#365864;font-weight:750}.identity-swatch input:focus-visible+span{outline:3px solid #426f79;outline-offset:2px}.identity-swatch:hover span{box-shadow:0 2px 5px #19343d25}

.sidebar-action-indicator{position:absolute;right:-6px;bottom:-7px;z-index:4;display:grid!important;place-items:center;width:21px;height:21px;border-radius:6px;border:2px solid white;box-shadow:0 2px 5px #19343d25;color:white;font-size:15px;font-weight:750;line-height:1;pointer-events:none}.sidebar-action-indicator[data-kind=request]{background:#9061b7}.sidebar-action-indicator[data-kind=exchange]{background:#b7792e}.sidebar-action-indicator[data-kind=assign]{background:#368363}.sidebar-action-indicator.disabled{background:#a1adb6;color:#edf1f4}

.identity-active-toggle input{appearance:none;width:34px;height:20px;border-radius:12px;background:#b6c0c9;position:relative;cursor:pointer;transition:background .15s}.identity-active-toggle input:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 3px #19343d25}.identity-active-toggle input:checked{background:#368363}.identity-active-toggle input:checked:before{left:17px}

.identity-editor .identity-active-toggle{display:block;margin-top:14px;position:relative;width:160px}.identity-active-toggle input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;z-index:1}.identity-active-label{display:grid;grid-template-columns:1fr 1fr;border-radius:7px;padding:3px;background:#e9eef1;border:1px solid #d5dfe5;gap:3px}.identity-active-label>span{text-align:center;padding:6px 9px;font-size:11px;font-weight:650;border-radius:4px;color:#82909c}.identity-active-toggle input:not(:checked)+.identity-active-label>span:first-child{background:#7b8793;color:white;box-shadow:0 1px 3px #19343d15}.identity-active-toggle input:checked+.identity-active-label>span:last-child{background:#368363;color:white;box-shadow:0 1px 3px #19343d15}.identity-active-toggle input:focus-visible+.identity-active-label{outline:2px solid #426f79;outline-offset:2px}

.crew-add-slot.crew-slot-selected{border:1px solid #5caa85!important;background:#e0f1e7!important;color:#397759!important;box-shadow:0 0 0 2px #88ba9b38!important}

.crew-add-area:hover:has(.crew-person:hover):not(.crew-drop-add):not(.crew-drop-blocked){background:transparent;box-shadow:none}.event-card .crew-person>.crew-name:before{content:'';position:absolute;inset:-3px;border-radius:7px;background:transparent}

.crew-add-area.crew-section-selected:not(.crew-drop-blocked){background:#dcebe840!important;box-shadow:inset 0 0 0 1px #79a99c!important}.crew-name.crew-replace-target{outline:2px solid #c18d46;outline-offset:2px}

.person-info-editor.topbar-enter{animation:freelancer-topbar-in 400ms cubic-bezier(.22,.7,.25,1) both}@keyframes freelancer-topbar-in{from{transform:translateY(-100%);opacity:.4}to{transform:none;opacity:1}}.crew-sidebar{border-radius:16px;overflow:hidden}@media(prefers-reduced-motion:reduce){.person-info-editor.topbar-enter{animation:none}}

.crew-add-area:hover:not(:has(.crew-person:hover)) .crew-add-slot:first-of-type{border-color:#5caa85;background:#e0f1e7;color:#397759;box-shadow:0 0 0 2px #88ba9b38}.crew-add-area:hover .crew-add-slot:not(:first-of-type){background:#f8fafb;border-color:#c8d2dc;color:#8897a6;box-shadow:none}.crew-add-area:hover .crew-add-slot:not(:first-of-type) .crew-slot-plus{color:inherit}

.auto-role-offer{position:absolute;left:calc(100% + 5px);top:-5px;z-index:45}.auto-role-offer button{display:grid;place-items:center;width:20px;height:20px;padding:0;border-radius:50%;background:#fff;border:1px solid #b3c7bf;color:#678477;font-size:16px;line-height:1;box-shadow:0 2px 5px #19343d20}.auto-role-offer button:hover{background:#fae9e5;border-color:#cb9c92;color:#a65d50}.event-card:has(.auto-role-offer){z-index:42}

.crew-motion-layer .crew-name{justify-content:center}

/* Compact missing-role badges, independent of event layout. */
.event-card .event-needs-button{min-height:18px;padding:1px 4px;gap:3px;font-size:11px;line-height:14px;border-radius:4px}.event-needs-button .needs-role-group{gap:3px}.event-needs-button small{font-size:9px}.event-needs-button .needs-role-group+.needs-role-group{padding-left:4px;margin-left:0}

.sidebar-filters button[data-filter-pinned="true"]{outline:2px solid #c7a249;outline-offset:1px;box-shadow:0 0 0 3px #e9cb7420}

.sidebar-filters button[data-action="sidebarReset"]{margin-left:auto;background:#fff;color:#8b6658;border:1px dashed #cbb5a9;font-weight:650}.sidebar-filters button[data-action="sidebarReset"]:hover{background:#f7eee8;border-color:#a78370;color:#714b3b}

.crew-name .extra-role-preview{opacity:.35;filter:grayscale(1);pointer-events:none}

/* Calendar uses the former freelancer dock's free vertical space. */
main{display:flex;flex-direction:column;height:auto;padding-bottom:4px}
main>.heading,main>.controls{flex-shrink:0}
main>.calendar{flex:1 0 auto;max-height:none;align-items:stretch}
main>footer{display:none}
#workspace{min-height:100dvh;display:flex;flex-direction:column}
#workspace>.app-header{flex-shrink:0}
#workspace>main{flex:1;min-height:0;width:100%}

.crew-name .extra-role-preview.extra-role-recommended{opacity:.9;filter:none;scale:1.15;text-shadow:0 1px 3px #416c7540}.crew-name:has(.extra-role-recommended){box-shadow:0 0 0 2px #8daeb566}
.quick-duty-actions button[aria-pressed=true]{background:#b7d8cd;color:#244f43;opacity:1;box-shadow:inset 0 0 0 1px #6f9e8c}.quick-duty-actions button[aria-pressed=true]:hover{background:#a5cdbf;box-shadow:inset 0 0 0 1px #527e6c}.quick-duty-actions button[aria-pressed=true]:after{content:'✓';position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;line-height:10px;border-radius:50%;background:#427c65;color:white;font-size:8px;pointer-events:none}

.week-boundary:not(:first-child):before{left:-8px;width:3px;background:#8295aa;border-radius:2px;box-shadow:0 0 0 1px #ffffffa6}

.booking-swap-sketch .swap-note{transform:none;background:#253d49e8;border:1px solid #ffffff66;border-radius:6px;padding:4px 8px;font-size:13px;white-space:nowrap}.booking-swap-sketch .booking-sketch-preview{transform:none}.booking-swap-sketch .booking-sketch-lines path:nth-child(n+3){stroke:#ffe0a9}

.calendar{padding-top:30px}.week-boundary-label{position:absolute;top:-25px;left:-8px;z-index:3;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:3px 7px;border-radius:5px 5px 5px 0;background:#8295aa;color:#fff;font-size:10px;font-weight:650;line-height:15px;box-shadow:0 1px 3px #23334215;pointer-events:none}.week-boundary-label>span{font-size:13px}

.day-summary-marker{z-index:4}

.booking-swap-sketch .booking-sketch-preview.swap-preview-yellow{background:#fff0c7ba;border-color:#ffe0a9;color:#725722;box-shadow:0 0 0 3px #ffe0a925}

/* Missing roles as an overlapping vertical rail at the lower left. */
.event-card .event-needs-button{left:-9px;bottom:8px;transform:none;flex-direction:column;gap:4px;padding:4px 3px;min-width:20px}
.event-needs-button .needs-role-group{flex-direction:column;gap:4px}
.event-needs-button .needs-role-group+.needs-role-group{border-left:0;border-top:1px solid currentColor;padding-left:0;padding-top:4px;margin:0}

.event-card .event-needs-button{min-width:17px;padding:3px 2px;border-color:#efdfdb80;box-shadow:none;font-size:10px}.event-needs-button .needs-role-group{gap:3px}

/* Stable role slots: remaining icons never shift when another role is filled. */
.event-card .event-needs-button{height:55px;width:17px;min-height:55px;padding:0;background:transparent;border-color:transparent}
.event-needs-button .needs-role-group{position:static}
.event-needs-button [data-role-drag]{position:absolute;left:0;right:0;height:17px;display:flex;align-items:center;justify-content:center;background:#fcf4f2;border:1px solid #efdfdb80;border-radius:3px}
.event-needs-button [data-role-drag="EL"]{top:0}
.event-needs-button [data-role-drag="Mod"]{top:19px}
.event-needs-button [data-role-drag="Driver"]{top:38px}
.event-card .event-needs-button:hover{background:transparent;border-color:transparent}

/* One continuous rail while preserving fixed role positions. */
.event-card .event-needs-button{height:51px;min-height:51px;background:#fcf4f2;border:1px solid #efdfdb80;border-radius:4px;overflow:visible}
.event-needs-button [data-role-drag]{height:17px;background:transparent;border:0;border-radius:0}
.event-needs-button [data-role-drag="EL"]{top:0}
.event-needs-button [data-role-drag="Mod"]{top:17px}
.event-needs-button [data-role-drag="Driver"]{top:34px}
.event-card .event-needs-button:hover{background:#fcf4f2;border-color:#efdfdb80}

#workspace{height:100dvh;overflow:hidden}#workspace>main{overflow:hidden}main>.calendar{flex:1 1 0;min-height:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-y:contain}

.event-approved .crew-layout{filter:none;opacity:1}.event-approved .crew-row-icon,.event-approved .crew-add-slot,.event-approved .crew-legend{filter:saturate(.35);opacity:.65}

.day-summary-marker{cursor:pointer}.day-summary-marker:hover{box-shadow:0 0 0 2px #6d8e9a35}.day-summary-marker:focus-visible{outline:2px solid #426d80;outline-offset:2px}.day-summary-marker.groups-ready b{color:#347654}.day-summary-marker.today-marker.groups-ready b{color:#c8f1d7}

.sidebar-person.active{animation:sidebar-selection-glow 1.8s ease-in-out infinite}
@keyframes sidebar-selection-glow{0%,100%{box-shadow:0 0 0 1px #6faaa530,0 2px 5px #243d4915}50%{box-shadow:0 0 0 3px #6faaa565,0 0 14px #65a8a04d}}
.crew-dragging .sidebar-person.active,.sidebar-card-motion-layer .sidebar-person.active{animation:none}
@media(prefers-reduced-motion:reduce){.sidebar-person.active{animation:none;box-shadow:0 0 0 2px #6faaa550}}

.sidebar-action-indicator.sidebar-inline-action[data-kind="assign"]{left:-5px;right:auto}.sidebar-inline-action{cursor:pointer;pointer-events:auto}.sidebar-inline-action.action-selected{outline:2px solid #fff;box-shadow:0 0 0 3px #536d8380;animation:sidebar-action-pulse 1.5s ease-in-out infinite}.sidebar-inline-action:not(.action-selected){opacity:.65}.sidebar-inline-action svg{display:block;margin:auto}@keyframes sidebar-action-pulse{50%{box-shadow:0 0 0 4px #536d8345,0 0 8px #536d8360}}@media(prefers-reduced-motion:reduce){.sidebar-inline-action.action-selected{animation:none}}

.crew-sidebar.sidebar-event-attention{background:linear-gradient(180deg,#f8d6d1 0,#fce8e4 60px,#fff 145px)}.crew-sidebar.sidebar-event-ready{background:linear-gradient(180deg,#d8eddf 0,#eaf5ed 60px,#fff 145px)}
.crew-sidebar .sidebar-event-header{position:relative;display:block;padding:32px 0 4px;min-height:85px;flex-shrink:0}.sidebar-event-header .event-edge-labels{top:0;left:0;right:0}.sidebar-event-header h2{font-size:19px;line-height:1.25;font-weight:700;color:#1f2933;margin:0 27px 8px 0;letter-spacing:-.3px}.sidebar-event-header>button{position:absolute;right:0;top:31px;background:#ffffff80}.sidebar-event-meta{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;font-size:10px;color:#697b87;align-items:center}.sidebar-event-meta>span:nth-child(2){text-align:center}.sidebar-event-meta>span:last-child{text-align:right}.crew-sidebar .sidebar-event-header>small{font-size:10px}

.sidebar-resize-handle{position:absolute;top:12px;right:0;bottom:12px;width:9px;z-index:10;cursor:ew-resize;touch-action:none;outline:none}.sidebar-resize-handle:after{content:'';position:absolute;top:38%;bottom:38%;right:2px;width:3px;border-radius:3px;background:#9baebc77;transition:background .15s}.sidebar-resize-handle:hover:after,.sidebar-resize-handle:focus-visible:after,.sidebar-resizing .sidebar-resize-handle:after{background:#426c82}.sidebar-resizing,.sidebar-resizing *{cursor:ew-resize!important;user-select:none!important}.sidebar-resizing .sidebar-person{animation:none}

.crew-sidebar{top:0;bottom:0;border-radius:0 14px 14px 0}.crew-sidebar-open .duty-shade{left:var(--crew-sidebar-width,360px);right:0;width:auto;container-type:inline-size;container-name:profilebar}.crew-sidebar-open .duty-editor.person-info-editor{grid-template-columns:minmax(80px,.65fr) minmax(180px,1.6fr) minmax(125px,1fr) minmax(160px,1.6fr)}.crew-sidebar-open .person-info-editor>*{min-width:0}.crew-sidebar-open .person-event-empty{display:none}
@container profilebar (max-width:850px){.crew-sidebar-open .duty-editor.person-info-editor{grid-template-columns:minmax(75px,.7fr) minmax(160px,1.7fr) minmax(115px,1fr);gap:8px}.person-panel-identity{grid-column:1;grid-row:1}.person-profile-fields{grid-column:2;grid-row:1}.person-day-fields{grid-column:3;grid-row:1}.person-event-info{grid-column:1/-1;grid-row:2;border-left:0;padding-left:0;border-top:1px solid #e1e7ec;padding-top:7px}.person-event-grid{grid-template-columns:1fr 1fr}.person-event-info .event-info-schedule{grid-column:auto}}
@container profilebar (max-width:560px){.crew-sidebar-open .duty-editor.person-info-editor{grid-template-columns:minmax(75px,1fr) minmax(115px,1fr);padding:10px}.person-panel-identity{grid-column:1;grid-row:1}.person-day-fields{grid-column:2;grid-row:1}.person-profile-fields{grid-column:1/-1;grid-row:2}.person-event-info{grid-column:1/-1;grid-row:3}.person-event-grid{grid-template-columns:1fr}}

.sidebar-filters>div>button:first-child{width:88px;min-width:88px;flex:0 0 88px;text-align:left}

.duty-shade{top:6px;left:8px;right:8px}.crew-sidebar-open .duty-shade{left:calc(var(--crew-sidebar-width,360px) + 8px);right:8px}.duty-editor.person-info-editor{border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--profile-color,#e6eff2) 78%,white) 0%,color-mix(in srgb,var(--profile-color,#e6eff2) 25%,white) 48%,#fff 100%);border:1px solid color-mix(in srgb,var(--profile-color,#e6eff2) 70%,#aab9c3);max-height:calc(var(--duty-top-room,190px) - 8px)}.profile-skills-title{font-size:10px;line-height:16px;font-weight:650;color:#516575;margin:0 0 4px;min-height:33px;display:flex;align-items:flex-start}.person-profile-fields .person-edit-row[aria-label="Skills"]{margin-bottom:5px}

.sidebar-inline-action:not(.action-selected){background:#d9dfe4;color:#7d8994;filter:grayscale(1);opacity:.7;box-shadow:none}

.duty-shade{top:0;right:0}.crew-sidebar-open .duty-shade{right:0}.duty-editor.person-info-editor,.crew-sidebar-open .duty-editor.person-info-editor{grid-template-columns:minmax(90px,.65fr) minmax(200px,1.8fr) minmax(140px,1fr)}.sidebar-event-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;color:#607482;margin-top:10px}.sidebar-event-logistics{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:10px;color:#536a79;margin-top:8px;line-height:1.6}.sidebar-event-schedule{margin-top:8px;border-top:1px solid #7990a326;padding-top:6px;font-size:10px;color:#536a79}.sidebar-event-schedule summary{cursor:pointer;font-weight:650}.sidebar-event-schedule>div{display:grid;gap:4px;max-height:120px;overflow:auto;padding:7px 0 2px;line-height:1.45}.crew-sidebar .sidebar-event-header{max-height:45vh;overflow:auto;padding-right:2px}.sidebar-event-header .event-edge-labels{right:2px}
@container profilebar (max-width:560px){.crew-sidebar-open .duty-editor.person-info-editor{grid-template-columns:minmax(75px,1fr) minmax(115px,1fr)}}

.sidebar-action-indicator.sidebar-inline-action[data-kind="request"]{left:-5px;right:auto}
.sidebar-action-indicator.sidebar-inline-action[data-kind="assign"]{left:auto;right:-6px}

.crew-sidebar .sidebar-event-header{padding-top:2px;padding-bottom:14px;border-bottom:1px solid #889eaf45;margin-bottom:2px}.sidebar-event-header h2{margin:0 70px 10px 0}.sidebar-event-header>button{top:0;right:0;font-size:9px;background:#ffffff70;border-color:#aabac54d}.sidebar-event-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}.sidebar-event-chips .event-groups-label{position:static;transform:none;min-width:0;font-size:10px;line-height:18px;letter-spacing:0;font-weight:650;padding:1px 6px}.sidebar-event-chips .event-language-label{font-size:11px;line-height:18px;padding:1px 6px}.sidebar-event-schedule summary{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;list-style:none}.sidebar-event-schedule summary>span:first-child:before{content:'▸';margin-right:5px}.sidebar-event-schedule[open] summary>span:first-child:before{content:'▾'}.sidebar-schedule-preview{margin-left:auto;font-size:9px;font-weight:450;color:#6b7e8a}.sidebar-event-schedule[open] .sidebar-schedule-preview{display:none}

.person-profile-fields{align-self:start;display:grid;gap:9px;padding-top:0}.person-profile-fields .profile-labeled-row{position:relative;padding-left:57px;align-items:flex-start;min-height:23px;margin:0}.person-profile-fields .profile-row-heading{position:absolute;left:0;top:4px;min-width:0;font-size:9px;line-height:15px;font-weight:650;color:#536978}.person-profile-fields .profile-labeled-row button{border-radius:5px;padding:3px 6px}.person-profile-fields .person-base-row{min-height:0}.person-profile-fields .person-base-row:has(.person-panel-actions:empty){display:none}

.person-week-bookings{display:block;margin-top:3px;font-size:10px;line-height:16px;color:#536978;font-weight:600;white-space:nowrap}

.sidebar-event-chips .event-package-label,.sidebar-event-chips .event-groups-label,.sidebar-event-chips .event-language-label{font-family:inherit;font-size:10px;font-weight:650;line-height:18px;letter-spacing:0;padding:1px 6px}.sidebar-event-header .sidebar-event-status{margin-top:10px}

/* A narrow, quiet scrollbar on the normal right edge. */
.sidebar-categories{direction:ltr;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#7d909e38 transparent}.sidebar-categories:hover,.sidebar-categories:focus-within{scrollbar-color:#7d909e70 transparent}
.sidebar-categories::-webkit-scrollbar{width:5px}.sidebar-categories::-webkit-scrollbar-track{background:transparent}.sidebar-categories::-webkit-scrollbar-thumb{background:#7d909e38;border-radius:8px}.sidebar-categories::-webkit-scrollbar-thumb:hover{background:#7d909e80}
.sidebar-resize-handle{top:0;bottom:0;width:12px;border-radius:0 12px 12px 0;transition:background .18s}.sidebar-resize-handle:after{top:50%;bottom:auto;right:3px;width:4px;height:32px;transform:translateY(-50%);border-radius:4px;background:#8196a455;box-shadow:0 0 0 2px #ffffffb3;transition:background .18s,height .18s}.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible,.sidebar-resizing .sidebar-resize-handle{background:#496b7d0d}.sidebar-resize-handle:hover:after,.sidebar-resize-handle:focus-visible:after,.sidebar-resizing .sidebar-resize-handle:after{height:48px;background:#607e90}
@media(prefers-reduced-motion:reduce){.sidebar-resize-handle,.sidebar-resize-handle:after{transition:none}}

.toolbar-counts b{display:inline-block;min-width:2ch;font-variant-numeric:tabular-nums;text-align:right}

.person-profile-fields{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:start}.person-profile-fields .profile-labeled-row[aria-label="Skills"]{grid-column:1/-1}.person-profile-fields .profile-labeled-row[aria-label="Sprachen"]{grid-column:1;grid-row:2}.person-profile-fields .person-base-row{grid-column:2;grid-row:2;align-self:start;display:flex;justify-content:flex-end;min-height:0;margin:0}.person-profile-fields .person-base-row .person-panel-actions{margin:0}

/* Selection may rise above neighbouring events, but never above overlay panels. */
.calendar{position:relative;isolation:isolate;z-index:0}

.person-profile-fields .profile-labeled-row[aria-label="Add-ons"]{grid-column:1/-1;grid-row:2}.person-profile-fields .profile-labeled-row[aria-label="Sprachen"],.person-profile-fields .person-base-row{grid-row:3}

.person-profile-fields{row-gap:5px}.person-profile-fields .person-edit-row.profile-labeled-row{gap:4px;padding-left:62px;min-height:23px;margin:0;align-items:center}.person-profile-fields .profile-row-heading{top:4px;width:51px;line-height:15px}.person-profile-fields .profile-row-heading:after{content:'';position:absolute;right:0;top:-1px;width:1px;height:17px;background:#d3dce4}.person-profile-fields .profile-labeled-row button{font-size:9px;line-height:15px;padding:3px 6px}

.crew-sidebar .sidebar-person.active{border-color:#bd9a55;outline:2px solid #bd9a55;outline-offset:2px;animation:crew-selection-breathe 1.8s ease-in-out infinite;transform-origin:center;will-change:transform,box-shadow;z-index:2}.crew-sidebar .sidebar-person.active>strong{color:#243d51;font-weight:750}.crew-dragging .crew-sidebar .sidebar-person.active,.sidebar-resizing .crew-sidebar .sidebar-person.active,.sidebar-card-motion-layer .sidebar-person.active{animation:none;transform:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.crew-sidebar .sidebar-person.active{animation:none;transform:none;will-change:auto}}

.crew-name.crew-replace-target.crew-replacement-preview{outline:2px dashed #8794a0;outline-offset:3px;border-color:#9ba6af;animation:none;box-shadow:0 0 0 4px #8794a00d}

.auto-role-offer{left:50%;top:-34px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:3px 4px 3px 6px;border:1px solid #c9d8d0;border-radius:14px;background:#f5faf7;box-shadow:0 2px 6px #19343d18;white-space:nowrap}.auto-role-offer:after{content:"";position:absolute;bottom:-5px;left:50%;width:7px;height:7px;background:#f5faf7;border-right:1px solid #c9d8d0;border-bottom:1px solid #c9d8d0;transform:translateX(-50%) rotate(45deg)}.auto-role-offer-icons{font-size:12px;line-height:16px;letter-spacing:2px;pointer-events:none}.auto-role-offer button{display:grid;place-items:center;width:18px;height:18px;min-width:18px;line-height:0;font-size:0;box-shadow:none}.auto-role-offer button svg{display:block;pointer-events:none}

.selection-outline{display:none;position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);overflow:visible;pointer-events:none;z-index:4;fill:none}.selection-outline rect{width:calc(100% - 2px);height:calc(100% - 2px);stroke:#8794a0;stroke-width:1.5;stroke-dasharray:5 4;animation:selection-march 1s linear infinite}.crew-replacement-preview>.selection-outline,.crew-slot-selected>.selection-outline,.crew-section-selected:not(:has(.crew-slot-selected))>.selection-outline{display:block}.crew-name.crew-replace-target.crew-replacement-preview{outline:none}.crew-add-slot.crew-slot-selected{border-color:transparent!important;background:#f2f5f6!important;color:#607482!important;box-shadow:none!important}.crew-add-area.crew-section-selected{box-shadow:none!important}.crew-section-selected:has(.crew-slot-selected){background:transparent!important}@keyframes selection-march{to{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.selection-outline rect{animation:none}}

.event-card.event-extras-pending:not(.event-approved){background:linear-gradient(180deg,#f8e5b8 0,#fcf2dc 26px,#fff 80px)}.event-card.event-extras-pending.selected:not(.event-approved){outline-color:#c5a04e}.crew-sidebar.sidebar-event-extras-pending{background:linear-gradient(180deg,#f8e5b8 0,#fcf2dc 60px,#fff 145px)}

.crew-add-area .crew-add-slot.crew-slot-selected{border-color:#5caa85!important;background:#e0f1e7!important;color:#397759!important;box-shadow:0 0 0 2px #88ba9b38!important}.crew-add-slot.crew-slot-selected .crew-slot-plus{color:#398675}.crew-add-area.crew-section-selected:not(:has(.crew-add-slot))>.crew-hover-add{opacity:1!important;transform:scale(1)!important;background:#e0f1e7;border-color:#88aaa2;color:#398675}



.event-card .event-subline{display:block}.event-travel-line{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) auto;gap:4px;align-items:center;min-width:0;color:#718192;font-size:8px;line-height:11px}.travel-origin,.travel-destination{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-origin b,.travel-destination b{display:block;font-size:8px;font-weight:650;color:#536a7b}.travel-origin sup{font-size:6px;margin-left:1px}.travel-arrow{display:grid;justify-items:center;line-height:10px;color:#8c9ba6}.travel-arrow small{font-size:7px;white-space:nowrap}.travel-arrow>span{font-size:15px}.event-card .event-car-button{justify-self:end;min-width:22px;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 4px;font-size:8px;border-color:#d6e0e7;background:#ffffff8c;color:#536a7b}.event-car-editor{position:fixed;inset:0;margin:auto;width:min(310px,calc(100vw - 32px));height:fit-content;padding:16px;border:1px solid #cbd8e0;border-radius:12px;box-shadow:0 10px 40px #17323d30;color:#344c5f}.event-car-editor::backdrop{background:#19343d22}.event-car-editor>b{display:block;margin-bottom:10px}.event-car-editor input{width:100%;padding:8px;border:1px solid #ccd8e1;border-radius:6px}.event-car-editor>div{display:flex;gap:6px;margin-top:10px}.event-car-editor button{font-size:11px}.event-car-editor small{display:block;margin-top:8px;font-size:9px;color:#7c8d9b}.event-approved .event-travel-line{filter:grayscale(1);opacity:.65}

.event-travel-line{display:flex;justify-content:flex-start}.travel-origin,.travel-destination{flex:0 1 auto}.travel-arrow{flex:0 0 20px}.event-card .event-car-button{flex:0 0 auto;margin-left:auto}

.event-car-editor{inset:auto;margin:0;width:220px;max-height:min(340px,calc(100vh - 16px));padding:10px;overflow:auto;border-radius:9px}.event-car-editor>b{font-size:11px;margin-bottom:7px}.event-car-editor .event-car-options{display:grid;gap:3px;margin:0}.event-car-options button{display:flex;align-items:center;gap:7px;width:100%;padding:6px 7px;text-align:left;font-size:10px;border:1px solid transparent;background:#f6f8fa;border-radius:5px}.event-car-options button>i{width:7px;height:14px;border-radius:2px;background:var(--car-status-color);flex:none}.event-car-options button>span:last-child:not(:nth-child(2)){margin-left:auto}.event-car-options button:hover{background:#eaf0f4;border-color:#c4d3de}.event-car-options button[aria-pressed="true"]{background:#e5efeb;border-color:#acc6b9}

.event-card.selected.event-ready{outline:2px solid #75ac8e;outline-offset:0}.event-card:focus,.event-card:focus-visible{outline:none}

/* Keep the entrance continuous across the automatic initial card selection. */
.crew-sidebar.sidebar-enter{animation:crew-sidebar-in 400ms cubic-bezier(.22,.7,.25,1) both}@media(prefers-reduced-motion:reduce){.crew-sidebar.sidebar-enter{animation:none}}

.crew-sidebar.sidebar-enter{animation-timing-function:cubic-bezier(.333333,1,.666667,1)}

/* Leave room for the first card’s selection pulse inside the scroll viewport. */
.sidebar-categories .booking-group>div:not([hidden]){padding-left:9px}

/* A vehicle booked more than once on the same day needs attention, even after approval. */
.calendar .day-column .event-card.event-vehicle-conflict:not(.event-approved){background:linear-gradient(180deg,#fbd5ad 0,#fff0de 28px,#fff 85px);border-top-color:#d99a52}
.calendar .day-column .event-card.event-vehicle-conflict.selected:not(.event-approved){outline:2px solid #d58b38}
.event-card.event-vehicle-conflict .event-car-button{color:#a15a16;border-color:#dfa663;background:#fff2df;max-width:70px}
.vehicle-conflict-mark{display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;margin-left:2px;border-radius:50%;background:#c67b27;color:#fff;font-size:9px;font-weight:800;vertical-align:middle}
.event-approved.event-vehicle-conflict .event-travel-line{filter:grayscale(1);opacity:.65}

.event-travel-line{display:grid;grid-template-columns:minmax(22px,1fr) minmax(0,auto) minmax(22px,1fr);gap:4px}
.travel-route{grid-column:2;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;text-align:center}
.event-travel-line>.event-car-button{grid-column:3;justify-self:end;margin-left:0;min-width:0;max-width:100%}

.sidebar-event-date{font-size:10px;color:#697b87;margin-bottom:7px}
.sidebar-event-header .event-travel-line{font-size:10px;line-height:14px;margin:3px 0 8px}
.sidebar-event-header .travel-origin b,.sidebar-event-header .travel-destination b{font-size:11px}
.sidebar-event-header .travel-arrow small{font-size:9px}
.sidebar-event-header .event-car-button{font-size:9px;padding:4px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#ffffff8c;border-color:#d6e0e7}
.sidebar-event-header .vehicle-conflict-button{color:#a15a16;border-color:#dfa663;background:#fff2df}

.event-selection-shimmer{display:none;position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);overflow:visible;pointer-events:none;z-index:1}
.event-card.selected>.event-selection-shimmer{display:block}
.event-selection-shimmer rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:#ffffffc4;stroke-width:2;stroke-linecap:round;stroke-dasharray:10 90;filter:drop-shadow(0 0 2px #ffffff70);animation:event-outline-shimmer 4s linear infinite}
.event-card.event-motion-surface-hidden>.event-selection-shimmer{visibility:hidden}
@keyframes event-outline-shimmer{to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.event-card.selected>.event-selection-shimmer{display:none}}

.event-card .event-travel-line{display:flex;justify-content:flex-start}
.event-card .travel-route{justify-content:flex-start;text-align:left;flex:0 1 auto}
.event-card .event-travel-line>.event-car-button{flex:0 0 auto;margin-left:auto;max-width:48px}
.event-card.event-vehicle-conflict .event-travel-line>.event-car-button{max-width:70px}

.calendar .day-column .event-card.event-yellow-overstaffed:not(.event-vehicle-conflict):not(.event-approved){background:linear-gradient(180deg,#f8e5b8 0,#fcf2dc 26px,#fff 80px)}
.calendar .day-column .event-card.event-yellow-overstaffed.selected:not(.event-vehicle-conflict):not(.event-approved){outline-color:#c5a04e}
.event-overstaffing-warning{position:absolute;left:6px;bottom:-7px;z-index:3;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid #ddbd6b;border-radius:50%;background:#fff2c5;color:#a87813;font-size:11px;font-weight:800;line-height:1;cursor:help}
.event-card:has(.event-needs-button)>.event-overstaffing-warning{left:16px}

.sidebar-event-chips .sidebar-event-date{margin:0 0 0 auto;white-space:nowrap;text-align:right;font-size:10px;color:#697b87;font-weight:550}

/* Labels cover the light; each opposing trail fades smoothly at both ends. */
.event-card>.event-edge-labels{z-index:2}
.event-selection-shimmer rect{stroke-dasharray:.65 99.35;stroke-dashoffset:var(--shimmer-phase);filter:none;animation-name:event-outline-shimmer-soft}
@keyframes event-outline-shimmer-soft{from{stroke-dashoffset:var(--shimmer-phase)}to{stroke-dashoffset:calc(var(--shimmer-phase) - 100px)}}

.event-selection-shimmer rect{stroke:#fff;stroke-width:2.7;filter:drop-shadow(0 0 1.5px #ffffffa0)}

.day-summary-marker.groups-warning{background:#fcf0c9;color:#a87916;border-color:#d9bb68}.day-summary-marker.groups-warning b{color:#a87916}

.event-approved .event-overstaffing-warning{filter:grayscale(1);opacity:.65}

.sidebar-event-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.sidebar-event-header .sidebar-event-title-row h2{margin:0;min-width:0;flex:1}
.sidebar-event-title-row .sidebar-event-date{flex:none;margin:0;white-space:nowrap;text-align:right;font-weight:550}
.sidebar-event-info-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px}
.sidebar-event-info-row .sidebar-event-chips{margin:0;flex:0 0 auto}
.sidebar-event-info-row .event-travel-line{flex:1 1 180px;margin:0;grid-template-columns:0 minmax(0,1fr) auto;gap:3px}

.crew-sidebar .sidebar-person.sidebar-requested{background:color-mix(in srgb,var(--person-color) 25%,#edf0f2);border-color:#cdd3d8;transition:background-color .3s ease,color .3s ease}
.crew-sidebar .sidebar-person.sidebar-requested>strong{color:#8b949e}
.sidebar-requested .sidebar-rating-label{opacity:.45}
.sidebar-requested-mark{position:absolute;left:-4px;bottom:-5px;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#edf0f4;color:#8a7b9e;border:1px solid #d5d5df;pointer-events:none}

.sidebar-action-indicator.sidebar-inline-action[data-kind="reminder"]{left:-5px;right:auto;background:#a58bca;color:white}
.sidebar-inline-action[data-kind="reminder"]:not(.action-selected){background:#d9dfe4;color:#7d8994}

.booking-swap-sketch .swap-original-trace{display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1.2;background:#e2f6e5f0;box-shadow:0 0 0 3px #d3f2de25}.booking-swap-sketch .swap-original-trace.swap-preview-yellow{background:#fff0c7f0}

.sidebar-reminded-mark{background:#eee6f6;border-color:#cdbbe1;color:#8862ac}

.sidebar-filters>div>button:first-child{width:96px;min-width:96px;flex-basis:96px}

.category-core{--category-bg:#e9e1f4;--category-color:#71548f}.core-team-info>span:last-child{font-size:11px;color:#63768b}

[data-person-hide]{font-size:9px;padding:3px 6px;margin:1px 0 5px;background:#ffffff80;border-color:#9aaaba60;color:#66798a}.category-hidden{--category-bg:#eceef1;--category-color:#7a8591}.crew-sidebar .sidebar-hidden-person{opacity:.6}

.person-profile-fields .profile-labeled-row[aria-label="Add-ons"]{grid-column:1}
.profile-hide-action{grid-column:2;grid-row:2;justify-self:end;align-self:center}
.profile-hide-action [data-person-hide]{display:flex;align-items:center;justify-content:center;width:26px;height:23px;padding:3px;margin:0}
.person-profile-fields .profile-labeled-row[aria-label="Standorte"]{grid-column:1/-1;grid-row:4}

:is(.crew-sidebar,.sidebar-card-motion-layer) .core-day-unavailable{opacity:.5}.core-unavailable-mark{position:absolute;bottom:-5px;left:-4px;width:14px;height:14px;border-radius:50%;background:#f4dfe3;color:#aa4d60;font-size:12px;line-height:12px;border:1px solid #d7b1ba;pointer-events:none}.core-day-state{font-size:10px;color:#6d7f8c}.core-day-state.core-day-blocked{color:#b35769;font-weight:650}

.draft-review{width:min(760px,90vw);max-height:75vh;border:1px solid #dbe1e7;border-radius:16px;padding:22px;box-shadow:0 18px 65px #15233433}.draft-review::backdrop{background:#17233255}.draft-review article{padding:12px 0;border-top:1px solid #e5e9ed}.draft-review small{display:block;color:#687786;margin:4px 0}.draft-changes{white-space:nowrap}

.app-header{gap:18px;min-height:68px;height:auto;padding-block:12px;flex-wrap:wrap}.dataset-switch{display:flex;align-items:center;gap:10px;background:#ffffff0d;border:1px solid #ffffff25;border-radius:10px;padding:6px 10px}.dataset-switch>span{font-size:10px;color:#bed0d4}.dataset-switch select{color:#eef5f7;background:#28464f;border:0;border-radius:6px;padding:6px 26px 6px 8px}.header-transfers{display:flex;gap:7px;margin-left:auto}.header-transfers button,.app-header>.draft-changes{background:#ffffff0e;color:#edf6f4;border:1px solid #ffffff30;border-radius:8px;padding:8px 12px}.header-transfers button:hover,.app-header>.draft-changes:hover{background:#ffffff20}.app-header .draft-review{color:#243346}.app-header .draft-review button{color:#243346}.app-header .draft-review h2{font-size:19px;letter-spacing:0}@media(max-width:900px){.header-transfers{margin-left:0}.app-header{gap:10px;padding-inline:18px}}

.core-rule-row{display:grid;grid-template-columns:1fr 100px 150px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #e7ecf0}.core-rule-row input,.core-rule-row select{width:100%;padding:7px;border:1px solid #dce3eb;border-radius:7px}.core-rules-editor p{line-height:1.5}

.core-rule-row{grid-template-columns:110px minmax(0,1fr) auto;gap:14px;padding:11px 0}.core-rule-person{justify-self:start;display:inline-flex;justify-content:center;min-width:64px;padding:6px 10px;border:1px solid #50647a25;border-radius:7px;background:var(--person-color);color:#304052;font-weight:650;white-space:nowrap}.core-rule-options{display:flex;flex-wrap:wrap;gap:5px}.core-rule-options button{min-width:32px;padding:6px 9px}.core-rule-options button[aria-pressed="true"]{background:#244e55;color:#fff;border-color:#244e55;box-shadow:0 1px 3px #19343d20}.core-rule-period{border-left:1px solid #dce3eb;padding-left:14px}.core-rules-editor{width:min(820px,94vw)}@media(max-width:650px){.core-rule-row{grid-template-columns:90px 1fr}.core-rule-period{grid-column:2;border-left:0;padding-left:0}}

.core-rule-row>.core-rule-options:not(.core-rule-period){justify-content:flex-end}.sidebar-person .core-week-count{position:absolute;right:-5px;top:-9px;min-width:21px;padding:1px 4px;border-radius:5px;background:#f4f7fa;color:#526576;border:1px solid #ccd6df;font-size:10px;font-weight:700;line-height:14px;z-index:2;box-shadow:0 1px 2px #19343d12}

/* Quiet unselected filters; preserve the full-color selected and pinned states. */
.sidebar-filters button[aria-pressed],.person-info-editor .person-edit-row button[aria-pressed]{transition:opacity .16s ease,filter .16s ease,background-color .16s ease,border-color .16s ease}
.sidebar-filters button[aria-pressed="false"],.person-info-editor .person-edit-row button[aria-pressed="false"]{opacity:.6;filter:grayscale(.85);background:#f0f2f4;border-color:#dce1e6;color:#687685}
.sidebar-filters button[aria-pressed="false"]:hover,.person-info-editor .person-edit-row button[aria-pressed="false"]:hover{opacity:.88;filter:grayscale(.35);background:#e9eef1}
.sidebar-filters button[aria-pressed]:focus-visible,.person-info-editor .person-edit-row button[aria-pressed]:focus-visible{opacity:1;filter:none}
.sidebar-filters button[aria-pressed="true"],.person-info-editor .person-edit-row button[aria-pressed="true"]{opacity:1;filter:none}
@media(prefers-reduced-motion:reduce){.sidebar-filters button[aria-pressed],.person-info-editor .person-edit-row button[aria-pressed]{transition:none}}

.crew-sidebar .category-core h3{display:flex;align-items:center}.crew-sidebar .category-core .category-toggle{flex:1;min-width:0}.core-visibility-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:25px;padding:4px;margin-right:5px;border:0;background:transparent;color:inherit;opacity:.6;border-radius:5px}.core-visibility-toggle:hover,.core-visibility-toggle:focus-visible{opacity:1;background:#ffffff50}.core-visibility-toggle svg{display:block}

.sidebar-person .core-week-count{right:-2px;top:-6px;min-width:0;padding:0 3px;font-size:8px;line-height:11px;font-weight:500;background:#f4f6f8d9;color:#83909c;border:1px solid #dbe1e680;border-radius:4px;box-shadow:none}

.crew-sidebar .category-core h3{position:relative}.crew-sidebar .category-core .category-toggle small{min-width:22px;text-align:right;margin-left:34px}.crew-sidebar .category-core .core-visibility-toggle{position:absolute;right:34px;top:50%;transform:translateY(-50%);margin:0;width:25px;height:23px;z-index:1}

/* One selection language for event, crew section, vacancy and person. */
.event-card{--selection-color:#cf9286}.event-card.event-ready{--selection-color:#75ac8e}.event-card.event-extras-pending,.event-card.event-yellow-overstaffed{--selection-color:#c5a04e}.event-card.event-vehicle-conflict{--selection-color:#d58b38}.event-card.event-approved{--selection-color:#a3adb4}
.selection-outline rect{animation:none;stroke-dasharray:none;stroke:var(--selection-color);stroke-width:2}
.selection-outline .selection-glow{stroke:#fff;stroke-width:2.7;stroke-linecap:round;stroke-dasharray:.65 99.35;filter:drop-shadow(0 0 1.5px #ffffffa0);animation:event-outline-shimmer-soft 4s linear infinite}
.crew-name.crew-selected>.selection-outline,.crew-name.crew-replace-target>.selection-outline,.crew-add-area.crew-section-selected>.selection-outline{display:block}
.crew-name.crew-selected,.crew-name.crew-person-linked,.crew-name.crew-replace-target,.crew-name.crew-replace-target.crew-replacement-preview{animation:none;transform:none;outline:none;border-color:#50647a35;box-shadow:none;will-change:auto}
.crew-add-area.crew-section-selected:not(.crew-drop-blocked){box-shadow:none!important}
.crew-name>.selection-outline{z-index:1}.crew-name>.extra-icons{z-index:2}
@media(prefers-reduced-motion:reduce){.selection-outline .selection-glow{display:none;animation:none}}

/* Animate only the most specific selected target, retaining the event's static frame. */
.event-card:has(.crew-section-selected,.crew-slot-selected,.crew-selected,.crew-replace-target)>.event-selection-shimmer{display:none}
.crew-section-selected:has(.crew-slot-selected,.crew-selected,.crew-replace-target)>.selection-outline{display:none}

.calendar .day-column .event-card.selected:has(.crew-section-selected,.crew-slot-selected,.crew-selected,.crew-replace-target){outline:none!important}

/* Compact travel details only when their measured contents no longer fit. */
.event-card .event-travel-line>.event-car-button{max-width:none!important;flex:0 0 auto}
.event-card .event-travel-line[data-travel-fit="icon"] .event-car-label,.event-card .event-travel-line[data-travel-fit="origin"] .event-car-label{display:none}
.event-card .event-travel-line[data-travel-fit="origin"] .travel-arrow,.event-card .event-travel-line[data-travel-fit="origin"] .travel-destination{display:none}
.event-card .event-travel-line[data-travel-fit="origin"] .travel-route{flex:1;min-width:0}
.event-card .travel-measure{position:fixed!important;left:-10000px;top:0;visibility:hidden!important;pointer-events:none!important;width:max-content!important;max-width:none!important;display:flex!important;gap:4px}
.event-card .travel-measure .travel-route{flex:none!important;width:max-content!important;max-width:none!important}
.event-card .travel-measure .travel-origin,.event-card .travel-measure .travel-destination{flex:none!important;width:max-content!important;max-width:none!important;overflow:visible!important}
.event-card .travel-measure>.event-car-button{max-width:none!important;margin:0!important}

/* Shared selection light in the sidebar, plus breathing on every linked event card. */
:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person{--selection-color:#bd9a55}
:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person.active{outline:none;border-color:#50647a35}
:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person.active>.selection-outline{display:block;z-index:1}
:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person>.sidebar-rating-label,:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person>.core-week-count,:is(.crew-sidebar,.sidebar-card-motion-layer) .sidebar-person>.sidebar-action-indicator{z-index:3}
.crew-name.crew-person-linked{animation:crew-selection-breathe 1.8s ease-in-out infinite;transform-origin:center;will-change:transform,box-shadow}
.crew-dragging .crew-name.crew-person-linked,.event-motion-surface-hidden .crew-name.crew-person-linked{animation:none;transform:none;will-change:auto}
.day-heading small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.crew-name.crew-person-linked{animation:none;transform:none;will-change:auto}}
.crew-sidebar .sidebar-person.sidebar-person-linked:not(.active){animation:crew-selection-breathe 1.8s ease-in-out infinite;transform-origin:center;will-change:transform,box-shadow}
@media(prefers-reduced-motion:reduce){.crew-sidebar .sidebar-person.sidebar-person-linked:not(.active){animation:none;transform:none;will-change:auto}}

.auto-role-offer{padding:0;border:0;background:transparent;box-shadow:none;gap:0;top:-29px}.auto-role-offer:after{display:none}.auto-role-offer button{box-shadow:0 2px 5px #19343d18}

.crew-sidebar .sidebar-person.active,.crew-sidebar .sidebar-person.sidebar-person-linked:not(.active){animation:none;transform:none;will-change:auto}

.day-heading>strong{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-heading>span{flex-wrap:nowrap;white-space:nowrap;min-width:0}

/* Keep filter rows stable while resizing; one shared horizontal scroll preserves alignment. */
.sidebar-filters{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#9baab650 transparent;padding:3px 3px 9px;row-gap:5px}
.sidebar-filters>div{flex-wrap:nowrap;white-space:nowrap;width:max-content;min-width:100%;align-items:center}
.sidebar-filters button,.sidebar-filters .sidebar-filter-divider{flex-shrink:0}
.sidebar-filters::-webkit-scrollbar{height:3px}.sidebar-filters::-webkit-scrollbar-thumb{background:#9baab650;border-radius:4px}
.sidebar-filters{flex-shrink:0}

.sidebar-filter-section{min-width:0;flex-shrink:0;border-bottom:1px solid #e5eaf0;padding-bottom:6px}.sidebar-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 0;color:#81909e;font-size:9px}.sidebar-filter-heading>button{border:0;background:transparent;padding:1px 7px;font-size:16px;line-height:18px;color:#718290}.sidebar-filter-heading>button:hover{background:#edf2f5;color:#344f60}.sidebar-filter-section .sidebar-filters{border-bottom:0;padding-bottom:3px}.sidebar-filter-summary{display:flex;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap;padding:3px 1px;scrollbar-width:thin}.sidebar-filter-summary>span{flex:none;padding:3px 6px;background:#e1eeeb;color:#365d57;border:1px solid #acc9c0;border-radius:6px;font-size:9px}.sidebar-filter-summary>small{color:#8b98a5;font-size:10px}

.day-column{cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
body:not(.keyboard-day-navigation) .day-column:hover:not(:has(.event-card:hover)){background:#dfeaed;border-color:#a5bfc2}
body:not(.keyboard-day-navigation) .day-column.selected-day:hover:not(:has(.event-card:hover)){background:#dbe9e8}
@media(prefers-reduced-motion:reduce){.day-column{transition:none}}

.sidebar-filters button{height:25px;min-height:25px;display:inline-flex;align-items:center;justify-content:center;line-height:16px;white-space:nowrap}
.sidebar-filters>div>button:first-child{justify-content:flex-start}

.day-heading:hover{background:transparent;border-color:transparent}

/* Day headings inherit only the column highlight, never generic button feedback. */
.day-column>.day-heading,.day-column>.day-heading:hover,.day-column>.day-heading:active{background:transparent!important;box-shadow:none;filter:none;-webkit-tap-highlight-color:transparent}
.day-heading .day-summary-marker:hover{box-shadow:0 1px 3px #23334212}

.sidebar-filter-summary>span{height:25px;min-height:25px;display:inline-flex;align-items:center;justify-content:center;line-height:16px}

/* Compact filters reveal just the requested group, below the summary. */
.sidebar-filter-summary>button{flex:none;height:25px;min-height:25px;display:inline-flex;align-items:center;justify-content:center;line-height:16px;padding:3px 6px;background:#e1eeeb;color:#365d57;border:1px solid #acc9c0;border-radius:6px;font-size:9px;white-space:nowrap}
.sidebar-filter-summary>button:hover,.sidebar-filter-summary>button[aria-expanded="true"]{background:#cde4dc;border-color:#77aa99;color:#244b40}
.sidebar-compact-options{margin-top:4px;padding:5px 7px;background:#f5f8f8;border:1px solid #d7e4df;border-radius:8px;animation:compact-filter-reveal 140ms ease-out}
.sidebar-compact-options .sidebar-filters>div{min-width:max-content}.sidebar-compact-options .sidebar-filter-heading{margin:0 0 3px}
@keyframes compact-filter-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sidebar-compact-options{animation:none}}
.sidebar-filter-summary-row{display:flex;align-items:center;gap:7px;min-width:0}.sidebar-filter-summary-row>.sidebar-filter-summary{flex:1;min-width:0}.sidebar-summary-reset{flex:none;margin-left:auto;height:25px;padding:3px 7px;background:#fff;color:#8b6658;border:1px dashed #cbb5a9;border-radius:6px;font-size:9px;font-weight:650;white-space:nowrap}.sidebar-summary-reset:hover{background:#f7eee8;border-color:#a78370;color:#714b3b}
.sidebar-filter-section,.sidebar-categories{overflow-anchor:none}
.sidebar-compact-options{animation-duration:340ms;animation-timing-function:cubic-bezier(.22,.7,.25,1)}

.sidebar-card-motion-layer .sidebar-person.active>strong{color:#243d51;font-weight:750}
.person-preference-actions{display:flex;align-items:center;gap:5px;margin-top:7px}.person-preference-actions button{display:inline-flex;align-items:center;justify-content:center;width:27px;height:25px;padding:4px;margin:0;border:1px solid #cbd5df;border-radius:6px;background:#ffffff80;color:#748492}.person-preference-actions button:hover{background:#fff;color:#465d6d}.person-preference-actions [aria-pressed="true"]{background:#edf1f5;border-color:#9caeba;color:#415b6e}.person-preference-actions [data-person-favorite][aria-pressed="true"]{color:#bf5c78;background:#fbeaf0;border-color:#db9cb0}.person-preference-actions [data-person-favorite][aria-pressed="true"] svg{fill:currentColor}
.sidebar-favorite-label{position:absolute;left:-5px;top:-7px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff5f8;border:1px solid #e2b1c1;color:#bf5c78;z-index:3;pointer-events:none;box-shadow:0 1px 2px #9a496512}.sidebar-favorite-label svg{width:9px;height:9px;fill:currentColor;stroke-width:1.3}
.sidebar-filter-section{cursor:pointer;border-radius:7px;transition:background-color .16s ease,box-shadow .16s ease}.sidebar-filter-section:hover:not(:has(button:hover,.sidebar-compact-options:hover)){background:#edf4f1;box-shadow:inset 0 0 0 1px #c9ddd4}.sidebar-filter-section:hover:not(:has(button:hover,.sidebar-compact-options:hover))>.sidebar-filter-heading{color:#416d5e}.sidebar-compact-options{cursor:default}
@media(prefers-reduced-motion:reduce){.sidebar-filter-section{transition:none}}
.person-preference-actions [data-person-hide][aria-pressed="false"]{background:#e0f0e6;border-color:#9dc8ac;color:#36805d}.person-preference-actions [data-person-hide][aria-pressed="false"] svg{fill:currentColor}.person-preference-actions [data-person-hide][aria-pressed="false"] circle{fill:#e0f0e6;stroke:#e0f0e6}.person-preference-actions [data-person-hide][aria-pressed="false"]:hover{background:#d2e9dc;border-color:#79b58f;color:#256a49}.person-preference-actions [data-person-hide][aria-pressed="true"]{background:#f0f2f4;border-color:#d4dbe1;color:#8a969f;opacity:.65}.person-preference-actions [data-person-hide][aria-pressed="true"]:hover{opacity:1}
.sidebar-filter-section{margin-inline:-6px;padding-inline:6px}
.person-preference-actions [data-person-favorite][aria-pressed="true"]{border-color:#e8c3cf;background:#fbeef3;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.person-preference-actions [data-person-favorite][aria-pressed="true"]:hover{border-color:#db9cb0;background:#f5dce6;color:#b94c6d}
@media(prefers-reduced-motion:reduce){.person-preference-actions [data-person-favorite]{transition:none}}
.person-preference-actions [data-person-favorite][aria-pressed="false"]{background:#f0f2f4;border-color:#d4dbe1;color:#8a969f;opacity:.65}.person-preference-actions [data-person-favorite][aria-pressed="false"]:hover{background:#f0f2f4;border-color:#d4dbe1;color:#8a969f;opacity:1}
.filter-chip-motion-layer{position:fixed;inset:0;z-index:80;pointer-events:none}.filter-chip-motion-layer button{box-shadow:0 1px 4px #34514612;overflow:hidden;pointer-events:none}

.crew-sidebar .sidebar-action-indicator:not(.disabled){pointer-events:auto;cursor:pointer}.sidebar-card-motion-layer .sidebar-action-indicator{pointer-events:none}
.week-boundary-label{will-change:transform}

.week-boundary-label{position:fixed;left:0;top:0;z-index:1;will-change:transform}.day-summary-marker{z-index:4}

/* Compact filters reserve a real column for reset and collect excess chips. */
.sidebar-filter-summary-row>.sidebar-filter-summary{overflow:hidden;scrollbar-width:none}
.sidebar-filter-overflow{position:relative;flex:none}
.sidebar-filter-overflow[hidden]{display:none}
.sidebar-overflow-trigger{height:25px;min-width:30px;padding:3px 6px;border:1px solid #acc9c0;border-radius:6px;background:#e1eeeb;color:#365d57;font-size:10px;font-weight:650;white-space:nowrap}
.sidebar-overflow-options{display:none;position:absolute;right:0;top:100%;z-index:90;min-width:160px;max-width:260px;padding:9px;gap:5px;flex-wrap:wrap;background:#fff;border:1px solid #d7e4df;border-radius:8px;box-shadow:0 6px 20px #253b3520}
.sidebar-filter-overflow:hover .sidebar-overflow-options,.sidebar-filter-overflow:focus-within .sidebar-overflow-options{display:flex}
.sidebar-overflow-options>button{height:25px;padding:3px 6px;border:1px solid #acc9c0;border-radius:6px;background:#e1eeeb;color:#365d57;font-size:9px;white-space:nowrap}
.sidebar-summary-reset{position:static;box-shadow:none}

/* Internal staff have a distinct, contained area above external freelancers. */
.sidebar-categories .booking-group.category-core{margin:8px 0 16px}
.crew-sidebar .category-core h3{background:var(--category-bg);border-radius:6px;margin:0 0 8px;color:var(--category-color)}
.crew-sidebar .category-core .category-toggle{font-size:11px;font-weight:400}
.sidebar-external-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 3px 2px;border-top:1px solid #dfe5eb;color:#536575}
.sidebar-external-heading>span{font-size:12px;font-weight:750;letter-spacing:.02em}
.sidebar-external-heading>small{font-size:9px;color:#94a0aa}

.tl-divider-label{display:inline-flex;align-items:center;gap:3px;vertical-align:middle}.tl-camera-outline{display:block;width:11px;height:11px;flex:none}

/* Reset/restore changes the caption, never the filter row's vertical metrics. */
.sidebar-filter-summary-row{height:31px;min-height:31px;flex:none}
.sidebar-filter-summary-row>.sidebar-filter-summary{height:31px;box-sizing:border-box}
.crew-sidebar button[data-action="sidebarReset"]{box-sizing:border-box;height:25px;min-height:25px;max-height:25px;padding:3px 7px;line-height:17px;white-space:nowrap;align-self:center}

.sidebar-core-heading{border-top:0;padding-top:5px}
.crew-sidebar .sidebar-filter-section{border-bottom:0;padding-bottom:10px}
.crew-sidebar .sidebar-categories{border-top:1px solid #d4dde5;padding-top:9px;box-shadow:inset 0 8px 9px -10px #24425460}

/* The header keeps its footprint when optional event data changes. */
.crew-sidebar .sidebar-event-header{height:202px;min-height:202px;max-height:202px;box-sizing:border-box;overflow:auto}
.sidebar-event-title-row{height:62px;min-height:62px;display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-end;gap:5px;margin-bottom:6px}
.sidebar-event-title-row .sidebar-event-date{height:14px;line-height:14px;text-align:right;font-size:10px}
.sidebar-event-header .sidebar-event-title-row h2{flex:none;line-height:22px;max-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidebar-event-info-row{min-height:50px;height:50px;align-content:start;align-items:center;overflow:hidden}
.sidebar-event-logistics{height:18px;min-height:18px;margin-top:5px;overflow:auto;flex-wrap:nowrap;white-space:nowrap}
.sidebar-event-schedule{margin-top:5px}
.crew-sidebar .sidebar-categories{margin-inline:-12px;padding-inline:12px;border-top:1px solid #c8d4de;box-shadow:inset 0 9px 12px -11px #24425480}

.sidebar-filter-heading>button[data-action="toggleSidebarFilters"]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;min-height:24px;box-sizing:border-box;padding:0;border:1px solid #d6dee7;border-radius:7px;background:#f5f7fa;color:#65778b;line-height:1;box-shadow:0 1px 2px #293c5010;transition:background .15s,border-color .15s,color .15s}
.sidebar-filter-heading>button[data-action="toggleSidebarFilters"]:hover{background:#e6edf5;border-color:#aabbd0;color:#354f70}
.filter-toggle-chevron{display:block;flex:none;transition:transform .2s ease}
[data-action="toggleSidebarFilters"][aria-expanded="true"] .filter-toggle-chevron{transform:rotate(180deg)}
.sidebar-filter-section:hover:not(:has(button:hover,.sidebar-compact-options:hover)){background:#edf0f6;box-shadow:inset 0 0 0 1px #cbd4e2}
.sidebar-filter-section:hover:not(:has(button:hover,.sidebar-compact-options:hover))>.sidebar-filter-heading{color:#52647d}
@media(prefers-reduced-motion:reduce){.filter-toggle-chevron{transition:none}}

/* Reserve both compact metadata rows; only opening the timetable expands the head. */
.crew-sidebar .sidebar-event-header{display:grid;grid-template-rows:54px 58px 18px 26px;gap:4px;height:180px;min-height:180px;max-height:none;padding-bottom:6px;overflow:visible;transition:height .28s ease}
.sidebar-event-title-row{height:54px;min-height:54px;margin:0;gap:3px}
.sidebar-event-info-row{height:58px;min-height:58px;align-content:start;overflow:visible;row-gap:6px}
.sidebar-event-info-row .event-travel-line{min-height:28px}
.sidebar-event-logistics{margin-top:0;height:18px;min-height:18px}
.sidebar-event-schedule{margin:0;padding-top:5px;min-height:26px}
.crew-sidebar .sidebar-event-header:has(.sidebar-event-schedule[open]){height:304px;grid-template-rows:54px 58px 18px 150px}
.sidebar-event-schedule>div{max-height:120px}
@media(prefers-reduced-motion:reduce){.crew-sidebar .sidebar-event-header{transition:none}}

.crew-sidebar button[data-action="sidebarReset"]{border:1px solid #cbd5e1;border-radius:7px;background:#f1f4f8;color:#56667a;font-size:9px;font-weight:650;box-shadow:none;transition:background .15s,border-color .15s,color .15s}
.crew-sidebar button[data-action="sidebarReset"]:hover{background:#e2e9f2;border-color:#a3b4c9;color:#304c6c}
.crew-sidebar button[data-action="sidebarReset"]:focus-visible{outline:2px solid #95abc5;outline-offset:2px}

/* Sidebar journey reads from the left; the vehicle is a separate compact selector. */
.sidebar-event-info-row .event-travel-line{display:flex;justify-content:flex-start;align-items:center;gap:8px;min-width:0}
.sidebar-event-header .travel-route{justify-content:flex-start;text-align:left;flex:1 1 auto;min-width:0;gap:5px}
.sidebar-event-header .travel-origin,.sidebar-event-header .travel-destination{text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-event-header .travel-origin{flex:0 1 auto}
.sidebar-event-header .travel-arrow{flex:none}
.sidebar-event-header .travel-destination{flex:0 1 auto}
.sidebar-event-header .event-car-button{display:inline-flex;align-items:center;justify-content:center;gap:3px;flex:0 0 auto;margin-left:auto;padding:4px 6px;min-height:25px;max-width:95px;border:1px solid #bccbd6;border-radius:8px;background:#edf3f7;color:#536d82;box-shadow:none;font-size:10px;line-height:15px}
.sidebar-event-header .event-car-button:after{content:'⌄';font-size:11px;line-height:12px;color:#71879a}
.sidebar-event-header .event-car-button:hover{background:#dde9f2;border-color:#91aabd;color:#304f69}
.sidebar-event-header .event-car-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.sidebar-event-header .vehicle-conflict-button{background:#fff2df;border-color:#dfa663;color:#a15a16}
