.shift-layout-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.shift-layout-toggle button{min-width:72px;min-height:44px;padding:0 14px;border:0;background:var(--surface);color:var(--text);font-weight:800;cursor:pointer}.shift-layout-toggle button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.shift-calendar-mode .shift-nav button{min-height:44px}.shift-calendar-mode .ft-actions,.shift-calendar-mode .section-heading{flex-wrap:wrap}.shift-calendar-mode .ft-actions{min-width:0}.shift-calendar-mode .shift-nav{gap:8px}.shift-calendar-mode .shift-week-label{min-width:100px}.shift-calendar{width:100%;min-width:0}.shift-calendar-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;color:var(--muted);font-size:12px}.shift-calendar-status{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid var(--accent-soft-border);border-radius:5px;padding:2px 6px;color:var(--accent);background:var(--accent-soft);font-size:11px;font-weight:800;white-space:nowrap}.shift-calendar-status.wish{color:var(--warn-fg);background:var(--warn-bg);border:1px dashed var(--warn-line)}.shift-calendar-message{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:8px;background:var(--surface-2);color:var(--muted);padding:12px;font-size:13px}.shift-calendar-message.is-error{background:var(--danger-bg);color:var(--danger-fg)}.shift-calendar-message button{min-height:44px}.shift-calendar-grid,.shift-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.shift-calendar-weekdays{padding:9px 0;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.shift-calendar-grid{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--border);gap:1px}.shift-calendar-day,.shift-calendar-outside{min-width:0;min-height:160px;padding:8px;background:var(--surface)}.shift-calendar-outside{background:var(--surface-2);color:var(--muted-2);font-size:12px}.shift-calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:5px;border:0;border-radius:0;color:var(--text);text-align:left;font-family:inherit;cursor:pointer}.shift-calendar-day.is-weekend{background:var(--surface-2)}.shift-calendar-day.is-today{background:var(--accent-soft)}.shift-calendar-day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--accent)}.shift-calendar-day:focus-visible,.shift-layout-toggle button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.shift-calendar-day:disabled{cursor:default;opacity:1}.shift-calendar-date{display:flex;align-items:center;justify-content:space-between;gap:2px;min-height:22px;font-weight:800;font-size:14px}.shift-calendar-count,.shift-calendar-today{color:var(--accent);font-size:10px}.shift-calendar-count{display:flex;gap:4px;flex-wrap:wrap;line-height:1.3}.shift-calendar-count span{font-weight:800}.shift-calendar-count.wish{color:var(--warn-fg)}.shift-calendar-preview{display:flex;flex-direction:column;gap:5px;margin-top:2px}.shift-calendar-preview-entry{display:flex;flex-direction:column;min-width:0;border-left:2px solid var(--accent);padding-left:4px;font-size:10px;line-height:1.45}.shift-calendar-preview-entry strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-calendar-preview-entry>span{overflow-wrap:anywhere;color:var(--muted)}.shift-calendar-preview-entry.wish{border-left:2px dashed var(--warn-line);color:var(--warn-fg)}.shift-calendar-more,.shift-calendar-unavailable{color:var(--muted);font-size:11px}.shift-calendar-detail{margin-top:16px;border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface)}.shift-calendar-detail-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:12px}.shift-calendar-detail-heading h3{margin:0;font-size:17px}.shift-calendar-detail-heading>span{color:var(--muted);font-size:12px}.shift-calendar-detail-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.shift-calendar-detail-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:8px 12px;gap:8px 12px;padding:12px;border-radius:8px;background:var(--surface-2);font-size:13px}.shift-calendar-detail-entry>strong{overflow-wrap:anywhere}.shift-calendar-detail-entry>p{grid-column:2/-1;margin:0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.shift-calendar-detail-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shift-calendar-empty{color:var(--muted);font-size:13px}.shift-time-off-wish{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:100%;padding:3px 5px;border:1px dashed var(--warn-line);border-radius:5px;background:var(--warn-bg);color:var(--warn-fg);font-size:11px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}.shift-chip .shift-time-off-wish small,.shift-time-off-wish small{color:inherit;font-size:10px}.shift-time-off-wish.is-conflict{border-style:solid}.shift-time-off-detail{margin:8px 0 12px;padding:10px;border:1px dashed var(--warn-line);border-radius:5px;background:var(--warn-bg);color:var(--warn-fg);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:600px){.shift-calendar-mode .panel{padding-left:12px;padding-right:12px}.shift-calendar-mode .shift-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.shift-calendar-mode .shift-nav .shift-week-label{min-width:0;font-size:14px}.shift-calendar-mode .shift-nav button{padding-left:8px;padding-right:8px}.shift-calendar-mode .shift-nav>button:last-of-type{grid-column:2}.shift-calendar-day,.shift-calendar-outside{min-height:87px;padding:5px 2px}.shift-calendar-date{justify-content:center;font-size:13px}.shift-calendar-today{display:none}.shift-calendar-count{justify-content:center;gap:0 2px;font-size:9px}.shift-calendar-count>span{white-space:nowrap}.shift-calendar-preview{display:none}.shift-calendar-detail{padding:12px}.shift-calendar-detail-entry{grid-template-columns:auto minmax(0,1fr);padding:10px;gap:7px}.shift-calendar-detail-entry.wish>.shift-calendar-status{grid-column:1/-1}.shift-calendar-detail-time{grid-column:2}.shift-calendar-detail-entry>p{grid-column:1/-1}}