@font-face{font-family:'Clarity City';font-weight:300;font-style:normal;font-display:swap;src:url('../fonts/clarity-city-300-normal.woff2') format('woff2')}
@font-face{font-family:'Clarity City';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/clarity-city-400-normal.woff2') format('woff2')}
@font-face{font-family:'Clarity City';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/clarity-city-500-normal.woff2') format('woff2')}

:root{
  /* Brand palette aliased onto the RCL-owned Clairvynt brand tokens,
     vendored from clairvynt-brand-tokens). Change colour values in the token source, not here. */
  --dark-navy:var(--clv-color-dark-navy);--deep-navy:var(--clv-color-deep-navy);--deep-teal:var(--clv-color-deep-teal);
  --slate-blue:var(--clv-color-slate-blue);--muted-sage:var(--clv-color-muted-sage);--ice-blue:var(--clv-color-ice-blue);
  --surface:var(--clv-color-surface);--border:var(--clv-color-border);
  --border-lt:#E0EAEA; /* product-UI separator; no --clv- token */
  /* Status: light-background set, aliased onto the token *-light variants. */
  --success:var(--clv-color-success-light);--warning:var(--clv-color-warning-light);--error:var(--clv-color-error-light);
  /* Fonts: aliased onto the token typography set. */
  --fh:var(--clv-font-heading);
  --fb:var(--clv-font-body);
  --fm:var(--clv-font-mono);
  --sh-sm:0 1px 3px rgba(0,66,98,.07);
  --sh-md:0 4px 12px rgba(0,66,98,.10);
  --sh-focus:0 0 0 3px rgba(75,118,150,.22);
  --r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;
}
.pipeline-root *{box-sizing:border-box;margin:0;padding:0}
.pipeline-root{font-family:var(--fb);font-weight:400;color:var(--deep-teal);background:var(--surface);font-size:14px;line-height:1.6}
/* PD&MS/bp deployment co-branding passed into the shared product header. */
.pipeline-root .hdr-partners{display:flex;align-items:center;gap:14px;margin-right:4px}
.pipeline-root .hdr-logo{width:auto;display:block;flex-shrink:0}
.pipeline-root .hdr-logo-pdms{height:20px}
.pipeline-root .hdr-logo-bp{height:28px}
.pipeline-root .hdr-pdivider{width:1px;height:26px;background:var(--border-lt)}

/* TAB NAV */
.pipeline-root .tab-nav{position:fixed;top:56px;left:0;right:0;height:48px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;padding:0 24px;z-index:99;gap:0}
.pipeline-root .tab-btn{padding:0 20px 12px;font-family:var(--fb);font-size:14px;font-weight:400;color:var(--clv-color-text-link);border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
.pipeline-root .tab-btn:hover{color:var(--deep-teal);border-bottom-color:var(--muted-sage)}
.pipeline-root .tab-btn.active{color:var(--deep-teal);font-weight:500;border-bottom-color:var(--deep-teal)}

/* LAYOUT */
.pipeline-root .main-content{margin-top:104px;min-height:calc(100vh - 104px)}
.pipeline-root .view{padding:32px 24px}

/* CARDS */
.pipeline-root .card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:24px;box-shadow:var(--sh-sm)}
.pipeline-root .card-title{font-family:var(--fh);font-size:17px;font-weight:500;color:var(--deep-teal);line-height:1.25}
.pipeline-root .card-sub{font-size:13px;font-weight:300;color:var(--clv-color-text-link);margin-top:3px}

/* DISC PROGRESS */
.pipeline-root .disc-prog{border-top:1px solid var(--border-lt);padding-top:16px;margin-top:16px}
.pipeline-root .disc-prog-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--clv-color-text-link);margin-bottom:10px}
.pipeline-root .disc-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pipeline-root .disc-lbl{font-size:12px;font-weight:500;color:var(--clv-color-text-link);width:28px;flex-shrink:0}
.pipeline-root .prog-track{flex:1;height:6px;background:var(--border-lt);border-radius:9999px;overflow:hidden}
.pipeline-root .prog-fill{height:100%;border-radius:9999px;background:var(--deep-teal)}
.pipeline-root .prog-fill.ok{background:var(--success)}
.pipeline-root .prog-fill.mid{background:var(--warning)}
.pipeline-root .disc-pct{font-size:12px;font-weight:500;color:var(--deep-teal);width:36px;text-align:right;flex-shrink:0}
.pipeline-root .disc-cnt{font-size:12px;color:var(--clv-color-text-link);width:48px;text-align:right;flex-shrink:0}

