/* round 7 module (ncr), built by B12: existing variables only (var(--ink) … var(--on-accent,#fff)), no hex colours. F13 NCR / MRB and CAPA. */
#ncrRoot{max-width:1500px}
.ncr-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 4px}
.ncr-wrap{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1100px){.ncr-wrap{grid-template-columns:minmax(0,1fr)} .ncr-list{position:static;max-height:none} .ncr-rows{max-height:340px}}

/* list */
.ncr-list{padding:12px 0 6px;position:sticky;top:8px;max-height:calc(100vh - 110px);display:flex;flex-direction:column}
.ncr-lh{display:flex;align-items:baseline;gap:10px;padding:0 14px}.ncr-lh h3{margin:0 0 6px;font-size:16px;font-weight:800}
.ncr-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 8px}
.ncr-chip{border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:999px;height:24px;padding:0 10px;font:inherit;font-size:12px;white-space:nowrap;font-weight:600;cursor:pointer}
.ncr-chip small{color:var(--ink3);font-weight:600}
.ncr-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ncr-chip.on small{color:var(--paper);opacity:.75}
.ncr-filt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 14px 10px}
.ncr-filt input{grid-column:1 / -1}
.ncr-filt input,.ncr-filt select{font:inherit;font-size:12.5px;padding:6px 9px;border:1px solid var(--rule);border-radius:7px;background:var(--field,var(--paper));color:var(--ink);min-width:0}
.ncr-rows{overflow:auto;border-top:1px solid var(--rule);flex:1;min-height:120px}
.ncr-row{padding:10px 14px;border-bottom:1px solid var(--rule);cursor:pointer;border-left:3px solid transparent}
.ncr-row:hover{background:var(--hover)}
.ncr-row.on{background:var(--amber-l);border-left-color:var(--red)}
.ncr-r1{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12.5px;min-width:0}.ncr-r1 b{font-weight:600;white-space:nowrap}
.ncr-r1 .pill{margin-left:auto;font-family:var(--font)}
.ncr-wo{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.ncr-r1 .pill{flex:none}
.ncr-r2{font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.4}
.ncr-empty{padding:12px 14px}

/* detail */
.ncr-detail{min-width:0}
.ncr-detail .card{margin:0 0 12px}
.ncr-hrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ncr-hrow h2{margin:0;font-size:22px;letter-spacing:-.01em}
.ncr-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 4px;gap:0}
.ncr-step{position:relative;background:var(--bg2);padding:8px 14px 8px 22px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);min-width:0}
.ncr-step:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding-left:14px;border-radius:6px 0 0 6px}
.ncr-step b{display:block;font-size:13px;font-weight:700;color:var(--ink2)}
.ncr-step small{display:block;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ncr-step.done{background:var(--green-l)}.ncr-step.done b{color:var(--ink)}.ncr-step.done small{color:var(--ink2)}
.ncr-step.cur{background:var(--ink)}.ncr-step.cur b,.ncr-step.cur small{color:var(--paper)}
.ncr-step.off{opacity:.5}
.ncr-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.ncr-grid2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px}
@media (max-width:1500px){.ncr-grid2{grid-template-columns:minmax(0,1fr)}}
.ncr-ch{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.ncr-ch h3{margin:0;font-size:16px;font-weight:700}
.ncr-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.ncr-kv span,.ncr-sl{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
.ncr-kv b{font-size:15px;font-weight:700}
.ncr-sers{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.ncr-sn{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--bg2);border:1px solid var(--rule);border-radius:5px;padding:1px 7px}
.ncr-def{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 8px}
.ncr-def th{text-align:left;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);background:var(--bg2);padding:6px 8px;border-bottom:1px solid var(--rule)}
.ncr-def td{padding:6px 8px;border-bottom:1px solid var(--rule);vertical-align:top}.ncr-def .n{text-align:right}
.ncr-desc{font-size:13px;color:var(--ink2);margin:6px 0;white-space:pre-wrap}
.ncr-photos{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.ncr-ph{display:inline-grid;place-items:center;width:84px;height:52px;border:1px dashed var(--rule-hi,var(--ink3));border-radius:8px;font-size:12px;color:var(--ink3);background:var(--paper2)}

/* MRB */
.ncr-lines{display:flex;flex-direction:column}
.ncr-line{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--rule)}
.ncr-line.ncr-all{border-bottom:1px dashed var(--rule)}
.ncr-dseg button{padding:4px 10px;font-size:12px}
#ncrRoot .ncr-dseg button.on{background:var(--ink);color:var(--paper)}
.ncr-dseg button:disabled{cursor:default}.ncr-dseg button:disabled:not(.on){opacity:.55}
.ncr-sigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.ncr-sig{border:1px solid var(--rule);border-radius:9px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ncr-sig b{font-size:14px}.ncr-sig small{font-size:11.5px;color:var(--ink2);line-height:1.35}
.ncr-sig.opt{border-style:dashed;background:var(--paper2)}
.ncr-sig.ok{border-color:var(--green);background:var(--green-l)}
.ncr-sig.no{border-color:var(--red);background:var(--red-l)}
.ncr-sig .btn{align-self:flex-start;margin-top:4px}
.ncr-ok{color:var(--green-t,var(--green));font-weight:700;font-size:12.5px}
.ncr-no{color:var(--red-t,var(--red));font-weight:700}
.ncr-wait{color:var(--amber-t,var(--amber));font-weight:700;font-size:12.5px}

/* CAPA */
.ncr-cgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(110px,.7fr) minmax(150px,.7fr) minmax(0,1.2fr);gap:10px}
@media (max-width:1250px){.ncr-cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ncr-cacts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}

/* form + shared fields */
.ncr-form{min-width:min(760px,86vw)}
.ncr-fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin:8px 0}
.ncr-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.ncr-fld>span{font-size:11.5px;font-weight:700;color:var(--ink2);letter-spacing:.02em}
.ncr-fld input,.ncr-fld select,.ncr-fld textarea{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--rule);border-radius:7px;background:var(--field,var(--paper));color:var(--ink);width:100%;box-sizing:border-box;resize:vertical}
.ncr-fld input:disabled,.ncr-fld textarea:disabled{background:var(--bg2);color:var(--ink2)}
.ncr-wide{grid-column:span 2}.ncr-full{grid-column:1 / -1}
@media (max-width:760px){.ncr-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ncr-codes{display:flex;flex-wrap:wrap;gap:5px;max-height:190px;overflow:auto}
.ncr-code{border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:6px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer}
.ncr-code b{font-family:var(--mono);font-weight:600}
.ncr-code.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ncr-pre{background:var(--bg2);border:1px solid var(--rule);border-radius:8px;padding:10px;font-family:var(--mono);font-size:11.5px;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow:auto}
.ncr-mon{width:100%;border-collapse:collapse;font-size:13px}.ncr-mon th{text-align:left;font-size:11px;color:var(--ink3);padding:6px 8px;border-bottom:1px solid var(--rule)}
.ncr-mon td{padding:6px 8px;border-bottom:1px solid var(--rule);vertical-align:top}.ncr-mon .n{text-align:right}
/* v1 polish (V1-H): the dry-run banner on the Send to monday dialog */
.ncr-drybar{border:1px dashed var(--amber);background:var(--amber-l);color:var(--ink);margin:6px 0 8px}
.ncr-dseg{flex:none} .ncr-dseg button{white-space:nowrap}
.ncr-line{flex-wrap:wrap}.ncr-line>.ncr-sn{white-space:nowrap;flex:none;max-width:100%;overflow-wrap:anywhere}

/* R10 (G10): More filters, photos line, the timeline as a 2 × 2 grid under 1100 px */
.ncr-more{padding:0 14px 8px} .ncr-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:6px} .ncr-more .ncr-filt{padding:0} .ncr-more .ncr-chip{justify-self:start}
.ncr-r2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
p.ncr-photos{margin:8px 0 0}
@media (max-width:1100px){.ncr-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px} .ncr-step,.ncr-step:first-child{clip-path:none;border-radius:6px;padding:8px 12px} .ncr-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
#ncrRoot small{font-size:max(11px,.85em)} .ncr-chip small{font-size:inherit}

/* R10 fix (F9a): status chips on one line at 1440, More filters in 2 columns so the selects are not cut, key-value tiles sized to their text */
.ncr-chips{gap:4px}.ncr-chips .ncr-chip{padding:0 8px}
.ncr-more .ncr-filt{grid-template-columns:repeat(2,minmax(0,1fr))}
.ncr-kv{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr)}
@media (min-width:1300px){.ncr-wrap{grid-template-columns:minmax(290px,400px) minmax(0,1fr)}}
