/* Safe Start / Safe Finish checklists â€” shared by ops-safe-start.html and ops-safe-finish.html */

/* Subcontractor picker: same pill toggles as the Daily Briefing */
.br-toggles { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.br-toggle { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border:1px solid #cbd5e1;
    border-radius:999px; background:#fff; font-size:.83rem; font-weight:600; color:#334155; cursor:pointer;
    user-select:none; transition:background .12s, border-color .12s, color .12s; }
.br-toggle:hover { border-color:#94a3b8; }
.br-toggle input { position:absolute; opacity:0; width:0; height:0; }
.br-toggle .tick { width:15px; height:15px; border-radius:4px; border:1.5px solid #cbd5e1; background:#fff;
    display:inline-flex; align-items:center; justify-content:center; font-size:.7rem; line-height:1; color:transparent; }
.br-toggle.on { background:#0C1248; border-color:#0C1248; color:#fff; }
.br-toggle.on .tick { background:#F9583A; border-color:#F9583A; color:#fff; }
.br-toggle.on .tick::after { content:"\2713"; }

.sc-add-sub { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
.sc-add-sub input { padding:7px 9px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; min-width:240px; }

/* Checklist grid */
.sc-table { width:100%; border-collapse:collapse; font-size:.85rem; margin-top:8px; }
.sc-table th { text-align:left; color:#64748b; font-size:.7rem; text-transform:uppercase; letter-spacing:.03em;
    border-bottom:1px solid #e2e8f0; padding:6px 6px; }
.sc-table td {padding:6px;border-bottom:1px solid #f1f5f9;vertical-align:top;text-transform: capitalize;}
.sc-table tr.sc-needs-comment { background:#fff7ed; }
.sc-table tr.sc-needs-comment .sc-c textarea { border-color:#fdba74; }

.sc-num { width:26px; color:#94a3b8; font-variant-numeric:tabular-nums; padding-top:12px !important; }
.sc-q { width:46%; line-height:1.4; padding-top:11px !important; color:#0f172a; }
.sc-q input { width:100%; padding:7px 8px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; }
.sc-a { width:170px; }
.sc-c textarea {
    width:100%;
    padding:7px 8px;
    border:1px solid #cbd5e1;
    border-radius:6px;
    font:inherit;
    min-height:38px;
    resize:vertical;
    text-transform: capitalize;
    }
.sc-x { width:38px; text-align:right; }
.sc-x .ops-btn { padding:2px 8px; min-width:0; }

/* Yes / No / N/A segmented control */
.sc-ans-group { display:inline-flex; border:1px solid #cbd5e1; border-radius:8px; overflow:hidden; background:#fff; }
.sc-ans { border:0; border-left:1px solid #e2e8f0; background:#fff; padding:7px 12px; font:inherit; font-size:.8rem;
    font-weight:700; color:#64748b; cursor:pointer; transition:background .12s, color .12s; }
.sc-ans:first-child { border-left:0; }
.sc-ans:hover:not(:disabled) { background:#f1f5f9; }
.sc-ans:disabled { cursor:default; }
.sc-ans-yes.on { background:#16a34a; color:#fff; }
.sc-ans-no.on { background:#dc2626; color:#fff; }
.sc-ans-na.on { background:#64748b; color:#fff; }

.sc-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
.sc-progress { font-size:.8rem; font-weight:600; margin-left:auto; }

@media (max-width: 720px) {
    .sc-table, .sc-table tbody, .sc-table tr, .sc-table td { display:block; width:auto; }
    .sc-table thead { display:none; }
    .sc-table tr { border:1px solid #e2e8f0; border-radius:8px; padding:8px; margin-bottom:10px; }
    .sc-table td { border:0; padding:4px 2px; }
    .sc-num { display:none !important; }
    .sc-x { text-align:left; }
}