/* ACTIVITY FEED */
.pipeline-root .activity-feed{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;max-width:720px}
.pipeline-root .activity-hdr{padding:14px 20px;border-bottom:1px solid var(--border-lt);font-family:var(--fh);font-size:14px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .activity-item{display:flex;align-items:flex-start;gap:12px;padding:13px 20px;border-bottom:1px solid var(--border-lt)}
.pipeline-root .activity-item:last-child{border-bottom:none}
.pipeline-root .act-dot{width:8px;height:8px;border-radius:9999px;background:var(--muted-sage);flex-shrink:0;margin-top:5px}
.pipeline-root .act-text{font-size:14px;color:var(--deep-teal);flex:1}
.pipeline-root .act-time{font-size:12px;color:var(--clv-color-text-link);white-space:nowrap;flex-shrink:0}

/* BUTTONS */
.pipeline-root .btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:6px;font-family:var(--fb);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none;text-decoration:none}
.pipeline-root .btn-primary{background:var(--deep-teal);color:#fff}
.pipeline-root .btn-primary:hover{background:var(--slate-blue)}
.pipeline-root .btn-ghost{background:transparent;color:var(--deep-teal);border:1.5px solid var(--border)}
.pipeline-root .btn-ghost:hover{border-color:var(--deep-teal);background:var(--surface)}
.pipeline-root .btn-sm{padding:6px 14px;font-size:13px}
.pipeline-root .action-bar{display:flex;gap:10px;margin-bottom:24px}

/* STATS BAR */
.pipeline-root .stats-bar{display:flex;gap:24px;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 20px;margin-bottom:20px;flex-wrap:wrap}
.pipeline-root .stat-item{display:flex;flex-direction:column;gap:2px}
.pipeline-root .stat-val{font-family:var(--fh);font-size:22px;font-weight:500;color:var(--deep-teal);line-height:1.2}
.pipeline-root .stat-lbl{font-size:12px;color:var(--clv-color-text-link)}
.pipeline-root .stat-div{width:1px;background:var(--border-lt);align-self:stretch}

/* TOGGLE GROUP */
.pipeline-root .toggle-group{display:inline-flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}
.pipeline-root .tog-btn{padding:7px 16px;font-family:var(--fb);font-size:13px;font-weight:400;color:var(--clv-color-text-link);background:transparent;border:none;border-right:1.5px solid var(--border);cursor:pointer;transition:all .12s}
.pipeline-root .tog-btn:last-child{border-right:none}
.pipeline-root .tog-btn:hover{background:var(--surface);color:var(--deep-teal)}
.pipeline-root .tog-btn.active{background:var(--deep-teal);color:#fff;font-weight:500}

/* TABLE */
.pipeline-root table{width:100%;border-collapse:collapse}
.pipeline-root th{background:var(--surface);font-family:var(--fh);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--clv-color-text-link);padding:10px 16px;text-align:left;border-bottom:1px solid var(--border)}
.pipeline-root td{padding:11px 16px;border-bottom:1px solid var(--border-lt);vertical-align:middle;font-size:13.5px;color:var(--deep-teal)}
.pipeline-root tr:last-child td{border-bottom:none}
.pipeline-root tr:hover td{background:rgba(75,118,150,.03)}
.pipeline-root .row-exp td{cursor:pointer}
.pipeline-root .chev-cell{width:40px;padding:11px 8px 11px 16px}
.pipeline-root .chev-icon{transition:transform .2s;color:var(--slate-blue);display:flex;align-items:center}
.pipeline-root .chev-icon.open{transform:rotate(90deg)}
.pipeline-root .exp-row td{background:var(--surface);padding:0;border-bottom:1px solid var(--border)}
.pipeline-root .exp-content{padding:20px 24px}

/* PROJECT CARDS */
.pipeline-root .pipeline-table-filter{display:inline-flex;align-items:center;gap:8px;color:var(--clv-color-text-link);font-size:12px;font-weight:500}
.pipeline-root .pipeline-filter-select{height:36px;min-width:150px;padding:0 12px;border:1.5px solid var(--clv-color-control-border);border-radius:8px;color:var(--deep-teal);font-family:var(--fb);font-size:14px;background:#fff;outline:none;cursor:pointer}
.pipeline-root .pipeline-filter-select:focus-visible{border-color:var(--slate-blue);outline:2px solid var(--clv-color-text-link);outline-offset:2px;box-shadow:var(--clv-focus-ring)}
.pipeline-root .pipeline-progress-chips{display:flex;flex-wrap:wrap;gap:4px}
.pipeline-root .pipeline-progress-chip{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid var(--clv-color-border);border-radius:9999px;color:var(--deep-teal);font-family:var(--fm);font-size:11px;line-height:1.35;white-space:nowrap;background:var(--clv-sage-08)}

/* VIEW LAYOUT */
.pipeline-root .view-layout{display:flex;gap:20px}
.pipeline-root .side-panel{width:200px;flex-shrink:0}
.pipeline-root .main-panel{flex:1;min-width:0}
.pipeline-root .sb-nav-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:14px;font-weight:400;color:var(--clv-color-text-link);cursor:pointer;border-left:3px solid transparent;transition:all .12s}
.pipeline-root .sb-nav-item:hover{background:rgba(216,234,233,.5);color:var(--deep-teal)}
.pipeline-root .sb-nav-item.active{background:var(--ice-blue);color:var(--deep-teal);font-weight:500;border-left-color:var(--muted-sage)}
.pipeline-root .sb-count{font-size:11px;background:var(--surface);color:var(--clv-color-text-link);padding:2px 8px;border-radius:9999px}

/* NARRATIVE */
.pipeline-root .narr-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:16px;overflow:hidden}
.pipeline-root .narr-hdr{padding:18px 20px;border-bottom:1px solid var(--border-lt);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pipeline-root .narr-title{font-family:var(--fh);font-size:16px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .narr-meta{font-size:12.5px;color:var(--clv-color-text-link);margin-top:4px}
.pipeline-root .narr-meta span{margin-right:14px}
.pipeline-root .narr-body{padding:20px}
.pipeline-root .scope-sec{margin-bottom:20px}
.pipeline-root .scope-lbl{font-family:var(--fh);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--clv-color-text-link);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.pipeline-root .scope-lbl::after{content:'';flex:1;height:1px;background:var(--border-lt)}
.pipeline-root .scope-steps{list-style:none;display:flex;flex-direction:column;gap:8px}
.pipeline-root .scope-step{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--deep-teal)}
.pipeline-root .step-num{width:24px;height:24px;border-radius:9999px;background:var(--surface);border:1px solid var(--border-lt);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--clv-color-text-link);flex-shrink:0;margin-top:2px}

