/* round 7 module (ctb), built by B15; R11 (A6) clean-up: summary tiles, one list by due date, a row opens to the missing parts.
   Existing variables only (var(--ink) … var(--on-accent,#fff)), no hex colours. */
.ctb-held input,.os-bk input{width:auto;min-width:0;margin:0;flex:none}

/* summary tiles: each one filters the list */
.ctb-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.ctb-tile{display:flex;flex-direction:column;gap:2px;text-align:left;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--ink3);border-radius:var(--r-10,10px);padding:10px 14px;cursor:pointer;min-width:0}
.ctb-tile:hover{background:var(--hover)}
.ctb-tile .l{font-size:var(--fs-13,13px);font-weight:700;color:var(--ink2)}
.ctb-tile .v{font-size:var(--fs-26,26px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.ctb-tile .d{font-size:var(--fs-12,12px);color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctb-tile.ok{border-left-color:var(--green)} .ctb-tile.ok .v{color:var(--green-t,var(--green))}
.ctb-tile.bad{border-left-color:var(--red)}
.ctb-tile.eng{border-left-color:var(--purple)}
.ctb-tile.warn{border-left-color:var(--amber)}
.ctb-tile.on{box-shadow:0 0 0 2px var(--indigo);border-color:var(--indigo)}
.ctb-tile.ok.on{background:var(--green-l)} .ctb-tile.bad.on{background:var(--red-l)} .ctb-tile.eng.on{background:var(--purple-l)} .ctb-tile.warn.on{background:var(--amber-l)}

/* filter bar */
.ctb-bar2{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.ctb-bar2 .sp{flex:1}
.ctb-bar2 input[type=search]{width:240px;max-width:100%;height:30px;margin:0}
.ctb-sel{font:inherit;font-size:var(--fs-12,12px);font-weight:600;border:1px solid var(--rule);border-radius:999px;height:26px;padding:0 10px;background:var(--paper);color:var(--ink2);max-width:220px;cursor:pointer}
.ctb-sel.on{background:var(--indigo);border-color:var(--indigo);color:var(--on-accent,#fff)}
.ctb-focus{margin:0 0 8px;color:var(--ink2)}

/* the list */
.ctb-main{margin:0 0 12px;padding:4px 10px 10px}
.ctb-tw{overflow-x:auto}
.ctb-t{width:100%;border-collapse:collapse;font-size:var(--fs-13,13px);table-layout:fixed}
.ctb-t col.c-x{width:30px} .ctb-t col.c-due{width:88px} .ctb-t col.c-job{width:220px} .ctb-t col.c-st{width:150px} .ctb-t col.c-eta{width:132px} .ctb-t col.c-h{width:64px}
.ctb-t th{text-align:left;font-size:var(--fs-11,11px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:8px 8px;border-bottom:1px solid var(--rule);white-space:nowrap}
.ctb-t td{padding:9px 8px;vertical-align:top;overflow-wrap:anywhere}
.ctb-t tbody.ctb-jb{border-bottom:1px solid var(--rule)}
.ctb-t th.n,.ctb-t td.n{text-align:right}
.ctb-t tr.ctb-r{cursor:pointer}
.ctb-t tr.ctb-r:hover td{background:var(--hover)}
.ctb-t tbody.open tr.ctb-r td{background:var(--indigo-xl,var(--hover))}
.ctb-t tbody.dim tr.ctb-r{opacity:.7}
.ctb-chev{border:0;background:none;color:var(--ink3);font:inherit;font-size:var(--fs-13,13px);width:20px;height:20px;padding:0;cursor:pointer;line-height:20px}
.ctb-chev:hover{color:var(--indigo)}
.ctb-due{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctb-due.late{color:var(--red-t,var(--red))}
.ctb-due.none{color:var(--ink3);font-weight:500}
.ctb-job .ctb-wo{font-weight:700;font-size:var(--fs-13,13px);color:var(--ink);text-decoration:none;white-space:nowrap}
.ctb-job .ctb-wo:hover{color:var(--indigo);text-decoration:underline}
.ctb-job .sub,.os-job .sub{display:block;font-size:var(--fs-12,12px);color:var(--ink2);margin-top:3px}
.ctb-st{white-space:nowrap}
.ctb-plus{display:block;font-size:var(--fs-12,12px);color:var(--ink3);margin-top:3px}
.ctb-b{line-height:1.45;color:var(--ink)}
.ctb-b+.ctb-b{margin-top:2px;color:var(--ink2)}
.ctb-ok{color:var(--green-t,var(--green));font-weight:600}
.ctb-d{display:block;font-size:var(--fs-13,13px);font-variant-numeric:tabular-nums}
.ctb-d.unk{color:var(--red-t,var(--red))}
.ctb-note{display:block;font-size:var(--fs-12,12px);margin-top:2px}
.ctb-note.warn{color:var(--amber-t,var(--ink2))}
.ctb-note.bad{color:var(--red-t,var(--red))}
.ctb-h{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.ctb-noeta{color:var(--red-t,var(--red));font-weight:700}
.ctb-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 12px 0}

/* opened row: the missing-parts detail */
.ctb-t tr.ctb-dr td{padding:0 8px 12px}
.ctb-dl{background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-6,6px);padding:10px 14px}
.ctb-todo{margin:0 0 8px;padding-left:20px;line-height:1.7}
.ctb-todo .pill{margin-right:4px}
.ctb-ask{color:var(--ink3);font-size:var(--fs-12,12px);margin-left:4px}
.ctb-dl-ok{margin:0 0 8px;color:var(--green-t,var(--green));font-weight:600}
.ctb-dh{font-size:var(--fs-11,11px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:10px 0 4px}
.ctb-pt{width:100%;border-collapse:collapse;font-size:var(--fs-12,12px);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-6,6px)}
.ctb-pt th{text-align:left;font-size:var(--fs-11,11px);font-weight:700;color:var(--ink3);padding:5px 8px;border-bottom:1px solid var(--rule)}
.ctb-pt td{padding:5px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
.ctb-pt tr:last-child td{border-bottom:0}
.ctb-pt th.n,.ctb-pt td.n{text-align:right}
.ctb-pt td:not(.ctb-pn){white-space:nowrap}
.ctb-pol{margin:0;padding-left:18px;font-size:var(--fs-12,12px);color:var(--ink2);line-height:1.6}
.ctb-later{margin:8px 0 0;font-size:var(--fs-12,12px);color:var(--amber-t,var(--ink2))}
.ctb-dk{margin-top:8px;font-size:var(--fs-12,12px);color:var(--ink3)}
.ctb-da{margin-top:8px}

/* parts ranking (folded under the list) */
.ctb-rankd{margin:0 0 12px}
.ctb-rankd>summary{cursor:pointer;font-size:var(--fs-14,14px)}
.ctb-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 16px;margin-top:8px}
.ctb-rk{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--rule);background:none;padding:9px 4px;font:inherit;color:var(--ink);cursor:pointer}
.ctb-rk:hover{background:var(--hover)}
.ctb-rk.on{background:var(--indigo-l)}
.ctb-rn{color:var(--ink3);font-weight:700;font-size:var(--fs-12,12px);text-align:center}
.ctb-rb{min-width:0}
.ctb-mpn{font-weight:700;font-size:var(--fs-13,13px);color:var(--ink)}
.ctb-rb .ctb-mpn{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctb-rs{display:block;font-size:var(--fs-12,12px);color:var(--ink2);margin-top:1px}
.ctb-bar{display:block;height:4px;border-radius:2px;background:var(--grey-l);margin-top:5px;overflow:hidden}
.ctb-bar i{display:block;height:100%;background:var(--ink2);border-radius:2px}
.ctb-rh{text-align:right;white-space:nowrap}
.ctb-rh b{display:block;font-variant-numeric:tabular-nums;font-size:var(--fs-14,14px)}
.ctb-rh span{font-size:var(--fs-11,11px);color:var(--ink3)}
.ctb-how{margin:0}
.ctb-how p{margin:0 0 6px}

/* Release queue, Waiting lane: the clear-to-build date after the "Waiting on" chips */
.ctb-qtag{display:inline-block;margin-top:3px;font-size:var(--fs-11,11px);font-weight:600;color:var(--ink2);border:1px dashed var(--rule);border-radius:4px;padding:0 5px;cursor:pointer;white-space:nowrap}
.ctb-qtag:hover{border-color:var(--indigo);color:var(--indigo)}
.ctb-qtag.unk{color:var(--red-t,var(--red))}

@media (max-width:1180px){.ctb-t col.c-job{width:180px} .ctb-t col.c-st{width:132px} .ctb-t col.c-eta{width:112px} .ctb-t col.c-h{width:52px}}
@media (max-width:900px){.ctb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))} .ctb-t{table-layout:auto;min-width:720px}}
