/* Duty Tracker page (v1.9). Uses the portal theme variables so every theme works. */
.duty-top{margin-top:6px}
.duty-dept{min-width:200px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--field);color:var(--strong);font:inherit}
.duty-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.duty-cards .card .big{font-size:26px}
.duty-cards .card.live .big{color:var(--green)}
.duty-cards .card.warn .big{color:var(--amber)}
.duty-cards .card.bad .big{color:var(--red)}
.duty-manage{display:flex;align-items:flex-end;gap:10px 14px;flex-wrap:wrap;padding:14px 16px;overflow:visible}
.duty-setting{display:grid;gap:6px}
.duty-setting label{font-size:12px;color:var(--text-3);letter-spacing:.03em}
.duty-setting .inrow{display:flex;gap:6px;align-items:center}
.duty-setting input{width:120px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--strong);font:inherit}
.duty-setting input:disabled{opacity:.6}
.duty-setting .unit{color:var(--text-3);font-size:13px}
.duty-table th.sortable{cursor:pointer;user-select:none}
.duty-table th.sortable.on{color:var(--strong)}
.duty-table td.lead{white-space:normal}
.duty-sub{font-size:12px;color:var(--text-4);font-weight:500;margin-top:2px}
.duty-flags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.duty-flags .chip{font-size:10.5px;padding:3px 8px}
.duty-under{color:var(--amber);font-weight:700}
.duty-up{color:var(--green)}
.duty-down{color:var(--red)}
.duty-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.duty-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.duty-metric{padding:11px 12px;border-radius:12px;background:color-mix(in srgb,var(--deep) 45%,transparent);border:1px solid color-mix(in srgb,var(--line-c) 8%,transparent);min-width:0}
.duty-metric b{display:block;font-size:16px;color:var(--strong);overflow-wrap:anywhere}
.duty-metric span{display:block;font-size:11px;color:var(--text-4);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}
.duty-h{margin:20px 0 8px;font-size:15px}
.duty-note-entry{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}
.duty-note-entry textarea{flex:1;min-height:60px}
.duty-note{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--deep) 35%,transparent);margin:6px 0}
.duty-note p{margin:6px 0 0;white-space:pre-wrap;word-break:break-word}
table.duty-mini td{font-size:13px;white-space:normal}
table.duty-mini tbody tr{cursor:default}
@media(max-width:700px){
  .duty-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duty-manage{align-items:stretch}
  .duty-dept{min-width:0;width:100%}
  .duty-note-entry{flex-direction:column;align-items:stretch}
}