/* QA */
.pipeline-root .qa-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}
.pipeline-root .qa-list{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.pipeline-root .qa-list-srch{padding:12px 16px;border-bottom:1px solid var(--border-lt)}
.pipeline-root .qa-list-srch input{width:100%;height:34px;border:1.5px solid var(--clv-color-control-border);border-radius:8px;padding:0 12px;font-family:var(--fb);font-size:13px;color:var(--deep-teal);background:#fff;outline:none}
.pipeline-root .qa-list-srch input:focus{border-color:var(--slate-blue)}
.pipeline-root .qa-item{display:block;width:100%;padding:10px 14px;border-top:0;border-right:0;border-bottom:1px solid var(--border-lt);cursor:pointer;border-left:3px solid transparent;background:#fff;text-align:left;font:inherit;color:inherit;transition:all .12s}
.pipeline-root .qa-item:last-child{border-bottom:none}
.pipeline-root .qa-item:hover{background:var(--surface)}
.pipeline-root .qa-item.active{background:rgba(162,189,189,.08);border-left-color:var(--muted-sage)}
.pipeline-root .qa-dwg{display:block;font-family:var(--fm);font-size:11.5px;font-weight:500;color:var(--deep-teal);margin-bottom:5px}
.pipeline-root .qa-detail{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.pipeline-root .qa-det-hdr{padding:18px 24px;border-bottom:1px solid var(--border-lt)}
.pipeline-root .qa-det-title{font-family:var(--fm);font-size:16px;font-weight:500;color:var(--deep-teal);margin-bottom:8px}
.pipeline-root .qa-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--clv-color-text-link)}
.pipeline-root .qa-meta strong{color:var(--deep-teal)}

/* DIFF */
.pipeline-root .diff-row-changed td{background:#FFFBEB}
.pipeline-root .diff-add{background:var(--clv-tint-success);color:var(--success);padding:1px 4px;border-radius:3px;font-weight:500}
.pipeline-root .diff-del{background:rgba(185,28,28,.12);color:var(--error);padding:1px 4px;border-radius:3px;text-decoration:line-through}
.pipeline-root .identical-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--clv-tint-success);border:1px solid var(--clv-tint-success-border);border-radius:8px;color:var(--success);font-weight:500;margin:20px}

/* INLINE WARNINGS */
.pipeline-root .inline-warn{display:flex;gap:8px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5}
.pipeline-root .inline-warn.info{background:rgba(75,118,150,.08);border:1px solid rgba(75,118,150,.15);color:var(--clv-color-text-link)}
.pipeline-root .inline-warn.warn{background:#FFFBEB;border:1px solid var(--clv-tint-warning-border);color:var(--warning)}

/* EXPORT */
.pipeline-root .export-layout{display:grid;grid-template-columns:1fr 380px;gap:24px}
.pipeline-root .export-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:12px}
.pipeline-root .export-card:last-child{margin-bottom:0}
.pipeline-root .export-icon{width:40px;height:40px;border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--slate-blue);flex-shrink:0}
.pipeline-root .export-name{font-family:var(--fh);font-size:15px;font-weight:500;color:var(--deep-teal);margin-bottom:2px}
.pipeline-root .export-desc{font-size:12.5px;color:var(--clv-color-text-link)}
.pipeline-root .checklist{list-style:none}
.pipeline-root .cl-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-lt);font-size:14px;color:var(--deep-teal)}
.pipeline-root .cl-item:last-child{border-bottom:none}
.pipeline-root .checkbox{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}
.pipeline-root .checkbox.chk{background:var(--deep-teal);border-color:var(--deep-teal);color:#fff}
.pipeline-root .cl-done{color:var(--clv-color-text-link)}

/* CONFIDENCE BAR */
.pipeline-root .conf-bar{display:flex;align-items:center;gap:8px}
.pipeline-root .conf-track{width:60px;height:4px;background:var(--border-lt);border-radius:9999px;overflow:hidden}
.pipeline-root .conf-fill{height:100%;border-radius:9999px}
.pipeline-root .cf-high{background:var(--success)}
.pipeline-root .cf-mid{background:var(--warning)}

/* QA SUMMARY TABLE */
.pipeline-root .qa-summ{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:24px;overflow-x:auto}

/* PAGINATION */
.pipeline-root .pg-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;color:var(--clv-color-text-link);font-size:14px}
.pipeline-root .pg-btn.pg-active{border:none;background:var(--deep-teal);color:#fff;font-weight:500}

/* MODAL */
.pipeline-root .modal-overlay{position:fixed;inset:0;background:rgba(0,4,50,.35);z-index:200;border:0;padding:0}
.pipeline-root .modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-md);width:min(480px,calc(100vw - 32px));display:flex;flex-direction:column}
.pipeline-root .modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-lt)}
.pipeline-root .modal-title{font-family:var(--fh);font-size:18px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .modal-close{background:none;border:none;cursor:pointer;color:var(--slate-blue);display:flex;align-items:center;padding:4px;border-radius:4px}
.pipeline-root .modal-close:hover{color:var(--deep-teal);background:var(--surface)}
.pipeline-root .modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}
.pipeline-root .modal-body:focus-visible{outline:3px solid #0B6E99;outline-offset:-3px}
.pipeline-root .modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-lt)}
.pipeline-root .modal-error{background:#FEF2F2;border:1px solid rgba(185,28,28,.2);border-radius:6px;color:var(--error);font-size:13px;padding:10px 14px;line-height:1.45}

/* EXTRACTION HISTORY (spec 034) */
.pipeline-root .exthist-run{border:1px solid var(--border-lt);border-radius:var(--r-sm);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pipeline-root .exthist-run-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pipeline-root .exthist-run-name{font-family:var(--fh);font-size:15px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .exthist-run-when{font-size:12px;color:var(--clv-color-text-link)}
.pipeline-root .exthist-run-counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pipeline-root .exthist-count{font-size:12px;font-weight:500;color:var(--clv-color-text-link)}
.pipeline-root .exthist-run-list{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border-lt);padding-top:10px}
.pipeline-root .exthist-drawing{display:flex;align-items:center;gap:10px}
.pipeline-root .exthist-drawing-no{flex:1;min-width:0;font-size:13px;color:var(--deep-teal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* FORM FIELDS (shared: modal + upload area) */
.pipeline-root .form-field{display:flex;flex-direction:column;gap:5px}
.pipeline-root .form-lbl{font-size:12px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .form-input{height:38px;border:1.5px solid var(--clv-color-control-border);border-radius:8px;padding:0 12px;font-family:var(--fb);font-size:14px;color:var(--deep-teal);background:#fff;outline:none}
.pipeline-root .form-input:focus{border-color:var(--slate-blue);box-shadow:var(--sh-focus)}
.pipeline-root .form-input::placeholder{color:var(--muted-sage)}

/* UPLOAD BUTTON (file-input visually styled as a ghost button) */
.pipeline-root .upload-label{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:6px;font-family:var(--fb);font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);color:var(--deep-teal);background:#fff;transition:all .15s;white-space:nowrap}
.pipeline-root .upload-label:hover{border-color:var(--deep-teal);background:var(--surface)}
.pipeline-root .upload-label.busy{opacity:.6;pointer-events:none}
.pipeline-root .upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

/* UPLOAD ERROR (inline below toolbar, matches existing error card pattern) */
.pipeline-root .upload-err{background:#FEF2F2;border:1px solid rgba(185,28,28,.2);border-radius:6px;color:var(--error);font-size:13px;padding:10px 14px;margin:0 16px 10px;line-height:1.45}

/* RE-EXTRACT BUTTON — small action inside a table row expansion */
.pipeline-root .btn-reextract{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-family:var(--fb);font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid var(--border);color:var(--clv-color-text-link);background:#fff;transition:all .15s;white-space:nowrap}
.pipeline-root .btn-reextract:hover:not(:disabled){border-color:var(--deep-teal);color:var(--deep-teal);background:var(--surface)}
.pipeline-root .btn-reextract:disabled{opacity:.5;cursor:not-allowed}
.pipeline-root .reextract-err{font-size:12px;color:var(--error);margin-top:6px}

/* NARRATIVE EDIT AFFORDANCE */
.pipeline-root .narr-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 20px;border-top:1px solid var(--border-lt);background:var(--surface)}
.pipeline-root .narr-edit-bar button+button{margin-left:0}
.pipeline-root .narr-edit-area{padding:16px 20px;border-top:1px solid var(--border-lt)}
.pipeline-root .narr-textarea{width:100%;min-height:140px;border:1.5px solid var(--clv-color-control-border);border-radius:8px;padding:10px 12px;font-family:var(--fb);font-size:14px;color:var(--deep-teal);background:#fff;outline:none;resize:vertical;box-sizing:border-box}
.pipeline-root .narr-textarea:focus{border-color:var(--slate-blue);box-shadow:var(--sh-focus)}
.pipeline-root .narr-edit-err{font-size:12px;color:var(--error);margin-top:6px}
.pipeline-root .narr-revert-confirm{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--clv-color-text-link)}

/* ── SPEC 010: WIZARD + OVERVIEW + REVIEW WORKSPACE ─────────────────────── */

/* Shell: centred 1680px column. Review mode uncaps it — the drawing workspace spans the full
   viewport (rv-root supplies its own gutters), so big monitors show the whole sheet. */
.pipeline-root .view-shell{max-width:1680px;margin:0 auto;padding:28px 32px 96px}
.pipeline-root .view-shell-review{max-width:none;padding-left:0;padding-right:0}

/* Status chips (extraction / generation / review states) */
@keyframes wizspin{to{transform:rotate(360deg)}}
.pipeline-root .chip{display:inline-flex;align-items:center;gap:6px;border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:500;white-space:nowrap}
.pipeline-root .chip-slate{color:var(--clv-color-text-link);background:rgba(75,118,150,.10)}
.pipeline-root .chip-muted{color:#5F7D94;background:rgba(95,125,148,.10)}
.pipeline-root .chip-warn{color:var(--warning);background:var(--clv-tint-warning)}
.pipeline-root .chip-ok{color:var(--success);background:var(--clv-tint-success)}
.pipeline-root .chip-err{color:var(--error);background:rgba(185,28,28,.07)}
.pipeline-root .chip-spin{display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:9999px;animation:wizspin .8s linear infinite;flex-shrink:0}

/* Stepper */
.pipeline-root .wiz-stepper{margin-top:22px;background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:18px 28px;display:flex;align-items:center}
.pipeline-root .wiz-step{display:flex;align-items:center;min-width:0}
.pipeline-root .wiz-step-btn{display:flex;align-items:center;gap:10px;flex-shrink:0;background:none;border:none;padding:0;font-family:var(--fb);cursor:default}
.pipeline-root .wiz-step-btn.reachable{cursor:pointer}
.pipeline-root .wiz-circle{width:28px;height:28px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;background:#fff;color:#5F7D94;border:1.5px solid var(--border)}
.pipeline-root .wiz-circle.done{background:var(--deep-teal);color:#fff;border-color:var(--deep-teal)}
.pipeline-root .wiz-circle.active{color:var(--deep-teal);border-color:var(--deep-teal)}
.pipeline-root .wiz-step-lbl{font-size:13px;font-weight:500;color:#5F7D94;white-space:nowrap}
.pipeline-root .wiz-step-lbl.active{color:var(--deep-teal)}
.pipeline-root .wiz-step-lbl.reachable{color:var(--clv-color-text-link)}
.pipeline-root .wiz-line{flex:1;height:2px;margin:0 16px;border-radius:2px;background:var(--border-lt)}
.pipeline-root .wiz-line.done{background:var(--deep-teal)}

/* Import stage */
.pipeline-root .wiz-tabs{display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--border-lt);margin-top:26px}
.pipeline-root .wiz-tab{appearance:none;background:transparent;border:0;padding:10px 16px;font-size:14px;font-weight:500;color:var(--deep-teal);border-bottom:2px solid var(--deep-teal);margin-bottom:-1px;cursor:pointer}
.pipeline-root .wiz-tab-disabled{appearance:none;background:transparent;border:0;padding:10px 16px;font-size:14px;font-weight:400;color:#5F7D94;display:flex;align-items:center;gap:8px;cursor:pointer}

/* Keyboard/low-vision baseline: keep one consistent, high-contrast focus ring even where legacy
   input rules remove their default outline. */
.pipeline-root :focus-visible{outline:3px solid #0B6E99!important;outline-offset:3px;border-radius:4px}
.pipeline-root .wiz-tab-pill{border-radius:9999px;padding:2px 9px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:var(--surface);color:#5F7D94;border:1px solid var(--border-lt)}
.pipeline-root .wiz-hint{margin:16px 0 0;font-size:13px;font-weight:300;color:var(--clv-color-text-link);max-width:720px}
.pipeline-root .wiz-batch{margin-top:16px;background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:16px 22px;display:flex;align-items:center;gap:16px}
.pipeline-root .wiz-batch-text{font-size:13px;font-weight:500;color:var(--deep-teal);white-space:nowrap}
.pipeline-root .wiz-batch-track{flex:1;height:6px;border-radius:9999px;background:var(--surface);overflow:hidden}
.pipeline-root .wiz-batch-fill{height:100%;border-radius:9999px;background:linear-gradient(135deg,var(--muted-sage),var(--deep-teal));transition:width .4s cubic-bezier(.25,.1,.25,1)}
.pipeline-root .wiz-batch-count{font-size:12px;color:#5F7D94;white-space:nowrap}
.pipeline-root .wiz-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--slate-blue);border-top-color:transparent;border-radius:9999px;animation:wizspin .8s linear infinite;flex-shrink:0}
.pipeline-root .wiz-zones{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pipeline-root .wiz-zone-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pipeline-root .wiz-zone-name{display:flex;align-items:baseline;gap:10px}
.pipeline-root .disc-chip{font-family:var(--fm);font-size:11px;font-weight:500;color:var(--clv-color-text-link);background:rgba(75,118,150,.10);border-radius:4px;padding:2px 7px}
.pipeline-root .wiz-zone-lbl{font-family:var(--fh);font-size:15px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .wiz-zone-count{font-size:12px;color:#5F7D94}
.pipeline-root .wiz-file-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--surface)}
.pipeline-root .job-tray-row{color:inherit;text-decoration:none;cursor:pointer}
.pipeline-root .wiz-file-name{font-size:13px;font-weight:400;color:var(--deep-teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .wiz-file-meta{font-size:11px;color:#5F7D94}
.pipeline-root .import-file-set{margin-top:16px;padding:0;overflow:hidden}
.pipeline-root .import-table-wrap{overflow-x:auto}
.pipeline-root .import-file-set .result-count{padding:12px 24px 16px}
.pipeline-root .import-discipline-select{min-width:150px;height:32px;padding:0 8px;font-size:12px}
.pipeline-root .import-drawing-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px}
.pipeline-root .wiz-genprogress{margin-top:18px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.pipeline-root .wiz-genprogress-hdr{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pipeline-root .wiz-genprogress-title{font-size:14px;font-weight:600;color:var(--deep-teal)}
.pipeline-root .wiz-genprogress-elapsed{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--clv-color-text-link);font-variant-numeric:tabular-nums}
.pipeline-root .wiz-genprogress-count{margin-top:8px;font-size:12.5px;font-weight:600;color:var(--clv-color-text-link)}
.pipeline-root .wiz-genprogress-list{margin-top:10px;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}
.pipeline-root .wiz-genprogress-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#fff;border:1px solid var(--border);border-radius:7px}
.pipeline-root .wiz-genprogress-note{margin-top:10px;font-size:12px;font-weight:300;color:#5F7D94}
.pipeline-root .wiz-nav{margin-top:22px;display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.pipeline-root .wiz-earlier-link{margin-top:10px;background:none;border:none;padding:4px 0;cursor:pointer;font-family:var(--fb);font-size:13px;color:var(--clv-color-text-link);text-decoration:underline;text-underline-offset:2px}
.pipeline-root .wiz-earlier-link:hover{color:var(--deep-teal)}
.pipeline-root .btn:disabled{background:var(--border);cursor:not-allowed}
/* Review stage */
.pipeline-root .rvstage-hdr{margin-top:26px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pipeline-root .rvstage-hdr h2{margin:0;font-family:var(--fh);font-size:19px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .rvstage-hdr p{margin:5px 0 0;font-size:13px;font-weight:300;color:var(--clv-color-text-link);max-width:720px}
.pipeline-root .rvstage-stats{display:flex;gap:22px}
.pipeline-root .rvstage-stat{text-align:right}
.pipeline-root .rvstage-stat-val{font-family:var(--fh);font-size:20px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .rvstage-stat-lbl{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--clv-color-text-link)}
.pipeline-root .rvstage-groups{margin-top:18px;display:flex;flex-direction:column;gap:16px}
.pipeline-root .rvstage-group{background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);overflow:hidden}
.pipeline-root .rvstage-group-hdr{display:flex;align-items:baseline;gap:10px;padding:14px 22px;border-bottom:1px solid var(--border-lt)}
.pipeline-root .rvstage-row{display:flex;align-items:center;gap:12px;padding:11px 22px;cursor:pointer;border-bottom:1px solid var(--surface)}
.pipeline-root .rvstage-row:hover{background:#F7FAFA}
.pipeline-root .rvstage-chev{flex-shrink:0;color:#5F7D94;transition:transform .2s cubic-bezier(.25,.1,.25,1);display:flex}
.pipeline-root .rvstage-chev.open{transform:rotate(90deg)}
.pipeline-root .rvstage-no{font-family:var(--fm);font-size:12px;color:var(--deep-teal);white-space:nowrap}
.pipeline-root .rvstage-title{flex:1;font-size:13px;font-weight:300;color:var(--deep-teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .rvstage-sub{font-size:11px;color:#5F7D94;white-space:nowrap}
.pipeline-root .rvstage-exp{padding:18px 22px 22px 48px;background:#F7FAFA;border-bottom:1px solid var(--surface)}
.pipeline-root .rvstage-disc-row{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-lt);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pipeline-root .rvstage-disc-row label{font-size:12px;color:#5F7D94}
.pipeline-root .rvstage-disc-hint{font-size:12px;font-weight:300;color:#5F7D94}

/* Generate stage */
.pipeline-root .gen-wrap{margin:26px auto 0;max-width:720px}
.pipeline-root .gen-card{background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:30px 34px}
.pipeline-root .gen-card h2{margin:0;font-family:var(--fh);font-size:19px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .gen-card>p{margin:6px 0 0;font-size:13px;font-weight:300;color:var(--clv-color-text-link)}
.pipeline-root .gen-summary{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.pipeline-root .gen-sumrow{display:flex;align-items:center;gap:12px;padding:9px 14px;background:#F7FAFA;border-radius:8px}
.pipeline-root .gen-sumrow .disc-chip{width:34px;text-align:center}
.pipeline-root .gen-sumrow-lbl{flex:1;font-size:13px;font-weight:400;color:var(--deep-teal)}
.pipeline-root .gen-sumrow-detail{font-size:12px;color:#5F7D94}
.pipeline-root .gen-list{margin-top:18px;border-top:1px solid var(--border-lt);padding-top:14px;display:flex;flex-direction:column}
.pipeline-root .gen-filerow{display:flex;align-items:center;gap:12px;padding:8px 2px;border-bottom:1px solid var(--surface)}
.pipeline-root .gen-filerow-title{flex:1;font-size:12px;font-weight:300;color:#5F7D94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .gen-nav{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:14px}

/* Workpack overview */
.pipeline-root .ovw-layout{display:flex;gap:28px;align-items:flex-start;margin-top:26px}
.pipeline-root .ovw-toc{position:sticky;top:72px;width:232px;flex-shrink:0;background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:18px 8px 18px 20px;max-height:calc(100vh - 104px);overflow-y:auto}
.pipeline-root .ovw-toc-hdr{font-family:var(--fh);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.10em;color:var(--clv-color-text-link);margin-bottom:12px}
.pipeline-root .ovw-toc-sec{margin-bottom:14px}
.pipeline-root .ovw-toc-sec-lbl{font-size:13px;font-weight:500;color:var(--deep-teal);cursor:pointer;display:flex;align-items:baseline;gap:8px;background:none;border:none;padding:0;font-family:var(--fb)}
.pipeline-root .ovw-toc-sec-lbl:hover{color:var(--clv-color-text-link)}
.pipeline-root .ovw-toc-count{font-size:11px;font-weight:400;color:#5F7D94}
.pipeline-root .ovw-toc-items{margin-top:6px;display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--border-lt);padding-left:10px}
.pipeline-root .ovw-toc-item{display:flex;align-items:center;gap:6px;cursor:pointer;min-width:0;background:none;border:none;padding:0;font-family:var(--fm)}
.pipeline-root .ovw-toc-no{font-family:var(--fm);font-size:11px;color:var(--clv-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .ovw-toc-item:hover .ovw-toc-no{color:var(--deep-teal)}
.pipeline-root .ovw-toc-client{color:var(--clv-color-text-link);opacity:.7}
.pipeline-root .ovw-doc{flex:1;min-width:0;background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:44px 52px 56px;box-shadow:var(--sh-sm)}
.pipeline-root .ovw-overline{font-family:var(--fh);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.10em;color:var(--clv-color-text-link)}
.pipeline-root .ovw-doc h2{margin:8px 0 0;font-family:var(--fh);font-size:24px;font-weight:500;letter-spacing:-0.01em;color:var(--deep-teal)}
.pipeline-root .ovw-doc-meta{margin-top:8px;font-size:12px;color:#5F7D94;display:flex;gap:14px;flex-wrap:wrap}
.pipeline-root .ovw-divider{margin-top:22px;height:2px;background:linear-gradient(135deg,var(--muted-sage),var(--deep-teal));border-radius:2px}
.pipeline-root .ovw-sec{margin-top:36px}
.pipeline-root .ovw-sec-hdr{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;border-bottom:1px solid var(--border-lt);padding:6px 0;cursor:pointer;text-align:left}
.pipeline-root .ovw-sec-chevron{color:var(--clv-color-text-link);flex-shrink:0;transform:rotate(90deg);transition:transform 200ms}
.pipeline-root .ovw-sec.collapsed .ovw-sec-chevron{transform:rotate(0)}
.pipeline-root .ovw-sec-overline{font-family:var(--fh);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.10em;color:var(--clv-color-text-link)}
.pipeline-root .ovw-sec-count{font-size:12px;color:#5F7D94;margin-left:auto}
.pipeline-root .ovw-cards{margin-top:14px;display:flex;flex-direction:column;gap:18px}
.pipeline-root .ovw-card{border:1px solid var(--border-lt);border-radius:var(--r-md);padding:24px 28px}
.pipeline-root .ovw-card-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pipeline-root .ovw-card-hdr>div:first-child{flex:1 1 260px}
.pipeline-root .ovw-card-title{font-family:var(--fh);font-size:16px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .ovw-card-meta{margin-top:4px;font-size:12px;color:#5F7D94;display:flex;gap:12px;flex-wrap:wrap}
.pipeline-root .ovw-card-meta code{background:none;padding:0;color:#5F7D94}
.pipeline-root .ovw-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}
.pipeline-root .ovw-approval-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:224px}
.pipeline-root .ovw-approval-block{color:var(--clv-color-text-link);font-size:11px;line-height:1.3}
.pipeline-root .ovw-unlinked-table{margin-top:16px;border:1px solid var(--border);border-radius:var(--r-md);overflow-x:auto}
.pipeline-root .ovw-unlinked-table .review-status-note{display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(min-width:901px){.pipeline-root .ovw-unlinked-table .ovw-drawing-status{width:300px;min-width:280px}}
.pipeline-root .ovw-drawing-actions{display:grid;grid-template-columns:max-content 34px;align-items:start;justify-content:end;gap:8px}
.pipeline-root .btn-card{background:#fff;color:var(--deep-teal);border:1.5px solid var(--border);border-radius:8px;padding:5px 12px;font-family:var(--fb);font-size:12px;font-weight:500;cursor:pointer}
.pipeline-root .btn-card:hover{border-color:var(--slate-blue)}
.pipeline-root .btn-card-primary{background:var(--deep-teal);color:#fff;border:none;border-radius:8px;padding:6px 13px;font-family:var(--fb);font-size:12px;font-weight:500;cursor:pointer}
.pipeline-root .btn-card-primary:hover{background:var(--slate-blue)}
.pipeline-root .ovw-extract{margin-top:16px;background:#F7FAFA;border:1px solid var(--border-lt);border-radius:8px;padding:16px 20px}
.pipeline-root .ovw-extract-hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pipeline-root .ovw-extract-sum{font-size:12px;font-weight:400;color:#5F7D94}
.pipeline-root .link-btn{background:none;border:none;padding:0;font-family:var(--fb);font-size:12px;font-weight:500;color:var(--clv-color-text-link);cursor:pointer;text-decoration:underline}
.pipeline-root .link-btn:hover{color:var(--deep-teal)}
.pipeline-root .ovw-kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pipeline-root .ovw-kv-hdr{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--clv-color-text-link);margin-bottom:10px}
.pipeline-root .ovw-kv-row{display:flex;gap:12px;font-size:12px;margin-bottom:8px}
.pipeline-root .ovw-kv-lbl{width:96px;color:#5F7D94;flex-shrink:0}
.pipeline-root .ovw-kv-val{font-family:var(--fm);font-size:12px;color:var(--deep-teal)}
.pipeline-root .ovw-scopes{margin-top:16px;display:flex;flex-direction:column;gap:16px}
.pipeline-root .ovw-scope-lbl{font-size:13px;font-weight:500;color:var(--deep-teal);margin-bottom:8px}
.pipeline-root .ovw-step{display:flex;gap:12px;align-items:baseline;margin-bottom:7px}
.pipeline-root .ovw-step-n{font-family:var(--fm);font-size:11px;color:var(--clv-color-text-link);width:22px;flex-shrink:0;text-align:right}
.pipeline-root .ovw-step-text{font-size:13.5px;font-weight:300;line-height:1.6;color:var(--deep-teal);text-wrap:pretty;flex:1;min-width:0}
.pipeline-root .ovw-step-src{font-family:var(--fm);font-size:10px;font-weight:500;color:var(--clv-color-text-link);background:rgba(75,118,150,.10);border-radius:3px;padding:1px 5px;white-space:nowrap;flex-shrink:0;align-self:center}
.pipeline-root .ga-link-badge{font-family:var(--fm);font-size:10px;font-weight:500;color:var(--clv-color-success-light);background:var(--clv-tint-success);border:1px solid var(--clv-tint-success-border);border-radius:9999px;padding:1px 7px;white-space:nowrap}
.pipeline-root .ovw-edited-text{margin-top:16px;font-size:13.5px;font-weight:300;line-height:1.6;color:var(--deep-teal);white-space:pre-wrap}
/* Inline narrative markers (engine {n:}/{v:}/{d:}/{w:}) — the extracted values a reviewer verifies. */
.pipeline-root .narr-mark{font-weight:500}
.pipeline-root .narr-mark-n{color:#1A6FA8}
.pipeline-root .narr-mark-v{color:#C47900}
.pipeline-root .narr-mark-d{color:var(--clv-color-success-light)}
.pipeline-root .narr-mark-w{color:#B91C1C;font-weight:600}
/* Spec 029 — structural tag reference: narrative-relevant overview chips + all-tags search. */
.pipeline-root .tag-overview{margin-top:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--border-lt);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:8px}
.pipeline-root .tag-overview-title{font-family:var(--fh);font-size:11.5px;font-weight:500;color:var(--clv-color-text-link);text-transform:uppercase;letter-spacing:.04em}
.pipeline-root .tag-chip{font-family:var(--fm);font-size:11.5px;background:#fff;border:1px solid var(--border-lt);border-radius:9999px;padding:2px 9px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .tag-search{margin-top:12px}
.pipeline-root .tag-search-toggle{font-size:12.5px;font-weight:500;color:var(--clv-color-text-link);background:none;border:none;cursor:pointer;padding:0}
.pipeline-root .tag-search-toggle:hover{color:var(--deep-teal)}
.pipeline-root .tag-search-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.pipeline-root .tag-search-body .table-toolbar{padding:0;border-bottom:0;gap:0}
.pipeline-root .tag-search-body .table-toolbar-search{width:100%;min-width:0;max-width:320px;height:auto;border-radius:var(--r-sm);padding:6px 10px;font-family:var(--fb);font-size:13px;color:var(--deep-teal)}
.pipeline-root .tag-search-body .result-count{font-size:11px}
.pipeline-root .tag-search-message{margin:0;font-size:12px;color:var(--clv-color-text-link);font-style:italic}
.pipeline-root .tag-search-list{display:flex;gap:6px;flex-wrap:wrap}
.pipeline-root .ovw-edit{margin-top:16px;border-top:1px solid var(--border-lt);padding-top:14px}
.pipeline-root .ovw-edit label{font-size:12px;font-weight:500;color:var(--clv-color-text-link)}
.pipeline-root .ovw-edit-note{margin-top:8px;font-size:11px;font-weight:300;color:#5F7D94}

/* Review workspace */
.pipeline-root .rvw-head{margin-top:26px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pipeline-root .rvw-head-title{font-family:var(--fh);font-size:17px;font-weight:500;color:var(--deep-teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .rvw-head-refs{margin-top:2px;font-family:var(--fm);font-size:11px;color:var(--clv-color-text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipeline-root .rvw-pos{font-size:12px;color:#5F7D94;white-space:nowrap}
.pipeline-root .rvw-navbtn{background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:7px 9px;display:flex;color:var(--deep-teal);cursor:pointer}
.pipeline-root .rvw-navbtn:disabled{color:var(--border);cursor:default}
.pipeline-root .rvw-grid{margin-top:18px;display:grid;grid-template-columns:minmax(360px,44%) 1fr;gap:24px;align-items:start}
.pipeline-root .rvw-sheet-panel{position:sticky;top:72px}
.pipeline-root .rvw-sheet-card{background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:18px 20px}
.pipeline-root .rvw-sheet-tabs{margin-top:10px;display:flex;gap:2px;border-bottom:1px solid var(--border-lt);overflow-x:auto}
.pipeline-root .rvw-sheet-tab{padding:7px 12px;font-family:var(--fm);font-size:11px;font-weight:500;color:var(--deep-teal);border:none;background:none;border-bottom:2px solid var(--deep-teal);margin-bottom:-1px;white-space:nowrap}
.pipeline-root .rvw-sheet-box{margin-top:14px;background:#fff;border:1px solid var(--border);border-radius:4px;aspect-ratio:1.414/1;position:relative}
.pipeline-root .rvw-sheet-inner{position:absolute;inset:12px;border:1px solid var(--muted-sage)}
.pipeline-root .rvw-sheet-tb{position:absolute;right:12px;bottom:12px;width:40%;border-left:1px solid var(--muted-sage);border-top:1px solid var(--muted-sage);padding:6px 10px;font-family:var(--fm);font-size:9px;line-height:1.6;color:#5F7D94;background:#fff}
.pipeline-root .rvw-sheet-centre{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}
.pipeline-root .rvw-sheet-ref{font-family:var(--fm);font-size:13px;color:var(--deep-teal)}
.pipeline-root .rvw-sheet-note{font-size:11px;font-weight:300;color:#5F7D94;max-width:280px}
.pipeline-root .rvw-sheet-foot{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#5F7D94}
.pipeline-root .rvw-sheet-soon{color:var(--muted-sage)}
.pipeline-root .rvw-trace{display:flex;flex-direction:column;gap:18px;min-width:0}
.pipeline-root .rvw-stage{background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:22px 26px}
.pipeline-root .rvw-stage-hdr{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pipeline-root .rvw-stage-lbl{font-family:var(--fh);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.10em;color:var(--clv-color-text-link)}
.pipeline-root .rvw-stage-sub{font-size:12px;font-weight:300;color:#5F7D94}
.pipeline-root .rvw-sheet-sec{border:1px solid var(--border-lt);border-radius:8px;overflow:hidden;margin-top:14px}
.pipeline-root .rvw-sheet-sec-hdr{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#F7FAFA;border-bottom:1px solid var(--border-lt)}
.pipeline-root .rvw-type-chip{font-family:var(--fm);font-size:10px;font-weight:500;color:var(--clv-color-text-link);background:rgba(75,118,150,.10);border-radius:4px;padding:2px 7px}
.pipeline-root .rvw-sheet-sec-body{padding:14px 16px}
.pipeline-root .rvw-sec-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--clv-color-text-link);margin-bottom:8px}
.pipeline-root .rvw-tb-grid{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px}
.pipeline-root .rvw-tb-lbl{font-size:11px;color:#5F7D94}
.pipeline-root .rvw-tb-val{font-family:var(--fm);font-size:11px;color:var(--deep-teal)}
.pipeline-root .rvw-table{display:grid;border:1px solid var(--surface);border-radius:4px;min-width:min-content}
.pipeline-root .rvw-cell{padding:5px 10px;font-family:var(--fm);font-size:11px;color:var(--deep-teal);background:#fff;border-bottom:1px solid var(--surface);min-width:0}
.pipeline-root .rvw-cell-h{padding:5px 10px;font-family:var(--fb);font-size:10px;font-weight:500;color:var(--clv-color-text-link);background:#F7FAFA;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--surface)}
.pipeline-root .rvw-raw{margin-top:8px;background:#F7FAFA;border-radius:4px;padding:10px 12px}
.pipeline-root .rvw-raw-lbl{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#5F7D94}
.pipeline-root .rvw-raw-text{margin-top:3px;font-family:var(--fm);font-size:10.5px;line-height:1.6;color:#5F7D94}
.pipeline-root .rvw-link-grid{margin-top:14px;display:grid;grid-template-columns:max-content 1fr;gap:7px 20px}
.pipeline-root .rvw-link-lbl{font-size:12px;color:#5F7D94}
.pipeline-root .rvw-link-val{font-family:var(--fm);font-size:12px;color:var(--deep-teal)}
.pipeline-root .rvw-legend{margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:#5F7D94}
.pipeline-root .rvw-legend>span{display:inline-flex;align-items:center;gap:6px}
.pipeline-root .rvw-step{padding:14px 0;border-bottom:1px solid var(--surface)}
.pipeline-root .rvw-step-hdr{display:flex;align-items:center;gap:10px}
.pipeline-root .rvw-step-n{font-size:12px;font-weight:500;color:var(--deep-teal)}
.pipeline-root .rvw-step-type{font-family:var(--fm);font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--clv-color-text-link);background:rgba(75,118,150,.10);border-radius:4px;padding:2px 7px}
.pipeline-root .rvw-step-out{margin-top:8px;line-height:2.0;font-size:13px;font-weight:300;color:var(--deep-teal)}
.pipeline-root .tok-v{font-family:var(--fm);font-size:12px;color:var(--deep-teal);background:var(--ice-blue);border-radius:4px;padding:1px 5px}
.pipeline-root .tok-d{font-family:var(--fm);font-size:12px;color:var(--clv-color-text-link);background:rgba(75,118,150,.08);border:1px solid rgba(75,118,150,.18);border-radius:4px;padding:0 5px}
.pipeline-root .rvw-step-prov{margin-top:7px;display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#5F7D94}
.pipeline-root .rvw-step-prov code{background:none;padding:0;font-size:11px;color:var(--clv-color-text-link)}
.pipeline-root .rvw-qa{background:var(--clv-tint-warning);border:1px solid var(--clv-tint-warning-border);border-radius:var(--r-md);padding:18px 24px}
.pipeline-root .rvw-qa-lbl{font-family:var(--fh);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.10em;color:var(--warning)}
.pipeline-root .rvw-qa-item{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:300;color:var(--warning);margin-top:8px}
.pipeline-root .rvw-approval{position:sticky;bottom:16px;margin-top:24px;background:#fff;border:1px solid rgba(162,189,189,.20);border-radius:var(--r-md);padding:14px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;box-shadow:var(--sh-md)}
.pipeline-root .rvw-approval-note{flex:1;font-size:12px;font-weight:300;color:#5F7D94;min-width:200px}
.pipeline-root .btn-flag{background:#fff;color:var(--warning);border:1.5px solid var(--clv-tint-warning-border);border-radius:8px;padding:9px 16px;font-family:var(--fb);font-size:13px;font-weight:500;cursor:pointer}
.pipeline-root .btn-flag:hover{border-color:var(--warning)}
.pipeline-root .rvw-alldone{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--success)}

/* Toast */
.pipeline-root .toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:300;background:var(--dark-navy);color:#EAF4F7;border-radius:8px;padding:13px 22px;font-size:13px;font-weight:400;box-shadow:0 16px 48px rgba(0,4,50,.16);display:flex;align-items:center;gap:10px;max-width:560px}

/* DUAL DRAWING NUMBERS — the labelled PD&MS-No./Client-No. pair (DrawingNumberPair.razor) */
.pipeline-root .dn-pair{display:inline-flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.pipeline-root .dn-item{display:inline-flex;align-items:baseline;gap:5px;min-width:0;cursor:default}
.pipeline-root .dn-lbl{font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--clv-color-text-link);white-space:nowrap}
.pipeline-root .dn-no{font-family:var(--fm);font-size:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pipeline-root .dn-client{color:var(--clv-color-text-link)}
.pipeline-root .dn-none{opacity:.6}
.pipeline-root .dn-pair-table{max-width:100%;gap:8px;flex-wrap:nowrap}
.pipeline-root .dn-pair-table .dn-item{overflow:hidden}
.pipeline-root .dn-pair-table .dn-item:first-child{flex:1 1 auto}
.pipeline-root .dn-pair-table .dn-item:last-child{flex:0 1 auto;color:var(--clv-color-text-link)}
.pipeline-root .dn-pair-table .dn-item+.dn-item::before{content:'·';flex-shrink:0}
.pipeline-root .dn-pair-table .dn-lbl{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* RESPONSIVE */
@media(max-width:900px){.pipeline-root .qa-layout{grid-template-columns:1fr}.pipeline-root .export-layout{grid-template-columns:1fr}.pipeline-root .view-layout{flex-direction:column}.pipeline-root .side-panel{width:100%}.pipeline-root .wiz-zones{grid-template-columns:1fr}.pipeline-root .ovw-layout{flex-direction:column;align-items:stretch}.pipeline-root .ovw-toc{position:static;width:100%;max-height:none}.pipeline-root .ovw-doc{padding:24px}.pipeline-root .ovw-card-actions{width:100%;min-width:0;flex-wrap:wrap}.pipeline-root .rvw-grid{grid-template-columns:1fr}.pipeline-root .rvw-sheet-panel{position:static}.pipeline-root .import-drawing-actions{justify-content:flex-start}.pipeline-root .import-drawing-actions .btn{min-height:44px}.pipeline-root .ovw-drawing-actions{grid-template-columns:max-content 44px;justify-content:start}.pipeline-root .ovw-drawing-actions .btn-card-primary{min-height:44px}}
