/* Weekly duty cards: local assets, shared light/dark theme. */
.duty-calendar.duty-roster{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.duty-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.duty-calendar-title{flex-shrink:0}
.duty-calendar-title h2{margin:0;color:var(--text);font-size:18px;font-weight:750;letter-spacing:-.4px;line-height:1.35}
.duty-calendar-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.duty-calendar-navigation{display:grid;grid-template-columns:32px minmax(86px,auto) 32px;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}
.duty-calendar-navigation button{display:grid;place-items:center;box-sizing:border-box;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);line-height:1}
.duty-calendar-navigation button .ui-icon{width:17px;height:17px;margin:0}
.duty-calendar-navigation [data-duty-current]{width:100%;padding:0 10px;color:var(--text);font-size:12px;font-weight:650;white-space:nowrap}
.duty-calendar-navigation button:hover{background:var(--surface);color:var(--blue)}
.duty-calendar-range{display:flex;align-items:center;gap:8px;min-height:38px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--blue) 28%,var(--border));border-radius:9px;background:var(--info-bg);color:var(--info-text)}
.duty-calendar-range-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--blue);color:var(--on-primary,#fff)}
.duty-calendar-range-icon svg{width:14px;height:14px}
.duty-calendar-range-text{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.5}
.duty-calendar-week{color:var(--blue);font-size:12px;font-weight:700;white-space:nowrap}
.duty-calendar-range-divider{color:var(--muted);opacity:.6}
.duty-calendar-period{white-space:nowrap;font-weight:550}
.duty-calendar .duty-calendar-rotate{width:auto;min-height:34px;margin:0;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:11px}
.duty-calendar-rotate{font-weight:650}
.duty-calendar-scroll{overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.duty-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-width:0;align-items:stretch}
.duty-calendar-day{display:flex;min-width:0;height:172px;min-height:172px;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color .2s,box-shadow .2s}
.duty-calendar-day:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--border));box-shadow:0 4px 12px #1421380c}
.duty-calendar-day-heading{padding:6px 9px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.duty-calendar-day-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px;line-height:1.3}
.duty-calendar-day-heading strong{color:var(--text);font-size:12px;font-weight:700}
.duty-calendar-day-heading time{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.3}
.duty-calendar-day.is-weekend{border-color:color-mix(in srgb,#f59aaa 45%,var(--border));background:color-mix(in srgb,#fb7185 4%,var(--surface))}
.duty-calendar-day.is-weekend .duty-calendar-day-heading{border-color:color-mix(in srgb,#f59aaa 35%,var(--border));background:color-mix(in srgb,#fb7185 13%,var(--surface))}
.duty-weekend-badge{margin-left:auto;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,#fb7185 20%,var(--surface));color:var(--text);font-size:9px;font-weight:650}
.duty-today-badge{padding:2px 5px;border-radius:4px;background:var(--blue);color:#fff;font-size:9px;font-weight:600}
.duty-calendar-day.is-today{border-color:var(--blue)}
.duty-calendar-people{display:flex;flex:1;min-height:0;flex-direction:column;gap:5px;overflow-y:auto;padding:6px;cursor:pointer;scrollbar-width:thin}
.duty-calendar-person{display:flex;align-items:center;flex-shrink:0;gap:5px;min-width:0;min-height:32px;padding:2px 4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 1px 2px #14213805}
.duty-calendar-name{flex:1;min-width:0;overflow:hidden;color:var(--text);font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.duty-name-full,.duty-name-short{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.duty-name-short{display:none}
.duty-calendar-name.is-short .duty-name-full{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.duty-calendar-name.is-short .duty-name-short{display:block}
.duty-calendar-person button{display:grid;flex-shrink:0;place-items:center;width:23px;min-width:23px;height:26px;min-height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:17px}
.duty-calendar-person button:hover{background:var(--red-bg,var(--surface-soft));color:var(--red-text,var(--text))}
.duty-calendar-empty{display:block;margin:4px 0;padding:4px 0;color:var(--muted);font-size:11px;font-style:italic;text-align:center}
.duty-calendar-day-footer{margin-top:auto;padding:6px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}
.duty-calendar-day-footer button{width:100%;min-height:28px;padding:5px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:500;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duty-calendar-day-footer button:hover{border-color:var(--blue);background:var(--info-bg);color:var(--blue)}
.duty-calendar button:focus-visible,.duty-calendar-people:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1200px){.duty-calendar-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.duty-calendar-controls{justify-content:flex-start}}
@media(max-width:600px){.duty-calendar-toolbar{padding:10px 12px}.duty-calendar-title h2{font-size:16px}.duty-calendar-controls{width:100%;gap:7px}.duty-calendar-range{order:-1;width:100%;justify-content:center}.duty-calendar-grid{gap:8px}.duty-calendar-day{height:172px;min-height:172px}}
@media(prefers-reduced-motion:reduce){.duty-calendar-day{transition:none}}
@media print{.duty-calendar-toolbar{border:0;padding:0}.duty-calendar-navigation,.duty-calendar-rotate,.duty-calendar-day-footer,.duty-calendar-person button{display:none!important}.duty-calendar-scroll{overflow:visible}.duty-calendar-grid{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.duty-calendar-day{height:auto;min-height:120px;overflow:visible;break-inside:avoid;border-color:#ddd;background:#fff;box-shadow:none}.duty-calendar-day-heading{background:#f8fafc}.duty-calendar-day-heading strong,.duty-calendar-name{color:#172033}.duty-calendar-people{max-height:none;overflow:visible}.duty-calendar-range{border-color:#ddd;background:#fff;color:#222}.duty-calendar-week{color:#222}.duty-calendar-person{background:#fff;border-color:#ddd}.duty-calendar-name{white-space:normal}}

@media print{.duty-calendar-name .duty-name-full,.duty-calendar-name.is-short .duty-name-full{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}.duty-calendar-name .duty-name-short{display:none!important}}

/* Anchored assignment panel; a bottom sheet on small screens. */
.duty-calendar-day[data-duty-pick-date]{cursor:pointer}
.duty-calendar-day.is-picking{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 18%,transparent)}
.duty-calendar-day:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.duty-picker-panel{position:fixed;inset:auto;z-index:150;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:0;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 16px 48px #10182830;overflow:hidden;animation:duty-panel-in .16s ease-out}
.duty-picker-panel .duty-picker-form{padding:0;max-height:min(460px,calc(100dvh - 26px));min-height:0}
.duty-picker-panel .duty-picker-form>header{display:flex;flex-shrink:0;margin:0;padding:12px 12px 8px}
.duty-picker-panel .duty-picker-form>header h2{font-size:15px;line-height:1.4}
.duty-picker-panel .duty-picker-form>header small{font-size:9px;letter-spacing:1px}
.duty-picker-panel .duty-picker-close{display:grid;place-items:center;border-radius:8px;color:var(--muted);width:32px;height:32px;min-height:32px}
.duty-picker-search-wrap{display:flex;flex-shrink:0;align-items:center;gap:8px;margin:0 12px 8px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft)}
.duty-picker-search-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 10%,transparent)}
.duty-picker-search-wrap>svg{flex-shrink:0;width:17px;height:17px;color:var(--muted)}
.duty-picker-panel .duty-picker-search{width:100%;min-width:0;min-height:38px;margin:0;padding:8px 0;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;font-size:13px;color:var(--text)}
.duty-picker-panel .duty-picker-list{display:flex;flex-direction:column;gap:4px;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 10px;scrollbar-width:thin}
.duty-picker-panel .duty-picker-person{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:36px;margin:0;padding:4px 7px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:none;transition:background .15s,border-color .15s}
.duty-picker-panel .duty-picker-person:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--blue) 40%,var(--border))}
.duty-picker-panel .duty-picker-person:has(input:checked){order:-1;border:1px solid var(--blue);border-radius:9px;background:var(--info-bg);box-shadow:none}

.duty-picker-panel .duty-picker-person>span{grid-column:auto;grid-row:auto;white-space:normal;overflow:visible;text-overflow:clip}
.duty-picker-panel .duty-picker-person>.duty-picker-person-name{flex:1;min-width:0;font-size:12px;line-height:1.4;font-weight:550;overflow-wrap:anywhere}
.duty-picker-panel .duty-picker-person input{flex-shrink:0;width:16px;height:16px;margin:0;accent-color:var(--blue)}

.duty-picker-panel .duty-picker-person:focus-within{outline:2px solid var(--blue);outline-offset:1px}
.duty-picker-panel [hidden]{display:none!important}
.duty-picker-no-results{grid-column:1/-1;margin:12px 0;text-align:center;color:var(--muted);font-size:12px}
.duty-picker-panel .duty-picker-error{flex-shrink:0;margin:0;padding:0 12px 8px;font-size:12px}
.duty-picker-panel .duty-picker-form>footer{display:flex;flex-shrink:0;align-items:center;gap:8px;margin:0;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface-soft)}
.duty-picker-count{margin-right:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.duty-picker-panel .duty-picker-form>footer button{min-height:34px;padding:6px 14px;border-radius:8px;font-size:12px}
@keyframes duty-panel-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:600px){
 .duty-picker-panel{inset:auto 0 0;width:100%;max-width:none;max-height:60dvh;border-radius:18px 18px 0 0;border-bottom:0;animation:duty-sheet-in .22s ease-out}
 .duty-picker-panel::backdrop{background:#10182880;backdrop-filter:none}
 .duty-picker-panel .duty-picker-form{max-height:calc(60dvh - 1px)}
 .duty-picker-panel .duty-picker-form>header{padding-top:20px}
 .duty-picker-panel .duty-picker-form>header:before{content:'';position:absolute;top:7px;left:calc(50% - 18px);width:36px;height:4px;border-radius:8px;background:var(--border)}
 .duty-picker-panel .duty-picker-search{font-size:16px;min-height:42px}
 .duty-picker-panel .duty-picker-person{min-height:40px}
 .duty-picker-panel .duty-picker-form>footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .duty-picker-panel .duty-picker-form>footer button{min-height:40px}
 @keyframes duty-sheet-in{from{translate:0 100%}to{translate:0 0}}
}
@media(prefers-reduced-motion:reduce){.duty-picker-panel{animation:none}.duty-picker-panel .duty-picker-person{transition:none}}
.duty-picker-panel .duty-picker-person input{height:16px;min-height:16px;min-width:16px;padding:0}
@media(max-width:600px){.workspace-ui .duty-picker-panel{padding:0;max-height:60dvh;overflow:hidden}}


/* Wrap by available content width; stack days on phones. */
@media screen{
 .duty-calendar-scroll{container-type:inline-size}
 @container (max-width:980px){
  .duty-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 }
 @container (max-width:620px){
  .duty-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 }
 @container (max-width:440px){
  .duty-calendar-grid{grid-template-columns:minmax(0,1fr)}
 }
}
@media screen and (max-width:760px){
 .duty-calendar-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .duty-calendar-day{height:auto;min-height:98px;overflow:visible}
 .duty-calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:11px 11px 0 0}
 .duty-calendar-day-heading>div{flex:1;min-width:0}
 .duty-calendar-day-heading time{flex-shrink:0;margin:0;font-size:11px}
 .duty-calendar-day-heading strong{font-size:13px}
 .duty-calendar-people{flex:none;overflow:visible;padding:8px;gap:6px}
 .duty-calendar-person{min-height:38px;padding:3px 5px;gap:8px}
 .duty-calendar-name{font-size:12px}
 .duty-calendar-person button{width:34px;min-width:34px;height:32px;min-height:32px}
 .duty-calendar-empty{margin:0;padding:6px 0}
}
@media screen and (max-width:760px){
 .duty-calendar-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}
 .duty-calendar-range{grid-column:1/-1;grid-row:1;order:0;width:100%;min-width:0;justify-content:center}
 .duty-calendar-navigation{grid-template-columns:34px minmax(0,1fr) 34px;gap:0;min-width:0;height:42px;padding:3px}
 .duty-calendar-navigation button{width:34px;min-width:34px;height:34px;min-height:34px}
 .duty-calendar-navigation [data-duty-current]{min-width:0;padding:0 8px}
 .duty-calendar .duty-calendar-rotate{height:42px;min-height:42px;padding:0 16px;font-size:12px;border-radius:8px}
}

/* Name cards: balanced icon/action columns keep the name centered. */
.duty-person-icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;color:var(--muted);background:transparent}
.duty-person-icon .ui-icon{width:17px;height:17px;margin:0;stroke-width:1.6}
.duty-calendar-name,.duty-picker-panel .duty-picker-person>.duty-picker-person-name{text-align:center}
.duty-calendar-person button{width:24px;min-width:24px}
.duty-picker-panel .duty-picker-person>.duty-person-icon{display:grid;overflow:visible}
.duty-picker-check{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px}
.duty-picker-panel .duty-picker-person:has(input:checked) .duty-person-icon{color:var(--blue)}
@media screen and (max-width:760px){.duty-calendar-person>.duty-person-icon{width:34px;height:32px}.duty-calendar-person button{width:34px;min-width:34px}}

/* Bring name-card contents closer together. */
.duty-picker-panel .duty-picker-person{display:grid;grid-template-columns:20px minmax(0,max-content) 20px;justify-content:center;gap:4px;padding-inline:5px}
.duty-picker-panel .duty-picker-person>.duty-person-icon,.duty-picker-check{width:20px}
.duty-picker-panel .duty-picker-person>.duty-picker-person-name{grid-column:auto;grid-row:auto}
.duty-picker-panel .duty-picker-person input{grid-column:auto}
.duty-calendar-person{width:100%;max-width:230px;align-self:center;gap:3px}
.duty-calendar-person>.duty-person-icon{width:20px;height:24px}
.duty-calendar-person button{width:24px;min-width:24px}
@media screen and (max-width:760px){
 .duty-calendar-person{gap:3px;padding-inline:4px}
 .duty-calendar-person>.duty-person-icon{width:24px;height:32px}
 .duty-calendar-person button{width:24px;min-width:24px}
}

/* Size the picker around the name cards, including the mobile sheet. */
.workspace-ui .duty-picker-panel{width:max-content;min-width:min(220px,calc(100vw - 24px));max-width:min(280px,calc(100vw - 24px))}
.duty-picker-panel .duty-picker-form>header{gap:8px;padding:10px 8px 7px}
.duty-picker-panel .duty-picker-form>header h2{font-size:14px}
.duty-picker-panel .duty-picker-search-wrap{margin:0 6px 7px;padding-inline:7px;gap:5px}
.duty-picker-panel .duty-picker-search{width:0;flex:1;font-size:12px}
.duty-picker-panel .duty-picker-list{padding:0 6px 8px}
.duty-picker-panel .duty-picker-person{grid-template-columns:20px minmax(0,1fr) 20px;justify-content:stretch}
.duty-picker-panel .duty-picker-form>footer{gap:6px;padding:7px 6px}
.duty-picker-panel .duty-picker-count{font-size:11px}
.duty-picker-panel .duty-picker-form>footer button{padding-inline:9px}
@media(max-width:600px){
 .workspace-ui .duty-picker-panel{margin-inline:auto;border-radius:14px 14px 0 0}
 .duty-picker-panel .duty-picker-form>header{padding-top:18px}
 .duty-picker-panel .duty-picker-search{font-size:16px}
 .duty-picker-panel .duty-picker-form>footer{padding-bottom:max(9px,env(safe-area-inset-bottom))}
}

/* Drag name cards to move a person or swap two people. */
.duty-calendar-person .duty-drag-handle{display:grid;place-items:center;flex-shrink:0;padding:0;border:0;background:transparent;color:var(--muted);cursor:grab;touch-action:none}
.duty-calendar-person .duty-drag-handle:hover{background:var(--surface-soft);color:var(--blue)}
.duty-dragging,.duty-dragging *{cursor:grabbing!important;user-select:none!important}
.duty-calendar-person.duty-drag-source{opacity:.35;border-style:dashed}
.duty-calendar-day.duty-drop-target{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 22%,transparent);background:var(--info-bg)}
.duty-calendar-person.duty-drop-person{border-color:var(--blue);background:var(--info-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 20%,transparent)}
.duty-calendar-day.duty-drop-invalid{border-color:#d45151;box-shadow:0 0 0 2px #d4515120}
.duty-drag-preview{position:fixed;z-index:10060;pointer-events:none;filter:drop-shadow(0 10px 18px #14213830)}
.duty-drag-preview .duty-calendar-person{width:100%;max-width:none;opacity:1;border-color:var(--blue);background:var(--surface);min-height:36px;padding:5px 10px}
.duty-drag-preview .duty-calendar-name{font-size:12px}
.duty-drag-hint{display:block;margin-top:5px;padding:5px 7px;border-radius:6px;background:var(--blue);color:#fff;font-size:10px;line-height:1.4;text-align:center}
.duty-drag-preview.is-invalid .duty-drag-hint{background:#b42318}
@media print{.duty-drag-preview{display:none!important}}
.duty-calendar-day-heading[data-duty-group-drag]{cursor:grab;touch-action:none}
.duty-calendar-day.duty-drag-source{opacity:.4;border-style:dashed}
.duty-drag-preview .duty-calendar-day{height:auto;min-height:0;max-height:210px;background:var(--surface);border-color:var(--blue)}
.duty-drag-preview .duty-calendar-people{max-height:150px;overflow:hidden;flex:none}
.duty-drag-preview .duty-calendar-day-heading{padding:7px 9px}
.duty-calendar .duty-calendar-clear{display:grid;place-items:center;flex-shrink:0;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted)}
.duty-calendar-clear .ui-icon{width:17px;height:17px;margin:0}
.duty-calendar .duty-calendar-clear:hover:not(:disabled){border-color:var(--red-border);background:var(--red-bg);color:var(--red-text)}
.duty-calendar .duty-calendar-clear:disabled{opacity:.4;cursor:default}
.workspace-sheet+#dutyRoster{margin-top:14px}
@media screen and (max-width:760px){
 .duty-calendar-controls{grid-template-columns:minmax(0,1fr) auto 42px}
 .duty-calendar .duty-calendar-clear{width:42px;min-width:42px;height:42px;min-height:42px;border-radius:8px}
 .duty-calendar .duty-calendar-rotate{padding-inline:10px}
 .duty-calendar-navigation{grid-template-columns:28px minmax(0,1fr) 28px}
 .duty-calendar-navigation button{width:28px;min-width:28px}
 .duty-calendar-navigation [data-duty-current]{padding-inline:2px}
}
@media print{.duty-calendar-clear{display:none!important}}

/* Weekly days as compact name tags; the colored header is also the group handle. */
@media screen{
 .duty-calendar-day{--day-tag-start:#e5edfc;--day-tag-end:#f2f6fe;--day-tag-ink:#365d9d;border-radius:14px;box-shadow:0 2px 5px #172b4d08}
 .duty-calendar-day.is-weekend{--day-tag-start:#fae5e9;--day-tag-end:#fff2f4;--day-tag-ink:#9e4b61}
 .duty-calendar-day.is-today{--day-tag-start:#d9f1eb;--day-tag-end:#edf9f5;--day-tag-ink:#24725f;border-color:color-mix(in srgb,#32987c 65%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,#32987c 18%,transparent)}
 .duty-calendar .duty-calendar-day .duty-calendar-day-heading{position:relative;display:block;padding:18px 8px 8px;border:0;border-bottom:1px solid color-mix(in srgb,var(--day-tag-ink) 15%,transparent);border-radius:13px 13px 0 0;background:linear-gradient(135deg,var(--day-tag-start),var(--day-tag-end));text-align:center}
 .duty-calendar-day-heading::before{content:'';position:absolute;top:7px;left:50%;width:26px;height:4px;transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--day-tag-ink) 20%,transparent);border-radius:4px;background:var(--surface);box-shadow:inset 0 1px 2px #172b4d12}
 .duty-calendar-day-heading>div{justify-content:center;gap:4px}
 .duty-calendar-day .duty-calendar-day-heading strong{color:var(--day-tag-ink);font-size:12px;letter-spacing:.1px}
 .duty-calendar-day .duty-calendar-day-heading time{display:block;margin:3px 0 0;color:var(--day-tag-ink);font-size:11px;line-height:1.3;font-weight:500}
 .duty-calendar-day .duty-weekend-badge,.duty-calendar-day .duty-today-badge{margin-left:0;padding:1px 4px;border:1px solid color-mix(in srgb,var(--day-tag-ink) 20%,transparent);border-radius:4px;background:color-mix(in srgb,var(--day-tag-end) 70%,white);color:var(--day-tag-ink);font-size:8px}
 .duty-calendar-people{padding:8px 6px}
 .duty-calendar-day:hover{box-shadow:0 4px 12px #172b4d12}
 [data-theme=dark] .duty-calendar-day{--day-tag-start:#253b5b;--day-tag-end:#233047;--day-tag-ink:#bad3fb}
 [data-theme=dark] .duty-calendar-day.is-weekend{--day-tag-start:#4b2e3e;--day-tag-end:#352a38;--day-tag-ink:#f0b9c9}
 [data-theme=dark] .duty-calendar-day.is-today{--day-tag-start:#214b43;--day-tag-end:#253d39;--day-tag-ink:#ade7d5}
 [data-theme=dark] .duty-calendar-day .duty-weekend-badge,[data-theme=dark] .duty-calendar-day .duty-today-badge{background:#ffffff0a}
}
@media screen and (max-width:760px){
 .duty-calendar-day{display:grid;grid-template-columns:112px minmax(0,1fr);height:auto;min-height:98px;overflow:hidden}
 .duty-calendar .duty-calendar-day .duty-calendar-day-heading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:19px 8px 10px;border-radius:13px 0 0 13px;border-bottom:0;border-right:1px solid color-mix(in srgb,var(--day-tag-ink) 15%,transparent)}
 .duty-calendar-day-heading>div{flex:none;justify-content:center;gap:4px}
 .duty-calendar-day .duty-calendar-day-heading strong{font-size:12px}
 .duty-calendar-people{align-self:center;width:100%;min-width:0;padding:8px}
 .duty-calendar-person{max-width:none}
}
