.duty-desk { max-width: 1480px; margin: 0 auto; min-width: 0; }
.duty-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.duty-heading h1 { margin:0; font-size:23px; line-height:1.3; letter-spacing:-.025em; font-weight:650; }
.duty-heading h1 span { display:inline-block; margin-left:8px; font-size:14px; font-weight:450; color:var(--muted); }
.duty-heading p,.duty-results-heading p { color:var(--muted); font-size:12px; line-height:1.6; margin:5px 0 0; }
.duty-desk fieldset { min-width:0; margin:0; padding:0; border:0; }
.duty-context { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:18px !important; }
.duty-context .nbi-toolbar { margin:0; padding:0; border:0; gap:8px; }
.duty-main-actions,.duty-recovery-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.duty-main-actions strong { border-left:1px solid var(--border); padding-left:8px; font-variant-numeric:tabular-nums; }
.duty-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px !important; background:var(--card); border:1px solid var(--border) !important; border-radius:6px; }
.duty-search { display:flex; flex:1 1 240px; min-width:0; align-items:center; gap:9px; height:44px; padding:0 10px; background:var(--background); border:1px solid var(--border); border-radius:5px; color:var(--muted); }
.duty-search input { width:100%; min-width:0; background:transparent; border:0; color:var(--foreground); outline:none; height:42px; }
.duty-search:focus-within { outline:2px solid #c479ac; outline-offset:2px; }
.duty-filters select { max-width:240px; min-height:44px; }
.duty-status-tabs { display:flex; overflow-x:auto; gap:4px; padding:12px 0; border-bottom:1px solid var(--border); }
.duty-status-tabs button { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; min-height:44px; padding:8px 12px; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--muted); font-size:12px; }
.duty-status-tabs strong { font-weight:600; font-variant-numeric:tabular-nums; color:var(--foreground); }
.duty-status-tabs button[aria-pressed="true"] { background:var(--nbi-accent-soft); border-color:var(--border); color:var(--foreground); }
.duty-status-tabs button:hover:not(:disabled),.duty-booking-details:hover:not(:disabled) { background:var(--nbi-raised); }
.duty-results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:20px 0 10px; }
.duty-results-heading h2 { margin:0; font-size:14px; font-weight:600; }
.duty-rows { border:1px solid var(--border); border-radius:6px; overflow:hidden; background:var(--card); }
.duty-row { display:grid; grid-template-columns:90px minmax(0,1fr) minmax(130px,180px) auto; align-items:center; gap:14px; padding:12px 16px; }
.duty-row+.duty-row { border-top:1px solid var(--border); }
.duty-booking-time { display:grid; gap:4px; font-variant-numeric:tabular-nums; }
.duty-booking-time>strong { font-size:15px; font-weight:600; }
.duty-booking-time>span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:12px; }
.duty-booking-details { min-width:0; border:0; border-radius:4px; padding:6px 8px; margin:-6px -8px; background:transparent; text-align:left; color:var(--foreground); }
.duty-booking-details strong { display:block; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.duty-booking-details span,.duty-booking-details small,.duty-booking-status small { display:block; color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.duty-booking-details small { font-size:11px; }
.duty-booking-status { min-width:0; display:grid; justify-items:start; gap:5px; }
.duty-booking-status .nbi-status { white-space:normal; overflow-wrap:anywhere; }
.duty-row-actions { display:flex; align-items:center; gap:7px; }
.duty-row-actions .nbi-button { font-size:12px; white-space:nowrap; }
.duty-row-actions .duty-move { padding-left:9px; padding-right:9px; }
.duty-complete-confirm { grid-column:1 / -1; padding:12px 14px; border:1px solid var(--border); border-radius:5px; background:var(--nbi-raised); }
.duty-complete-confirm p,.duty-recovery p { margin:0 0 10px; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.duty-recovery { margin:0 0 16px; padding:14px; border:1px solid #8b7052; border-radius:6px; background:#38291e; }
.duty-recovery h2 { margin:0 0 6px; font-size:14px; line-height:1.5; }
.duty-notice { border-left:3px solid #9ab699; background:#263529; padding:10px 12px; margin:0 0 16px; color:#d1e5d0; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.duty-schedule-warning { display:flex; gap:10px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:12px; margin-top:10px; }
.duty-schedule-warning p { margin:0; }
.duty-empty { border:1px dashed var(--border); border-radius:6px; padding:24px 18px; color:var(--muted); }
.duty-empty strong { color:var(--foreground); font-size:14px; }
.duty-empty p,.duty-footer { font-size:12px; line-height:1.6; }
.duty-footer { margin-top:14px; color:var(--muted); }
.duty-desk :is(button,input,select):focus-visible,.duty-heading h1:focus-visible { outline:2px solid #c479ac; outline-offset:3px; }
@media (max-width:1023px) { .duty-row { grid-template-columns:78px minmax(0,1fr) 150px; gap:10px; } .duty-row-actions { grid-column:2 / -1; } .duty-results-heading { align-items:flex-start; } }
@media (max-width:639px) { .duty-heading { gap:8px; } .duty-heading h1 { font-size:21px; } .duty-heading h1 span { display:block; margin:3px 0 0; font-size:12px; } .duty-heading p { font-size:11px; max-width:240px; } .duty-heading>.nbi-button { padding-left:9px; padding-right:9px; font-size:12px; } .duty-context { display:block; } .duty-context .nbi-toolbar { margin-bottom:10px; } .duty-main-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .duty-main-actions .nbi-button { min-width:0; font-size:12px; padding:9px 6px; } .duty-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px !important; } .duty-search { grid-column:1 / -1; } .duty-filters .nbi-inline-field { min-width:0; display:grid; gap:4px; font-size:11px; } .duty-filters select { width:100%; min-width:0; max-width:none; } .duty-status-tabs { margin-right:-3px; padding-right:3px; } .duty-status-tabs button { padding:8px 10px; } .duty-results-heading { display:block; margin-top:16px; } .duty-results-heading p { font-size:11px; } .duty-row { grid-template-columns:66px minmax(0,1fr); align-items:start; gap:8px 10px; padding:14px 12px; } .duty-booking-time>strong { font-size:13px; } .duty-booking-time>span { font-size:11px; } .duty-booking-status { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; } .duty-booking-status small { font-size:11px; } .duty-row-actions { grid-column:1 / -1; justify-content:flex-end; margin-top:4px; } .duty-row-actions .nbi-button { min-height:44px; flex:1; } .duty-complete-confirm { padding:10px; } .duty-recovery-actions { align-items:stretch; } .duty-recovery-actions .nbi-button { flex:1 1 160px; } .duty-recovery { padding:12px; } }
