/* Shared checklist components: retain the existing utilitarian crew-desk styling. */
.checklist-panel { min-width:0; max-width:100%; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:20px; }
.checklist-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.checklist-heading h2 { font-size:16px; font-weight:700; color:#0f172a; }
.checklist-subheading { font-size:14px; font-weight:700; margin-top:24px; }
.checklist-help { color:#475569; font-size:12px; line-height:1.6; margin:10px 0; }
.checklist-panel button { min-height:44px; padding:8px 12px; border:1px solid #cbd5e1; border-radius:8px; font-size:12px; font-weight:600; color:#334155; background:white; }
.checklist-panel button:disabled { opacity:.45; cursor:wait; }
.checklist-panel button.checklist-primary { background:#0f172a; color:#fff; border-color:#0f172a; }
.checklist-panel button.checklist-danger { color:#be123c; }
.checklist-panel textarea { display:block; width:100%; box-sizing:border-box; margin:8px 0; padding:10px; border:1px solid #cbd5e1; border-radius:8px; font-size:16px; color:#1e293b; }
.checklist-panel label { font-size:12px; font-weight:600; }
.checklist-item { border-top:1px solid #e2e8f0; padding:14px 0; margin-top:12px; }
.checklist-item-text { font-size:14px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; color:#1e293b; }
.checklist-item-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.checklist-table-scroll { width:100%; max-width:100%; overflow:auto; border:1px solid #e2e8f0; border-radius:8px; }
.checklist-table-scroll table { width:100%; border-collapse:collapse; font-size:12px; }
.checklist-table-scroll th, .checklist-table-scroll td { padding:12px; border-bottom:1px solid #e2e8f0; min-width:120px; max-width:180px; overflow-wrap:anywhere; text-align:center; vertical-align:top; }
.checklist-table-scroll thead th { background:#f8fafc; }
.checklist-table-scroll th:first-child { text-align:left; position:sticky; left:0; background:#f8fafc; min-width:140px; }
.checklist-acknowledged { color:#047857; font-weight:700; }
.checklist-archive { margin-top:20px; font-size:12px; }
.checklist-history { background:#f8fafc; border-radius:8px; margin-top:16px; padding:12px; }
.checklist-portal-row { padding:14px 0; border-top:1px solid #e2e8f0; }
.checklist-portal-row:first-of-type { border-top:0; padding-top:0; }
.checklist-panel .checklist-retry { margin-bottom:8px; }
.checklist-portal-row label { display:flex; gap:12px; align-items:flex-start; min-height:44px; cursor:pointer; }
.checklist-portal-row input { width:22px; height:22px; flex-shrink:0; margin-top:2px; accent-color:#047857; }
.checklist-portal-content { flex:1; min-width:0; }
.checklist-portal-text { font-size:14px; font-weight:500; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.checklist-portal-note { display:block; margin-top:4px; font-size:13px; line-height:1.5; color:#475569; white-space:pre-wrap; overflow-wrap:anywhere; }
.checklist-note-form { margin-top:12px; }
.checklist-save-state { font-size:12px; margin:6px 0 0 34px; color:#475569; }
.checklist-save-state[data-state="error"] { color:#be123c; }
.checklist-panel :focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
.checklist-panel [hidden] { display:none !important; }
.checklist-create-actions { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.checklist-panel select { min-height:44px; max-width:100%; display:block; background:#fff; color:#1e293b; border:1px solid #cbd5e1; border-radius:8px; padding:8px 12px; font-size:16px; margin-top:4px; }
.checklist-requirement-control { display:block; width:fit-content; margin-top:12px; }
.checklist-row-meta { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:4px 0 0; }
.checklist-row-meta .checklist-save-state { margin:0; font-weight:400; }
.checklist-requirement-badge { font-size:11px; line-height:1.5; font-weight:600; border-radius:6px; padding:3px 7px; color:#475569; background:#f1f5f9; }
.checklist-requirement-badge.is-required { color:#92400e; background:#fef3c7; }
.checklist-missing { color:#92400e; background:#fffbeb; font-weight:600; }
.shift-checklist-badge { margin-top:6px; padding:3px 5px; font-size:10px; line-height:1.4; border-radius:4px; background:#fef3c7; color:#92400e; overflow-wrap:anywhere; }
.shift-checklist-status { border:1px solid #fde68a; background:#fffbeb; border-radius:8px; color:#78350f; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.shift-checklist-status[hidden] { display:none; }
.shift-checklist-status summary { cursor:pointer; padding:12px; min-height:44px; }
.shift-checklist-heading { font-weight:700; }
.shift-checklist-hint { display:block; padding-left:14px; font-size:11px; margin-top:2px; }
.shift-checklist-details { padding:0 12px 12px; }
.shift-checklist-details > p:not(.checklist-help) { font-weight:600; }
.shift-checklist-status .details-open-label { display:none; }
.shift-checklist-status[open] .details-open-label { display:inline; }
.shift-checklist-status[open] .details-closed-label { display:none; }
.shift-checklist-status summary:focus-visible { outline:2px solid #3c84fa; outline-offset:3px; border-radius:8px; }
.shift-checklist-status ul { list-style:disc; padding-left:18px; margin-bottom:8px; }
.shift-checklist-status button { min-height:44px; padding:6px 10px; border:1px solid currentColor; border-radius:6px; font-weight:600; }
.shift-checklist-status[data-state="complete"] { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
@media(max-width:640px) { .checklist-panel { padding:16px; } }
