.shift-planner { min-width: 0; }
.shift-template { padding:0!important; overflow:hidden; }
.shift-template>summary { display:flex; align-items:center; gap:14px; padding:18px; cursor:pointer; list-style:none; }
.shift-template>summary:after { content:'⌄'; margin-left:auto; }
.shift-template[open]>summary:after { transform:rotate(180deg); }
.shift-template summary small,.staffing-minimum small { display:block; font-weight:400; color:var(--muted); margin-top:4px; }
.shift-code { background:#d8f2ef; color:#156865; border-radius:12px; padding:10px; min-width:65px; text-align:center; font-weight:700; }
.shift-code.admin { background:#ffe1b6; color:#7c4a12; }
.template-cst { margin-left:auto; color:var(--muted); white-space:nowrap; }
.template-body { padding:0 20px 20px; border-top:1px solid var(--line,#d3e2e2); }
.template-body>.form-grid { margin-top:18px; }
.block-editor { margin-top:20px; min-width:0; }
.shift-timebar { display:flex; position:relative; height:78px; border-radius:14px; margin:18px 16px 4px; background:#e5eaf0; }
.time-segment { overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:13px; text-align:center; min-width:0; color:#173940; }
.time-segment:first-child { border-radius:14px 0 0 14px; }.time-segment:last-of-type{border-radius:0 14px 14px 0;}
.time-segment.clinical,.time-legend .clinical { background:#a4ded9; }
.time-segment.support,.time-legend .support { background:#bcb2ef; }
.time-segment.break,.time-legend .break { background:#e2e6eb; }
.time-handle { position:absolute; top:17px; transform:translateX(-50%); width:34px; min-width:34px; height:44px; padding:0!important; border:2px solid #fff; border-radius:12px; background:#fff!important; color:#19454b!important; box-shadow:0 2px 9px #153d3d30; touch-action:none; z-index:1; cursor:ew-resize; }
.time-handle:focus-visible { outline:3px solid #087e77; outline-offset:4px; }
.timebar-ends { display:flex; justify-content:space-between; color:var(--muted); font-size:13px; margin:8px 16px; }
.time-legend { display:flex; flex-wrap:wrap; gap:16px; margin:18px 0; font-size:14px; }
.time-legend span { display:flex; gap:7px; align-items:center; }.time-legend i { width:12px; height:12px; border-radius:4px; }
.block-row { display:grid; grid-template-columns:minmax(95px,1fr) minmax(95px,1fr) minmax(130px,1.4fr) minmax(100px,1.4fr) auto; gap:10px; margin:12px 0; align-items:end; }
.shift-planner input,.shift-planner select,.shift-planner label { min-width:0; width:100%; max-width:100%; box-sizing:border-box; }
.shift-planner .checklabel input { width:auto; }.shift-planner .checklabel { display:flex; gap:10px; align-items:center; }
.shift-accounting { font-weight:600; color:var(--accent,#176f6e); }
.variant-editor { padding:16px 0; border-top:1px solid var(--line,#d3e2e2); }
.staffing-heading,.staffing-minimum { display:grid; grid-template-columns:minmax(120px,1fr) minmax(80px,130px) minmax(80px,130px); gap:18px; align-items:center; padding:12px 4px; border-bottom:1px solid var(--line,#d3e2e2); }
.staffing-heading { color:var(--muted); font-size:14px; }.staffing-minimum small { font-size:13px; }.staffing-minimum input { text-align:center; }
.extra-palette { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }.extra-palette button { padding:9px 14px; border-radius:12px; }
.extra-priorities { list-style:none; padding:0; margin:16px 0; display:grid; gap:10px; min-height:74px; }
.extra-slot { display:grid; grid-template-columns:40px minmax(150px,1.1fr) minmax(150px,1fr) auto; align-items:center; gap:12px; border:1px solid var(--line,#d3e2e2); border-radius:18px; padding:14px; background:var(--surface,#ffffff80); }
.extra-rank { cursor:grab; font-weight:700; color:var(--muted); }.extra-actions { display:flex; align-items:center; gap:5px; padding-top:22px; }.extra-actions button { padding:10px; font-size:13px; }
.empty-slots { border:2px dashed var(--line,#d3e2e2); border-radius:18px; padding:20px; color:var(--muted); text-align:center; }
.staffing-preview { margin-top:18px; }.draft-shift-settings { margin:24px 0; }.draft-shift-settings>summary { padding:22px; background:var(--surface,#fff9); border-radius:20px; font-size:19px; font-weight:600; cursor:pointer; }.draft-shift-settings[open]>summary { margin-bottom:20px; }
@media(max-width:1100px){.extra-slot{grid-template-columns:30px minmax(130px,1fr) minmax(140px,1fr);}.extra-actions{grid-column:2/-1;padding-top:0;justify-content:flex-end;}.block-row{grid-template-columns:1fr 1fr;}.block-row button{justify-self:start;}.template-body{padding:0 15px 15px;}}
@media(max-width:520px){.shift-template>summary{gap:9px;padding:14px;}.shift-code{min-width:52px;padding:8px;font-size:14px;}.template-cst{font-size:12px;}.shift-template summary strong{font-size:15px;}.shift-template summary small{font-size:12px;}.shift-planner .form-grid{grid-template-columns:1fr;}.staffing-heading,.staffing-minimum{grid-template-columns:minmax(95px,1fr) 74px 74px;gap:10px;}.staffing-minimum small{font-size:11px;}.extra-slot{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:12px;}.extra-slot>label{grid-column:2;}.extra-actions{grid-column:1/-1;flex-wrap:wrap;}.extra-actions button{min-height:44px;}.extra-rank{grid-row:1/3;}.time-segment{font-size:11px;}.time-handle{width:28px;min-width:28px;}.time-legend{gap:10px;font-size:12px;}}
@media(prefers-color-scheme:dark){.shift-code{background:#133f3c;color:#b4e9e2;}.shift-code.admin{background:#573813;color:#ffd8a1;}.extra-slot{background:#122527a0;}.shift-template>summary,.draft-shift-settings>summary{color:inherit;}}
