/* 담당 지정(#/duty) */
.duty-body { display: grid; gap: var(--s-4); }
.dy-box, .dy-room { padding: var(--s-4); border: 1px solid var(--border); border-radius: var(--r-card); background: var(--surface); display: grid; gap: var(--s-3); }
.dy-ward { border-color: color-mix(in srgb, var(--brand) 40%, var(--border)); background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 5%, var(--surface)), var(--surface)); }
.dy-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2) var(--s-3); }
.dy-head b { font-size: var(--fs-16, 1rem); }
.dy-head .muted { font-size: var(--fs-13); }
.dy-rooms { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.dy-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
.dy-beds { display: grid; gap: var(--s-2); border-top: 1px dashed var(--border); padding-top: var(--s-3); }
.dy-bed { display: grid; grid-template-columns: 3.25rem 1fr; gap: var(--s-2); align-items: center; }
.dy-bedno { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-2); }
.dy-empty { margin: 0; color: var(--text-3, var(--text-2)); font-size: var(--fs-12); }
.dy-chip { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 2.75rem; padding: 0 var(--s-3) 0 var(--s-2); border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); color: var(--text); font: inherit; cursor: pointer;
  transition: transform var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease), background-color var(--d-fast) var(--ease); }
.dy-chip:hover { border-color: var(--brand); }
.dy-chip:active { transform: scale(.98); }
.dy-chip[data-role="backup"] { border-style: dashed; }
.dy-chip[data-off="1"] { opacity: .5; }
.dy-chip[data-warn="1"] { border-color: color-mix(in srgb, var(--st-delay-line) 60%, var(--border)); }
.dy-av { display: grid; place-items: center; width: 2rem; height: 2rem; flex: none; border-radius: 50%; background: var(--brand-soft); color: var(--brand-soft-fg); font-weight: 700; }
.dy-chip[data-role="backup"] .dy-av { background: var(--st-active-bg); color: var(--st-active-fg); }
.dy-main { display: grid; text-align: left; line-height: 1.2; }
.dy-main b { font-size: var(--fs-14); }
.dy-main small { color: var(--text-2); font-size: var(--fs-12); }
.dy-warn { display: grid; place-items: center; color: var(--st-delay-fg); }
.dy-warn svg { width: 1rem; height: 1rem; }
.dy-add { display: inline-flex; align-items: center; gap: 4px; min-height: 2.75rem; padding: 0 var(--s-3); border: 1px dashed var(--border-strong, var(--border)); border-radius: 999px; background: none; color: var(--text-2); font: inherit; font-size: var(--fs-13); cursor: pointer; }
.dy-add:hover { border-color: var(--brand); color: var(--brand); }
.dy-add svg { width: 1rem; height: 1rem; }
.dy-notice { display: flex; gap: var(--s-2); align-items: flex-start; padding: var(--s-3) var(--s-4); border-radius: var(--r-ctl); background: var(--st-delay-bg); color: var(--st-delay-fg); font-size: var(--fs-13); line-height: 1.45; }
.dy-notice svg { width: 1.125rem; height: 1.125rem; flex: none; margin-top: 1px; }
.dy-prev { display: grid; gap: var(--s-2); }
.dy-prow { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) minmax(6rem, 14rem); gap: var(--s-3); align-items: center; font-size: var(--fs-13); }
.dy-ptxt[data-none="1"] { color: var(--st-delay-fg); }
.dy-ptxt em { font-style: normal; color: var(--st-delay-fg); }
.dy-gap { position: relative; height: .625rem; border-radius: 999px; background: var(--st-done-bg); overflow: hidden; }
.dy-gap i { position: absolute; top: 0; bottom: 0; background: var(--st-critical-line); opacity: .85; }
.dy-shifts, .dy-times, .dy-days { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
.dy-days button { width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-2); font: inherit; cursor: pointer; }
.dy-days button[aria-pressed="true"] { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-soft-fg); font-weight: 700; }
.dy-pwarn { margin: 0; padding: var(--s-2) var(--s-3); border-radius: var(--r-ctl); background: var(--st-delay-bg); color: var(--st-delay-fg); font-size: var(--fs-13); }
@media (max-width: 640px) { .dy-prow { grid-template-columns: 3rem 1fr; } .dy-gap { grid-column: 1 / -1; } .dy-rooms { grid-template-columns: 1fr; } }
.dy-times .input { flex: 1 1 7rem; width: auto; min-width: 0; }

/* 간병인·환자 단위 지정 표시 */
.dy-chip[data-kind="caregiver"] .dy-av { background: var(--st-done-bg); color: var(--st-done-fg); }
.dy-kind { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: var(--surface-3); color: var(--text-2); font-size: 10.5px; font-style: normal; font-weight: 650; vertical-align: 1px; }
