/* Keep the town's material palette; operational states use strong labeled colors. */
.delivery-panel{border:2px solid #b78b4b;border-radius:12px;background:#fff7df;margin:0 0 24px;padding:20px;color:#654728}
.delivery-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.delivery-heading h2{font-size:24px;margin:0}.delivery-heading p{font-size:12px;color:#7c6345;margin:6px 0 0}
.delivery-summary{display:flex;gap:20px;flex-wrap:wrap;padding:13px 0;border-bottom:1px dashed #d9bf88;font-size:12px}.delivery-summary b{font-size:16px;font-variant-numeric:tabular-nums}.delivery-alert-text{color:#a32d28}
.delivery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.delivery-card{display:flex;gap:16px;padding:16px;border:1px solid #d9bf88;border-left:5px solid #ab8549;border-radius:8px;background:#fffbef;min-width:0}.delivery-countdown{flex:0 0 72px;text-align:center}.delivery-countdown>span{font-size:12px;font-weight:700}.delivery-countdown strong{display:block;font:700 34px/1.4 'Courier New',monospace}.delivery-countdown small{font:500 12px sans-serif;margin-left:3px}.delivery-info{min-width:0;flex:1}.delivery-info h3{font-size:18px;margin:0;overflow-wrap:anywhere}.delivery-info p{font-size:12px;line-height:1.6;margin:3px 0;overflow-wrap:anywhere}.delivery-info progress{width:100%;height:8px;accent-color:#688053}.delivery-due{font-weight:650}.delivery-danger{background:#fff0eb;border-color:#c94d3d;border-left-color:#b82e24}.delivery-danger .delivery-countdown,.delivery-danger .delivery-reasons{color:#a32d28}.delivery-soon{background:#fff2ce;border-left-color:#cc8d16}.delivery-complete{border-left-color:#5c8252}.delivery-reasons{font-size:12px;line-height:1.6;margin:8px 0;padding-left:18px;max-height:110px;overflow:auto}.delivery-finished{margin-top:16px}.delivery-finished>summary{cursor:pointer;font-weight:700;font-size:13px}.delivery-empty{font-size:13px;margin:18px 0 0}
.delivery-range{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0}.delivery-range label{font-size:12px;display:grid;gap:4px}.delivery-range input{width:100px}.delivery-episodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;max-height:240px;overflow:auto;padding:3px}.delivery-episodes label{display:flex;align-items:center;gap:5px;background:#fff5d9;border:1px solid #d6bb83;border-radius:5px;padding:10px;font-size:12px;cursor:pointer}.delivery-episodes label:has(:checked){background:#e5edcf;border-color:#6e8551}.delivery-episodes input{accent-color:#6e8551}.delivery-episodes label:focus-within{outline:2px solid #855c29;outline-offset:1px}
.delivery-card[data-project-tone].delivery-danger{border-color:#c94d3d;border-left-color:#b82e24}.delivery-batch-generator{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:15px 0;margin:6px 0;border-bottom:1px dashed #d9bf88}.delivery-batch-generator>label,.delivery-batch-date-controls>label,.delivery-card-fields>label{display:grid;gap:5px;font-size:12px;font-weight:650;color:#654728}.delivery-batch-generator input{width:96px}.delivery-batch-generator>small,.delivery-batch-date>small{flex-basis:100%;font-size:11px;font-weight:400;line-height:1.6;color:#7c6345}.delivery-batch-date{display:grid;gap:10px;margin:15px 0;padding:13px;background:#f1e8cc;border:1px solid #d7bf8c;border-radius:7px}.delivery-batch-date b{font-size:12px}.delivery-batch-date-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.delivery-batch-date-controls input{width:180px}.delivery-batch-message{font-size:12px;line-height:1.6;color:#7c6345;margin:12px 0}.delivery-batch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.delivery-batch-card{padding:14px;border:1px solid #cba770;border-left:4px solid #9a753d;border-radius:8px;background:#fffaf0;min-width:0}.delivery-batch-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:11px;border-bottom:1px dashed #dcc7a0;margin-bottom:11px}.delivery-batch-card-head>span{font-size:10px;color:#7c6345;flex:1;min-width:60px}.delivery-card-pick{display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.delivery-card-pick input{width:17px;height:17px;accent-color:#6e8551}.delivery-card-fields{display:grid;grid-template-columns:minmax(80px,1fr) minmax(145px,1.15fr);gap:10px}.delivery-card-fields input{width:100%;min-width:0}.delivery-card-episodes{margin-top:13px}.delivery-card-episodes>summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;cursor:pointer;color:#654728;font-size:12px;line-height:1.6}.delivery-card-episodes>summary::before{content:'▸';color:#986c33}.delivery-card-episodes[open]>summary::before{content:'▾'}.delivery-card-episodes>summary::-webkit-details-marker{display:none}.delivery-card-episodes>summary>b{flex:1;min-width:80px;overflow-wrap:anywhere}.delivery-card-episodes>summary>span{font-size:11px;color:#7c6345}.delivery-card-episodes>summary:focus-visible{outline:2px solid #855c29;outline-offset:3px}.delivery-batch-card .delivery-range{gap:7px}.delivery-batch-card .delivery-range input{width:92px}.delivery-batch-card .delivery-episodes{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:5px;max-height:205px}.delivery-batch-card .delivery-episodes label{padding:7px 5px}.delivery-batch-card .delivery-episodes input{width:15px;height:15px}.delivery-batch-card:has([data-card-pick]:checked){border-color:#738452;border-left-color:#657c45}
@media(max-width:760px){.delivery-batch-list{grid-template-columns:1fr}.delivery-batch-date-controls{align-items:stretch}.delivery-batch-date-controls>label{flex:1;min-width:145px}.delivery-batch-date-controls input{width:100%}.delivery-batch-card{padding:12px}.delivery-card-fields{gap:8px}.delivery-batch-generator{gap:8px}.delivery-batch-generator>.btn{max-width:100%;white-space:normal}}
.roster .shift.rest,.shift-legend .shift.rest{background:#d5e9ff;color:#164b7a;border:1px solid #5489b7}.roster .shift.leave,.shift-legend .shift.leave{background:#ffd9d4;color:#902c2c;border:1px solid #c95d51}.roster .shift.swap,.shift-legend .shift.swap{background:#eadcff;color:#643b90;border:1px solid #9565b7}.roster .shift{width:42px;min-width:42px;height:34px;font-size:12px;font-weight:700;cursor:pointer}.roster .shift.today{outline:2px solid #845015;outline-offset:1px}.roster .roster-today{background:#f8d16e;color:#51340d;min-width:50px}.roster .roster-today b{font-size:24px;font-weight:800}.roster .roster-today .today-label{display:block;font-size:11px;font-weight:750}.roster td.roster-today-cell{background:#ffefbd}.roster .roster-role th{position:static;text-align:left;padding:10px 14px;background:#ecdbaf;color:#664a27;font-size:13px;font-weight:750;border-top:2px solid #c8a66c}.roster-role small{font-weight:500;margin-left:9px}.roster .roster-person{white-space:nowrap;min-width:122px}.roster .roster-person small{display:block;font-size:10px;color:#7c6345}
.shift-legend .shift{width:auto;min-width:38px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.roster-date-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:14px 18px;background:#f8dfa0;border:1px solid #be9551;border-radius:8px}.roster-date-banner strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:1px}.roster-date-banner span{font-size:13px}
.shift-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.shift-picker button{padding:20px 10px;border:2px solid;border-radius:9px;font-size:18px;font-weight:750;cursor:pointer}.shift-picker button small{display:block;font-size:11px;font-weight:500;margin-top:6px}.shift-picker .rest{background:#d5e9ff;color:#164b7a;border-color:#5489b7}.shift-picker .leave{background:#ffd9d4;color:#902c2c;border-color:#c95d51}.shift-picker .swap{background:#eadcff;color:#643b90;border-color:#9565b7}.shift-picker button[aria-pressed=true]{box-shadow:inset 0 0 0 2px currentColor}.shift-picker button:focus-visible{outline:3px solid #51340d;outline-offset:3px}.shift-restore{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.cal-day.leave{background:#ffd9d4;color:#902c2c}.cal-day.rest{background:#d5e9ff;color:#164b7a}.cal-day.swap{background:#eadcff;color:#643b90}.cal-day.today{outline:2px solid #845015;outline-offset:1px}.cal-day.today b{font-size:24px}.top-right .business-date-control input{font-size:16px;font-weight:750;min-height:40px;width:164px;padding:6px 8px;background:#ffedb9;border:2px solid #bd934e}.top-right .business-date-text{font-size:18px;font-weight:750;color:#69471d}
@media(max-width:1000px){.delivery-list{grid-template-columns:1fr}}@media(max-width:620px){.delivery-panel{padding:14px}.delivery-card{padding:12px;gap:10px}.delivery-countdown{flex-basis:60px}.delivery-countdown strong{font-size:28px}.delivery-heading h2{font-size:21px}.delivery-summary{gap:12px}.shift-picker{gap:6px}.shift-picker button{font-size:16px;padding:16px 5px}.roster-date-banner strong{font-size:22px}.top-right .business-date-control input{font-size:12px;width:128px;min-height:34px}.top-right .business-date-text{font-size:14px}}
