.dr-page { width:100%; max-width:1440px; margin:0 auto; padding:26px 30px 52px; color:var(--text-color); }
.dr-header { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; padding-bottom:17px; border-bottom:1px solid var(--border-color); }
.dr-header h2 { margin:0 0 6px; font-size:24px; }.dr-header p { margin:0; color:var(--text-secondary); font-size:13px; }
.dr-source { padding-top:5px; color:var(--text-secondary); font-size:9px; letter-spacing:.035em; white-space:nowrap; }
.dr-status { margin:26px 0; padding:18px; border:1px solid var(--border-color); border-radius:7px; color:var(--text-secondary); text-align:center; }.dr-status--error { border-color:rgba(239,68,68,.4); color:#ef4444; }
.dr-eyebrow { color:#818cf8; font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.dr-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:15px; }.dr-section-heading h3 { margin:4px 0 0; font-size:18px; }.dr-section-heading p { max-width:610px; margin:0; color:var(--text-secondary); font-size:11px; line-height:1.45; text-align:right; }
.dr-text-btn,.dr-evidence-board button,.dr-stage-selection button,.dr-other-row button,.dr-clarification-section button,.dr-register-cta button,.dr-back-btn,.dr-clear-btn { border:0; background:transparent; color:#818cf8; cursor:pointer; font:inherit; font-size:10px; font-weight:650; }.dr-text-btn:hover,.dr-evidence-board button:hover,.dr-stage-selection button:hover,.dr-other-row button:hover,.dr-clarification-section button:hover,.dr-register-cta button:hover,.dr-back-btn:hover { color:var(--text-color); }

.dr-estate-section { margin-top:25px; padding:20px 22px 22px; border:1px solid var(--border-color); border-radius:9px; background:var(--bg-surface); }.dr-estate-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:15px; }.dr-estate-heading h3 { margin:4px 0 0; font-size:19px; }.dr-estate-heading p { max-width:500px; margin:0; color:var(--text-secondary); font-size:10px; text-align:right; }
.dr-estate-bar { display:flex; width:100%; height:58px; overflow:hidden; border:1px solid var(--border-color); border-radius:5px; background:var(--bg-primary); }.dr-estate-bar > div { display:flex; align-items:center; justify-content:space-between; box-sizing:border-box; min-width:0; padding:0 18px; }.dr-estate-bar strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.dr-estate-bar span { font-size:19px; font-weight:700; }.dr-estate-modelled { background:rgba(99,102,241,.2); }.dr-estate-missing { border-left:1px solid var(--border-color); background:rgba(100,116,139,.075); color:var(--text-secondary); }

.dr-impact-section,.dr-stage-section,.dr-opportunity-section,.dr-other-section { margin-top:34px; }
.dr-primary-requirements { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:11px; }
.dr-evidence-board { display:flex; grid-column:span 4; flex-direction:column; min-height:335px; padding:19px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }.dr-evidence-board--1 { grid-column:span 7; min-height:380px; background:rgba(99,102,241,.025); }.dr-evidence-board--2 { grid-column:span 5; }.dr-evidence-board:hover { border-color:rgba(129,140,248,.46); }
.dr-evidence-board header > span { color:var(--text-secondary); font-family:Consolas,monospace; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }.dr-evidence-board h4 { margin:7px 0 14px; font-size:15px; line-height:1.3; }.dr-evidence-board--1 h4 { font-size:21px; }
.dr-evidence-objects { display:flex; flex-wrap:wrap; gap:7px; }.dr-evidence-object { display:flex; min-width:145px; flex:1 1 145px; align-items:center; gap:9px; padding:9px; border:1px solid var(--border-color); border-radius:4px; background:var(--bg-primary); }.dr-evidence-object > i { position:relative; display:block; width:21px; height:27px; flex:0 0 auto; border:1px solid rgba(129,140,248,.62); border-radius:2px; }.dr-evidence-object > i::after { position:absolute; top:-1px; right:-1px; width:7px; height:7px; border-bottom:1px solid rgba(129,140,248,.62); border-left:1px solid rgba(129,140,248,.62); content:""; }.dr-evidence-object > i span { display:block; width:11px; height:1px; margin:5px 0 0 4px; background:rgba(129,140,248,.45); }.dr-evidence-object div { min-width:0; }.dr-evidence-object strong { display:block; overflow:hidden; font-size:8px; letter-spacing:.035em; text-overflow:ellipsis; white-space:nowrap; }.dr-evidence-object em { display:block; margin-top:3px; color:#f59e0b; font-size:7px; font-style:normal; font-weight:700; letter-spacing:.08em; }
.dr-evidence-need,.dr-evidence-why { display:grid; grid-template-columns:72px 1fr; gap:8px; margin-top:11px; font-size:8px; line-height:1.4; }.dr-evidence-need b,.dr-evidence-why b { color:var(--text-color); letter-spacing:.055em; text-transform:uppercase; }.dr-evidence-need span,.dr-evidence-why span { color:var(--text-secondary); }
.dr-evidence-impact { display:flex; align-items:baseline; gap:8px; margin-top:17px; }.dr-evidence-impact strong { color:#818cf8; font-size:38px; line-height:1; }.dr-evidence-impact span { color:var(--text-secondary); font-size:8px; font-weight:650; text-transform:uppercase; }.dr-evidence-overlap { display:flex; align-items:center; gap:5px; margin-top:7px; color:var(--text-secondary); font-size:8px; }.dr-evidence-overlap b { color:var(--text-color); font-size:10px; }.dr-evidence-overlap i { width:1px; height:12px; margin:0 5px; background:var(--border-color); }
.dr-evidence-stages { display:flex; flex-wrap:wrap; gap:5px; margin-top:13px; }.dr-evidence-stages span { padding:4px 6px; border-left:2px solid #818cf8; background:rgba(99,102,241,.065); color:var(--text-secondary); font-size:8px; }.dr-evidence-stages b { color:var(--text-color); }.dr-evidence-board > p { margin:12px 0 0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-evidence-board > button { align-self:flex-start; margin-top:auto; padding:15px 0 0; }

.dr-stage-board { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:hidden; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }.dr-stage-phase { min-width:0; padding:14px; border-right:1px solid var(--border-color); }.dr-stage-phase:last-child { border-right:0; }.dr-stage-phase h4 { min-height:25px; margin:0 0 10px; color:var(--text-secondary); font-size:9px; letter-spacing:.055em; text-transform:uppercase; }.dr-stage-phase > div { display:flex; flex-direction:column; gap:5px; }.dr-stage-phase button { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:7px 8px; border:1px solid transparent; border-radius:3px; background:rgba(100,116,139,.065); color:var(--text-color); cursor:pointer; text-align:left; }.dr-stage-phase button:hover { border-color:rgba(129,140,248,.4); background:rgba(99,102,241,.08); }.dr-stage-phase button span { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-stage-phase button strong { color:#818cf8; font-size:13px; }
.dr-stage-selection { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:9px; padding:13px 15px; border-left:3px solid #818cf8; background:rgba(99,102,241,.045); }.dr-stage-selection h4 { margin:3px 0 4px; font-size:12px; }.dr-stage-selection h4 strong { margin-left:7px; color:#818cf8; }.dr-stage-selection p { margin:0; color:var(--text-secondary); font-size:9px; }.dr-stage-selection p b { color:var(--text-color); }.dr-stage-selection button { flex:0 0 auto; }
.dr-state-legend { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }.dr-state-legend > div { display:grid; grid-template-columns:8px 1fr; gap:3px 7px; }.dr-state-legend i { grid-row:span 2; margin-top:3px; }.dr-state-legend strong { font-size:8px; }.dr-state-legend span { color:var(--text-secondary); font-size:7px; }.dr-state-dot { width:7px; height:7px; border-radius:50%; }.dr-state-dot--gap { background:#ef6c63; }.dr-state-dot--evidence { background:#f59e0b; }.dr-state-dot--undefined { border:1px solid #94a3b8; }.dr-state-dot--complete { background:#34a881; }.dr-state-dot--conflict { background:#b36ac7; }

.dr-opportunities { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }.dr-opportunity { display:flex; min-height:155px; flex-direction:column; align-items:flex-start; padding:15px; border:0; border-right:1px solid var(--border-color); background:transparent; color:var(--text-color); cursor:pointer; text-align:left; }.dr-opportunity:last-child { border-right:0; }.dr-opportunity:hover { background:rgba(99,102,241,.045); }.dr-opportunity > span { min-height:36px; font-size:10px; font-weight:650; line-height:1.35; }.dr-opportunity > strong { margin-top:9px; color:#818cf8; font-size:29px; line-height:1; }.dr-opportunity > small { margin-top:4px; color:var(--text-secondary); font-size:8px; }.dr-opportunity > b { margin-top:8px; color:#34a881; font-size:8px; font-weight:650; }.dr-opportunity > em { margin-top:auto; color:#818cf8; font-size:8px; font-style:normal; font-weight:650; }

.dr-other-requirements { overflow:hidden; border:1px solid var(--border-color); border-radius:8px; }.dr-other-row { display:grid; grid-template-columns:minmax(300px,1fr) 72px 290px 95px; align-items:center; gap:16px; padding:11px 14px; border-bottom:1px solid var(--border-color); background:var(--bg-surface); }.dr-other-row:last-child { border-bottom:0; }.dr-other-row:hover { background:rgba(99,102,241,.03); }.dr-other-row h4 { margin:0; font-size:11px; }.dr-other-row p { overflow:hidden; margin:4px 0 0; color:var(--text-secondary); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-other-count { display:flex; flex-direction:column; text-align:right; }.dr-other-count strong { color:#818cf8; font-size:21px; line-height:1; }.dr-other-count span { color:var(--text-secondary); font-size:7px; text-transform:uppercase; }.dr-other-split { display:flex; justify-content:flex-end; gap:12px; color:var(--text-secondary); font-size:8px; }.dr-other-split strong { color:var(--text-color); font-size:10px; }.dr-other-row button { text-align:right; }
.dr-clarification-section { display:grid; grid-template-columns:minmax(0,1fr) 100px 220px; align-items:center; gap:22px; margin-top:14px; padding:19px 21px; border:1px solid var(--border-color); border-left:3px solid rgba(179,106,199,.65); border-radius:8px; background:var(--bg-surface); }.dr-clarification-section h3 { margin:4px 0 5px; font-size:15px; }.dr-clarification-section p { margin:0; color:var(--text-secondary); font-size:10px; }.dr-clarification-section > strong { font-size:31px; text-align:right; }.dr-clarification-section > strong small { display:block; color:var(--text-secondary); font-size:8px; font-weight:400; text-transform:uppercase; }.dr-clarification-section button { text-align:right; }
.dr-register-cta { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:26px; padding:16px 20px; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-register-cta div { display:flex; flex-direction:column; gap:3px; }.dr-register-cta strong { font-size:12px; }.dr-register-cta span { color:var(--text-secondary); font-size:9px; }

.dr-register-view { margin-top:24px; scroll-margin-top:18px; }.dr-back-btn { margin:0 0 22px; padding:0; }.dr-register-heading { margin-bottom:11px; }.dr-result-count { color:var(--text-secondary); font-size:11px; }.dr-filters { display:grid; grid-template-columns:160px 260px 190px minmax(220px,1fr) auto; align-items:end; gap:9px; margin-bottom:11px; padding:11px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }.dr-filters label { display:flex; flex-direction:column; gap:5px; color:var(--text-secondary); font-size:8px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }.dr-filters select,.dr-filters input { width:100%; box-sizing:border-box; padding:7px 9px; border:1px solid var(--border-color); border-radius:5px; outline:0; background:var(--bg-primary); color:var(--text-color); font:inherit; font-size:10px; font-weight:400; letter-spacing:0; text-transform:none; }.dr-filters select:focus,.dr-filters input:focus { border-color:#818cf8; }.dr-clear-btn { height:31px; padding:0 10px; border:1px solid var(--border-color); border-radius:5px; color:var(--text-secondary); }
.dr-service-details { display:flex; flex-direction:column; gap:9px; }.dr-service-record { padding:16px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }.dr-service-record > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.dr-service-sid { color:#818cf8; font-family:Consolas,monospace; font-size:9px; font-weight:700; }.dr-service-record h4 { margin:4px 0 2px; font-size:14px; }.dr-service-record header small { color:var(--text-secondary); font-size:8px; }.dr-record-state { flex:0 0 auto; padding:4px 7px; border-left:3px solid currentColor; background:rgba(100,116,139,.07); font-size:8px; font-weight:700; }.dr-record-state--gap { color:#ef6c63; }.dr-record-state--evidence { color:#f59e0b; }.dr-record-state--undefined { color:#94a3b8; }.dr-record-state--complete { color:#34a881; }.dr-record-state--conflict { color:#b36ac7; }
.dr-mini-chain { display:flex; align-items:center; gap:5px; overflow-x:auto; margin-top:13px; padding:9px; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-mini-chain span { flex:0 0 auto; padding:4px 6px; border-radius:3px; font-size:8px; }.dr-mini-chain i { color:var(--text-secondary); font-style:normal; }.dr-mini-chain .is-linked { background:rgba(52,168,129,.09); color:#34a881; }.dr-mini-chain .is-missing { background:rgba(239,108,99,.1); color:#ef6c63; }.dr-chain-undefined { display:flex; flex-direction:column; gap:3px; margin-top:13px; padding:9px 11px; border-left:3px solid #94a3b8; background:rgba(100,116,139,.06); }.dr-chain-undefined strong { font-size:9px; }.dr-chain-undefined span { color:var(--text-secondary); font-size:8px; }
.dr-service-columns { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-top:13px; }.dr-service-columns section { min-width:0; }.dr-service-columns h5 { margin:0 0 7px; color:var(--text-secondary); font-size:8px; letter-spacing:.06em; text-transform:uppercase; }.dr-service-columns h5:not(:first-child) { margin-top:11px; }.dr-service-columns p { margin:5px 0 0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-service-columns > section > strong { font-size:10px; }.dr-service-columns ul { display:flex; flex-wrap:wrap; gap:5px; margin:0; padding:0; list-style:none; }.dr-service-columns li { max-width:190px; padding:5px 7px; background:rgba(100,116,139,.065); }.dr-service-columns li strong,.dr-service-columns li span { display:block; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-service-columns li span { margin-top:2px; color:var(--text-secondary); font-size:7px; }.dr-missing-stage-list { display:flex; flex-wrap:wrap; gap:5px; }.dr-missing-stage-list span { padding:4px 6px; background:rgba(239,108,99,.09); color:#ef6c63; font-size:8px; }.dr-conflict-flag { display:block; margin-top:6px; color:#b36ac7; font-size:8px; font-weight:700; }
.dr-service-record details { margin-top:13px; padding-top:9px; border-top:1px solid var(--border-color); }.dr-service-record summary { color:var(--text-secondary); cursor:pointer; font-size:8px; font-weight:650; }.dr-service-record details > span { display:inline-block; margin-top:8px; padding:2px 6px; border:1px solid var(--border-color); border-radius:999px; color:var(--text-secondary); font-size:7px; }.dr-service-record details p { margin:6px 0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-service-record details small { color:var(--text-secondary); font-size:7px; }.dr-empty { padding:36px; color:var(--text-secondary); text-align:center; }

@media (max-width:1120px) { .dr-evidence-board--1,.dr-evidence-board--2 { grid-column:span 6; }.dr-evidence-board { grid-column:span 6; }.dr-stage-board { grid-template-columns:repeat(2,1fr); }.dr-stage-phase { border-bottom:1px solid var(--border-color); }.dr-stage-phase:nth-child(2n) { border-right:0; }.dr-stage-phase:last-child { grid-column:1/-1; border-bottom:0; }.dr-state-legend { grid-template-columns:repeat(3,1fr); }.dr-opportunities { grid-template-columns:repeat(3,1fr); }.dr-opportunity { border-bottom:1px solid var(--border-color); }.dr-opportunity:nth-child(3n) { border-right:0; }.dr-opportunity:nth-last-child(-n+3) { border-bottom:0; }.dr-other-row { grid-template-columns:minmax(250px,1fr) 70px 260px; }.dr-other-row button { grid-column:1/-1; text-align:left; }.dr-filters { grid-template-columns:1fr 1fr; }.dr-clear-btn { width:max-content; } }
@media (max-width:760px) { .dr-page { padding:20px 14px 40px; }.dr-header,.dr-estate-heading,.dr-section-heading,.dr-register-cta { align-items:flex-start; flex-direction:column; }.dr-source { white-space:normal; }.dr-estate-heading p,.dr-section-heading p { text-align:left; }.dr-estate-bar { height:auto; flex-direction:column; }.dr-estate-bar > div { width:100%!important; min-height:52px; }.dr-estate-missing { border-top:1px solid var(--border-color); border-left:0; }.dr-evidence-board--1,.dr-evidence-board--2,.dr-evidence-board { grid-column:span 12; min-height:325px; }.dr-stage-board { grid-template-columns:1fr; }.dr-stage-phase:nth-child(n) { grid-column:auto; border-right:0; border-bottom:1px solid var(--border-color); }.dr-stage-phase:last-child { border-bottom:0; }.dr-stage-selection { align-items:flex-start; flex-direction:column; }.dr-state-legend { grid-template-columns:1fr 1fr; }.dr-opportunities { grid-template-columns:1fr 1fr; }.dr-opportunity:nth-child(n) { border-right:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-opportunity:nth-child(2n) { border-right:0; }.dr-opportunity:nth-last-child(-n+2) { border-bottom:0; }.dr-other-row { grid-template-columns:1fr 65px; }.dr-other-split { grid-column:1/-1; justify-content:flex-start; }.dr-other-row button { grid-column:1/-1; }.dr-clarification-section { grid-template-columns:1fr; }.dr-clarification-section > strong,.dr-clarification-section button { text-align:left; }.dr-filters,.dr-service-columns { grid-template-columns:1fr; } }

/* Simplified customer landing view. Technical stage and evidence detail remains in drill-down. */
.dr-evidence-board { grid-column:span 6; min-height:245px; padding:20px 22px; border-left:4px solid rgba(129,140,248,.56); background:rgba(99,102,241,.025); }
.dr-evidence-board--1 { grid-column:span 7; min-height:245px; background:rgba(99,102,241,.06); }
.dr-evidence-board--2 { grid-column:span 5; }
.dr-evidence-board--3 { background:rgba(70,145,155,.045); }
.dr-evidence-board--4 { background:rgba(100,116,139,.045); }
.dr-evidence-board--5 { background:rgba(52,168,129,.045); }
.dr-evidence-board--6 { background:rgba(100,116,139,.035); }
.dr-evidence-board h4 { margin:0 0 14px; font-size:18px; }.dr-evidence-board h4 span { color:#818cf8; }.dr-evidence-board--1 h4 { font-size:21px; }
.dr-evidence-impact { margin-top:0; }.dr-evidence-impact strong { font-size:39px; }
.dr-needed-line { margin:15px 0 0!important; color:var(--text-color)!important; font-size:10px!important; line-height:1.45!important; }.dr-needed-line strong { color:#818cf8; }
.dr-supporting-line { max-width:560px; margin:7px 0 0!important; color:var(--text-secondary)!important; font-size:9px!important; line-height:1.45!important; }
.dr-only-callout { margin:12px 0 0!important; color:var(--text-secondary)!important; font-size:9px!important; }.dr-only-callout strong { color:#34a881; }
.dr-opportunities { display:flex; flex-direction:column; gap:7px; padding:14px 16px; }
.dr-opportunity { display:grid; grid-template-columns:270px minmax(120px,1fr) 92px; align-items:center; gap:14px; min-height:28px; padding:3px 0; border:0; background:transparent; }
.dr-opportunity > span { min-height:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.dr-opportunity > i { display:block; width:100%; height:9px; overflow:hidden; border-radius:2px; background:rgba(100,116,139,.1); }.dr-opportunity > i b { display:block; height:100%; background:#818cf8; }.dr-opportunity > strong { margin:0; color:var(--text-color); font-size:12px; text-align:right; }.dr-opportunity > strong small { color:var(--text-secondary); font-size:8px; font-weight:400; }
.dr-more-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:25px; }.dr-more-requirements,.dr-clarification-section { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:17px 19px; border:1px solid var(--border-color); border-radius:7px; background:var(--bg-surface); }.dr-more-requirements h3,.dr-clarification-section h3 { margin:4px 0; font-size:14px; }.dr-more-requirements p,.dr-clarification-section p { margin:0; color:var(--text-secondary); font-size:9px; line-height:1.35; }.dr-more-requirements button,.dr-clarification-section button { flex:0 0 auto; border:0; background:transparent; color:#818cf8; cursor:pointer; font-size:9px; font-weight:650; text-align:right; }.dr-clarification-section { border-left:3px solid rgba(179,106,199,.65); }
.dr-register-context { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:11px; padding:13px 15px; border-left:3px solid #818cf8; background:rgba(99,102,241,.045); }.dr-register-context p { margin:4px 0 0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-register-context p strong { color:var(--text-color); }

@media (max-width:1120px) { .dr-evidence-board--1,.dr-evidence-board--2,.dr-evidence-board { grid-column:span 6; }.dr-more-actions { grid-template-columns:1fr; } }
@media (max-width:760px) { .dr-evidence-board--1,.dr-evidence-board--2,.dr-evidence-board { grid-column:span 12; min-height:235px; }.dr-opportunities { display:flex; }.dr-opportunity { grid-template-columns:130px minmax(70px,1fr) 72px; }.dr-more-requirements,.dr-clarification-section { align-items:flex-start; flex-direction:column; }.dr-register-context { grid-template-columns:1fr; } }

/* Compact SID exception register */
.dr-register-view .dr-filters { position:sticky; top:0; z-index:5; box-shadow:0 3px 8px rgba(15,23,42,.05); }
.dr-service-details { gap:0; overflow:hidden; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-surface); }
.dr-service-row { border-bottom:1px solid var(--border-color); }.dr-service-row:last-child { border-bottom:0; }
.dr-service-row > summary { display:grid; grid-template-columns:230px minmax(260px,.9fr) minmax(330px,1.15fr) 82px; align-items:center; gap:18px; min-height:78px; padding:11px 14px; cursor:pointer; list-style:none; }.dr-service-row > summary::-webkit-details-marker { display:none; }.dr-service-row > summary:hover { background:rgba(99,102,241,.035); }.dr-service-row[open] > summary { background:rgba(99,102,241,.055); }
.dr-row-service { min-width:0; }.dr-row-service strong { display:block; color:#818cf8; font-family:Consolas,monospace; font-size:10px; }.dr-row-service span { display:block; overflow:hidden; margin-top:3px; font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }.dr-row-service small { display:block; overflow:hidden; margin-top:4px; color:var(--text-secondary); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.dr-row-missing,.dr-row-need { min-width:0; }.dr-row-missing > b,.dr-row-need > b { display:block; margin-bottom:5px; color:var(--text-secondary); font-size:8px; font-weight:650; }.dr-row-missing > span,.dr-row-need > span { display:block; overflow:hidden; font-size:9px; font-weight:650; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }.dr-row-missing small,.dr-row-need small { display:block; overflow:hidden; margin-top:4px; color:var(--text-secondary); font-size:8px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.dr-row-need small strong { color:var(--text-color); }.dr-row-need em { display:block; width:max-content; margin-top:6px; color:var(--text-secondary); font-size:7px; font-style:normal; }
.dr-row-stage { min-width:0; }.dr-row-stage .dr-record-state { display:inline-block; margin-bottom:5px; padding:2px 5px; border-left-width:2px; font-size:7px; letter-spacing:.035em; }.dr-row-chain { display:flex; align-items:center; gap:3px; overflow:hidden; white-space:nowrap; }.dr-row-chain span { flex:0 0 auto; padding:2px 4px; border-radius:2px; font-size:7px; }.dr-row-chain i { color:var(--text-secondary); font-size:8px; font-style:normal; }.dr-row-chain .is-linked { color:#34a881; background:rgba(52,168,129,.075); }.dr-row-chain .is-missing { color:#ef6c63; background:rgba(239,108,99,.09); }.dr-row-chain-empty { color:var(--text-secondary); font-size:8px; }
.dr-row-tags { display:flex; flex-wrap:wrap; gap:3px; }.dr-row-tags > span,.dr-row-tags > b { max-width:100%; overflow:hidden; padding:2px 5px; border:1px solid var(--border-color); border-radius:3px; color:var(--text-secondary); font-size:6px; font-weight:650; letter-spacing:.035em; text-overflow:ellipsis; white-space:nowrap; }.dr-row-tags > b.is-only { border-color:rgba(52,168,129,.25); color:#34a881; }.dr-row-tags > b.is-multiple { border-color:rgba(245,158,11,.28); color:#d59318; }.dr-row-action { color:#818cf8; font-size:8px; font-weight:650; text-align:right; white-space:nowrap; }.dr-service-row[open] .dr-row-action b { display:inline-block; transform:rotate(90deg); }
.dr-expanded-service { padding:15px 17px 14px; border-top:1px solid var(--border-color); background:var(--bg-primary); }.dr-expanded-grid { display:grid; grid-template-columns:.8fr 1.2fr 1.2fr .8fr; gap:20px; }.dr-expanded-grid section { min-width:0; }.dr-expanded-grid h5 { margin:0 0 8px; color:var(--text-secondary); font-size:8px; letter-spacing:.07em; text-transform:uppercase; }.dr-expanded-grid h5:not(:first-child) { margin-top:13px; }.dr-expanded-grid p { margin:0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-expanded-grid dl { margin:0; }.dr-expanded-grid dl div { display:flex; justify-content:space-between; gap:9px; padding:3px 0; border-bottom:1px solid var(--border-color); }.dr-expanded-grid dt,.dr-expanded-grid dd { margin:0; font-size:8px; }.dr-expanded-grid dt { color:var(--text-secondary); }.dr-expanded-grid dd { font-weight:650; text-align:right; text-transform:capitalize; }
.dr-expanded-chain { margin-top:10px; }.dr-expanded-chain .dr-row-chain { flex-wrap:wrap; white-space:normal; }
.dr-linked-evidence,.dr-missing-evidence,.dr-other-open { display:flex; flex-direction:column; gap:4px; margin:0; padding:0; list-style:none; }.dr-linked-evidence li { padding:5px 7px; background:rgba(100,116,139,.065); }.dr-linked-evidence strong,.dr-linked-evidence span { display:block; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-linked-evidence span { margin-top:2px; color:var(--text-secondary); font-size:7px; }.dr-missing-evidence li,.dr-other-open li { padding-left:8px; border-left:2px solid rgba(239,108,99,.55); color:var(--text-secondary); font-size:8px; line-height:1.4; }.dr-other-open li { border-left-color:rgba(245,158,11,.5); }
.dr-appendix-evidence { margin-top:13px; padding-top:9px; border-top:1px solid var(--border-color); }.dr-appendix-evidence > summary { color:var(--text-secondary); cursor:pointer; font-size:8px; font-weight:650; }.dr-appendix-evidence > span { display:inline-block; margin-top:8px; padding:2px 6px; border:1px solid var(--border-color); border-radius:999px; color:var(--text-secondary); font-size:7px; }.dr-appendix-evidence p { margin:6px 0; color:var(--text-secondary); font-size:9px; line-height:1.45; }.dr-appendix-evidence small { color:var(--text-secondary); font-size:7px; }

@media (max-width:1180px) { .dr-service-row > summary { grid-template-columns:190px minmax(210px,.85fr) minmax(270px,1.1fr) 75px; gap:10px; }.dr-expanded-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:800px) { .dr-register-view .dr-filters { position:static; }.dr-service-row > summary { grid-template-columns:1fr auto; gap:12px; padding:13px; }.dr-row-service { grid-column:1; }.dr-row-missing,.dr-row-need { grid-column:1/-1; }.dr-row-action { grid-column:2; grid-row:3; }.dr-expanded-grid { grid-template-columns:1fr; } }

/* Interactive reporting dashboard */
.dr-header { padding-bottom:14px; }.dr-source { display:flex; max-width:310px; flex-direction:column; gap:2px; line-height:1.5; text-align:right; white-space:normal; }
.dr-report-strip { display:grid; grid-template-columns:480px minmax(300px,1fr); align-items:center; gap:38px; margin-top:20px; padding:17px 22px; border:1px solid var(--border-color); border-radius:7px; background:var(--bg-surface); }
.dr-report-metrics { display:grid; grid-template-columns:repeat(3,1fr); }.dr-report-metrics > div { min-width:0; padding:2px 22px; border-right:1px solid var(--border-color); text-align:center; }.dr-report-metrics > div:first-child { padding-left:0; }.dr-report-metrics strong,.dr-report-metrics span,.dr-report-metrics b { display:block; }.dr-report-metrics strong { font-size:25px; line-height:1; }.dr-report-metrics span { margin-top:7px; font-size:10px; }.dr-report-metrics b { margin-top:5px; color:#818cf8; font-size:14px; }.dr-kpi-link { margin:4px 0 0; padding:0; border:0; background:transparent; color:#5965df; cursor:pointer; font:inherit; font-size:7px; font-weight:600; line-height:1.2; white-space:nowrap; }.dr-kpi-link:hover { text-decoration:underline; }
.dr-report-progress-bar { position:relative; display:flex; height:29px; overflow:hidden; border-radius:3px; background:rgba(100,116,139,.14); }.dr-report-progress-bar > span { display:flex; align-items:center; justify-content:flex-end; box-sizing:border-box; padding-right:10px; background:#5965df; color:#fff; }.dr-report-progress-bar b,.dr-report-progress-bar i { font-size:10px; font-style:normal; }.dr-report-progress-bar > i { position:absolute; top:8px; right:10px; color:var(--text-color); font-weight:700; }.dr-report-progress > div:last-child { display:flex; justify-content:space-between; margin-top:5px; color:var(--text-secondary); font-size:8px; }
.dr-dashboard-layout { display:grid; grid-template-columns:minmax(420px,.88fr) minmax(600px,1.12fr); gap:14px; margin-top:14px; }.dr-dashboard-left { display:flex; flex-direction:column; gap:14px; }
.dr-report-panel,.dr-selected-requirement { border:1px solid var(--border-color); border-radius:7px; background:var(--bg-surface); }.dr-report-panel { padding:16px 17px 13px; }.dr-report-panel > header h3 { margin:0; font-size:17px; }.dr-report-panel > header p { margin:4px 0 13px; color:var(--text-secondary); font-size:9px; }.dr-ranking-head { display:grid; grid-template-columns:1fr 125px; padding:0 3px 6px; border-bottom:1px solid var(--border-color); color:var(--text-secondary); font-size:7px; font-weight:650; text-transform:uppercase; }.dr-ranking-head span:last-child { text-align:right; }
.dr-requirement-ranking { display:flex; flex-direction:column; }.dr-requirement-row { display:grid; grid-template-columns:31px minmax(215px,1fr) 44px minmax(85px,38%); align-items:center; gap:11px; min-height:55px; padding:7px 7px; border:0; border-bottom:1px solid var(--border-color); background:transparent; color:var(--text-color); cursor:pointer; font:inherit; text-align:left; }.dr-requirement-row:hover { background:rgba(99,102,241,.035); }.dr-requirement-row.is-selected { background:rgba(99,102,241,.07); box-shadow:inset 3px 0 #6672df; }.dr-requirement-icon { display:flex; width:27px; height:27px; align-items:center; justify-content:center; color:#6f7be3; }.dr-requirement-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.45; }.dr-requirement-row.is-selected .dr-requirement-icon { color:#4f5fd0; }.dr-requirement-row strong { font-size:10px; font-weight:675; line-height:1.35; }.dr-requirement-row > b { color:#6f7be3; font-size:15px; text-align:right; }.dr-requirement-row > i,.dr-priority-row > i { display:block; height:9px; overflow:hidden; border-radius:2px; background:rgba(100,116,139,.1); }.dr-requirement-row > i span { display:block; height:100%; background:#7782e7; }
.dr-inline-action { margin-top:10px; padding:0; border:0; background:transparent; color:#5965df; cursor:pointer; font:inherit; font-size:9px; font-weight:650; }.dr-inline-action:hover { color:var(--text-color); }
.dr-reusable-note { display:block; margin-top:3px; font-size:8px; }.dr-priority-ranking { display:flex; flex-direction:column; }.dr-priority-row { display:grid; grid-template-columns:30px minmax(180px,1fr) 70px; align-items:center; gap:10px; min-height:43px; padding:6px 3px; border:0; border-bottom:1px solid var(--border-color); background:transparent; color:var(--text-color); cursor:pointer; font:inherit; text-align:left; }.dr-priority-row:hover { background:rgba(99,102,241,.035); }.dr-priority-row .dr-requirement-icon { width:26px; height:26px; color:#6571df; }.dr-priority-row .dr-requirement-icon svg { width:20px; height:20px; }.dr-priority-source,.dr-priority-count { display:flex; min-width:0; flex-direction:column; }.dr-priority-source strong { overflow:hidden; font-size:9px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.dr-priority-source small { margin-top:3px; color:var(--text-secondary); font-size:7px; }.dr-priority-count { align-items:flex-end; }.dr-priority-count strong { color:var(--text-color); font-size:12px; }.dr-priority-count small { margin-top:1px; color:var(--text-secondary); font-size:7px; }
.dr-selected-requirement { position:sticky; top:10px; min-width:0; align-self:start; padding:19px; }.dr-selected-header { display:flex; align-items:center; gap:12px; }.dr-selected-header .dr-requirement-icon { width:38px; height:38px; color:#26986e; }.dr-selected-header .dr-requirement-icon svg { width:32px; height:32px; }.dr-selected-header h3 { margin:0; font-size:17px; }.dr-selected-header p { margin:4px 0 0; font-size:10px; }
.dr-selected-summary { margin-top:13px; padding:12px 14px; border-left:3px solid #26986e; background:rgba(52,168,129,.035); }.dr-selected-need > span { display:block; margin-bottom:5px; color:#217c5b; font-size:8px; font-weight:700; }.dr-selected-need > strong { display:block; font-size:11px; line-height:1.35; }.dr-selected-need p { max-width:620px; margin:4px 0 0; color:var(--text-secondary); font-size:8px; line-height:1.4; }.dr-portal-context { margin-top:15px; padding-top:12px; border-top:1px solid var(--border-color); }.dr-portal-context > span { color:var(--text-secondary); font-size:8px; font-weight:650; }.dr-portal-context p { margin:5px 0 0; color:var(--text-secondary); font-size:9px; }.dr-portal-context strong { color:var(--text-color); }.dr-portal-context i { margin:0 5px; font-style:normal; }
.dr-primary-action { margin-top:12px; padding:9px 13px; border:0; border-radius:4px; background:#218b64; color:#fff; cursor:pointer; font:inherit; font-size:9px; font-weight:650; }.dr-primary-action:hover { background:#187552; }.dr-preview-heading { display:flex; align-items:end; justify-content:space-between; margin-top:23px; }.dr-preview-heading h4 { margin:0; font-size:14px; }.dr-preview-heading span { color:var(--text-secondary); font-size:8px; }
.dr-customer-breakdown { margin-top:16px; padding-top:13px; border-top:1px solid var(--border-color); }.dr-customer-breakdown > header { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:5px; }.dr-customer-breakdown h4 { margin:0; font-size:13px; }.dr-customer-breakdown header p { margin:4px 0 0; color:var(--text-secondary); font-size:8px; }.dr-customer-breakdown header label { display:flex; align-items:center; gap:7px; color:var(--text-secondary); font-size:8px; }.dr-customer-breakdown header select { padding:5px 7px; border:1px solid var(--border-color); border-radius:3px; background:var(--bg-primary); color:var(--text-color); font:inherit; font-size:8px; }
.dr-customer-all,.dr-customer-row { width:100%; border:0; background:transparent; color:var(--text-color); cursor:pointer; font:inherit; text-align:left; }.dr-customer-all { display:flex; align-items:center; justify-content:space-between; padding:7px 8px; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-customer-all span { font-size:9px; font-weight:650; }.dr-customer-all strong { color:#6571df; font-size:10px; }.dr-customer-all:hover,.dr-customer-row:hover { background:rgba(99,102,241,.035); }.dr-customer-all.is-selected,.dr-customer-row.is-selected { background:rgba(99,102,241,.065); box-shadow:inset 2px 0 #6672df; }
.dr-customer-ranking { display:flex; flex-direction:column; }.dr-customer-row { display:grid; grid-template-columns:minmax(150px,1fr) 42px minmax(90px,42%); align-items:center; gap:10px; min-height:31px; padding:3px 8px; border-bottom:1px solid var(--border-color); }.dr-customer-row > span { overflow:hidden; font-size:9px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.dr-customer-row > strong { color:#6571df; font-size:10px; text-align:right; }.dr-customer-row > i { display:block; height:7px; overflow:hidden; background:rgba(100,116,139,.1); }.dr-customer-row > i b { display:block; height:100%; background:#7c86e4; }.dr-customer-breakdown > .dr-inline-action { margin-top:9px; }.dr-preview-heading > div p { margin:4px 0 0; color:var(--text-secondary); font-size:8px; }.dr-customer-empty { color:var(--text-secondary); font-size:9px; }
.dr-preview-table { margin-top:8px; border-top:1px solid var(--border-color); }.dr-preview-row { display:grid; grid-template-columns:45px minmax(120px,1fr) minmax(100px,.75fr) minmax(145px,1.2fr) 78px; align-items:center; gap:8px; min-height:35px; border-bottom:1px solid var(--border-color); font-size:8px; }.dr-preview-row > * { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dr-preview-row > span { color:var(--text-secondary); }.dr-preview-head { min-height:28px; color:var(--text-secondary); font-size:7px; font-weight:650; text-transform:uppercase; }.dr-preview-sid { color:var(--text-color)!important; font-family:Consolas,monospace; }.dr-preview-row > button { padding:0; border:0; background:transparent; color:#5965df; cursor:pointer; font:inherit; font-size:8px; text-align:right; }.dr-view-all { display:block; margin-left:auto; }
.dr-dashboard-help { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:16px; padding:18px 20px; border:1px solid var(--border-color); border-left:3px solid #6571df; border-radius:7px; background:var(--bg-surface); }.dr-dashboard-help div { display:flex; flex-direction:column; gap:4px; }.dr-dashboard-help h3 { margin:0; font-size:16px; }.dr-dashboard-help p { margin:0; color:var(--text-color); font-size:9px; }.dr-dashboard-help span { color:var(--text-secondary); font-size:8px; }.dr-dashboard-help button { flex:0 0 auto; padding:9px 13px; border:1px solid #6571df; border-radius:4px; background:#6571df; color:#fff; cursor:pointer; font:inherit; font-size:9px; font-weight:650; }
@media (max-width:1180px) { .dr-report-strip { grid-template-columns:440px 1fr; }.dr-dashboard-layout { grid-template-columns:1fr; }.dr-dashboard-left { display:grid; grid-template-columns:1fr 1fr; }.dr-selected-requirement { position:static; grid-column:1/-1; } }
@media (max-width:760px) { .dr-header { gap:10px; }.dr-source { text-align:left; }.dr-report-strip { grid-template-columns:1fr; gap:18px; padding:16px; }.dr-report-metrics > div { padding:2px 10px; }.dr-report-progress { width:100%; }.dr-dashboard-left { display:flex; }.dr-requirement-row { grid-template-columns:28px minmax(130px,1fr) 35px; }.dr-requirement-row > i { grid-column:2/-1; width:100%; }.dr-selected-summary { grid-template-columns:1fr; }.dr-selected-need { border-right:0; border-bottom:1px solid var(--border-color); }.dr-preview-table { overflow-x:auto; }.dr-preview-row { width:620px; }.dr-dashboard-help { align-items:flex-start; flex-direction:column; } }

/* Customer action register and SID detail drawer */
.dr-register-view { margin-top:20px; }.dr-register-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 13px; }.dr-register-heading h3 { margin:0; font-size:17px; }.dr-back-btn { margin-bottom:17px; font-size:9px; }
.dr-register-context { display:block; margin:0 0 18px; padding:0; border:0; background:transparent; }.dr-drill-summary { padding-bottom:14px; border-bottom:1px solid var(--border-color); }.dr-drill-summary > div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }.dr-drill-summary h2 { margin:0; font-size:23px; }.dr-drill-summary span { color:#6571df; font-size:13px; font-weight:700; }
.dr-information-required { padding:20px 0; }.dr-information-required h3,.dr-gap-summary h3,.dr-requirement-split h3 { margin:0 0 13px; font-size:14px; }.dr-artefact-list { display:flex; flex-wrap:wrap; gap:28px; }.dr-artefact-list > div { display:flex; min-width:250px; align-items:center; gap:12px; }.dr-artefact-list .dr-requirement-icon { width:34px; height:34px; flex:0 0 auto; }.dr-artefact-list .dr-requirement-icon svg { width:30px; height:30px; }.dr-artefact-list strong { display:block; font-size:10px; }.dr-artefact-list p { margin:3px 0 0; color:var(--text-secondary); font-size:9px; }.dr-requirement-explanation { max-width:850px; margin:15px 0 0!important; color:var(--text-secondary)!important; font-size:10px!important; line-height:1.5!important; }
.dr-drill-insight-grid { display:grid; grid-template-columns:minmax(420px,1.35fr) minmax(250px,.65fr); gap:32px; padding:19px 0 21px; border-top:1px solid var(--border-color); }.dr-gap-summary > div { display:flex; flex-direction:column; gap:7px; }.dr-gap-bar { display:grid; grid-template-columns:190px 35px minmax(100px,1fr); align-items:center; gap:10px; min-height:20px; }.dr-gap-bar > span { font-size:9px; }.dr-gap-bar > strong { color:#6571df; font-size:11px; text-align:right; }.dr-gap-bar > i { height:8px; overflow:hidden; background:rgba(100,116,139,.1); }.dr-gap-bar > i b { display:block; height:100%; background:#7782e7; }.dr-gap-summary > small { display:block; margin-top:11px; color:var(--text-secondary); font-size:8px; }.dr-gap-summary > p { color:var(--text-secondary); font-size:9px; }
.dr-requirement-split { padding-left:25px; border-left:1px solid var(--border-color); }.dr-requirement-split > div { display:grid; grid-template-columns:45px 1fr; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--border-color); }.dr-requirement-split > div strong { color:#26986e; font-size:20px; }.dr-requirement-split > div:nth-of-type(2) strong { color:#cb8b20; }.dr-requirement-split > div span { color:var(--text-secondary); font-size:9px; }.dr-requirement-split > p { margin:10px 0 0; color:var(--text-secondary); font-size:8px; line-height:1.45; }
.dr-filters { position:static!important; grid-template-columns:minmax(240px,1.5fr) minmax(165px,1fr) minmax(180px,1fr) minmax(145px,.8fr) 135px auto; margin:0 0 12px; padding:11px 0; border-width:1px 0; border-radius:0; box-shadow:none!important; background:transparent; }.dr-filters label { font-size:8px; letter-spacing:0; text-transform:none; }.dr-filters label[hidden] { display:none; }.dr-filters select,.dr-filters input { height:33px; background:var(--bg-surface); }.dr-clear-btn { height:33px; }
.dr-register-table-head,.dr-register-row { display:grid; grid-template-columns:minmax(240px,1.15fr) minmax(210px,.9fr) minmax(240px,1fr) 90px; align-items:center; gap:18px; }.dr-register-table-head { min-height:31px; padding:0 11px; border-bottom:1px solid var(--border-color); color:var(--text-secondary); font-size:8px; font-weight:650; }.dr-service-details { display:block; overflow:visible; border:0; border-radius:0; background:transparent; }.dr-register-row { min-height:58px; padding:7px 11px; border-bottom:1px solid var(--border-color); }.dr-register-row:hover { background:rgba(99,102,241,.025); }.dr-register-service strong,.dr-register-service span { display:block; }.dr-register-service strong { font-size:10px; line-height:1.35; }.dr-register-service span { margin-top:3px; color:var(--text-secondary); font-family:Consolas,monospace; font-size:8px; }.dr-register-gaps,.dr-register-additional { display:flex; flex-direction:column; gap:3px; }.dr-register-gaps span,.dr-register-additional span { color:var(--text-secondary); font-size:8px; line-height:1.35; }.dr-register-gaps span:not(:only-child) { color:#6571df; }.dr-register-additional.has-additional span { color:#bd8120; }.dr-register-row > button { padding:0; border:0; background:transparent; color:#5965df; cursor:pointer; font:inherit; font-size:8px; text-align:right; white-space:nowrap; }
.dr-drawer-backdrop { position:fixed; z-index:9998; inset:0; background:rgba(15,23,42,.28); }.dr-drawer-backdrop[hidden] { display:none; }.dr-service-drawer { position:fixed; z-index:9999; top:0; right:0; width:min(510px,92vw); height:100vh; box-sizing:border-box; overflow-y:auto; padding:27px 28px 36px; border-left:1px solid var(--border-color); background:var(--bg-surface); box-shadow:-12px 0 35px rgba(15,23,42,.14); transform:translateX(105%); transition:transform .18s ease-out; }.dr-service-drawer.is-open { transform:translateX(0); }.dr-drawer-close { position:absolute; top:15px; right:18px; border:0; background:transparent; color:var(--text-secondary); cursor:pointer; font-size:25px; line-height:1; }.dr-drawer-open { overflow:hidden; }
.dr-service-drawer header { padding:5px 30px 17px 0; border-bottom:1px solid var(--border-color); }.dr-service-drawer header h2 { margin:0; font-size:20px; }.dr-service-drawer header p { margin:6px 0 0; color:var(--text-secondary); font-size:9px; }.dr-service-drawer header p span { margin:0 5px; }.dr-service-drawer section { padding:17px 0; border-bottom:1px solid var(--border-color); }.dr-service-drawer section h3 { margin:0 0 11px; font-size:12px; }.dr-drawer-list,.dr-drawer-evidence { margin:0; padding:0; list-style:none; }.dr-drawer-list li { display:flex; align-items:center; gap:11px; margin-top:10px; }.dr-drawer-list li:first-child { margin-top:0; }.dr-drawer-list strong { display:block; font-size:9px; }.dr-drawer-list p { margin:3px 0 0; color:var(--text-secondary); font-size:8px; }.dr-drawer-lines { display:flex; flex-direction:column; gap:5px; }.dr-drawer-lines span { color:var(--text-secondary); font-size:9px; }.dr-drawer-lines.has-additional span { color:#bd8120; }.dr-drawer-evidence { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.dr-drawer-evidence li { min-width:0; padding:7px; background:rgba(100,116,139,.06); }.dr-drawer-evidence strong,.dr-drawer-evidence span { display:block; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-drawer-evidence span { margin-top:3px; color:var(--text-secondary); font-size:7px; }.dr-service-drawer section > p { margin:0; color:var(--text-secondary); font-size:9px; }.dr-service-drawer details { margin-top:10px; }.dr-service-drawer details summary { color:#5965df; cursor:pointer; font-size:8px; }.dr-drawer-review p { margin:5px 0!important; padding-left:8px; border-left:2px solid #cb8b20; }.dr-drawer-appendix { margin-top:17px!important; padding-top:12px; border-top:1px solid var(--border-color); }.dr-drawer-appendix > span { display:block; margin-top:11px; color:var(--text-secondary); font-size:8px; }.dr-drawer-appendix p { color:var(--text-secondary); font-size:9px; line-height:1.5; }.dr-drawer-appendix small { color:var(--text-secondary); font-size:7px; }
@media (max-width:1000px) { .dr-drill-insight-grid { grid-template-columns:1fr; }.dr-requirement-split { padding-left:0; border-left:0; }.dr-filters { grid-template-columns:1fr 1fr; }.dr-register-table-head,.dr-register-row { grid-template-columns:minmax(210px,1fr) minmax(180px,1fr) minmax(210px,1fr) 80px; gap:10px; } }
@media (max-width:700px) { .dr-drill-summary > div { align-items:flex-start; flex-direction:column; gap:5px; }.dr-gap-bar { grid-template-columns:145px 30px 1fr; }.dr-filters { grid-template-columns:1fr; }.dr-register-table-head { display:none; }.dr-register-row { grid-template-columns:1fr auto; gap:9px 14px; padding:13px 7px; }.dr-register-service { grid-column:1; }.dr-register-gaps,.dr-register-additional { grid-column:1/-1; }.dr-register-row > button { grid-column:2; grid-row:1; }.dr-drawer-evidence { grid-template-columns:1fr; }.dr-customer-breakdown > header { align-items:flex-start; flex-direction:column; }.dr-customer-row { grid-template-columns:minmax(120px,1fr) 35px minmax(70px,35%); } }

/* Simplified requirement drill-through: customer register first, analysis on demand. */
.dr-information-required { padding:17px 0; }.dr-requirement-explanation { margin-top:12px!important; }
.dr-requirement-summary-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:14px 0; border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-requirement-summary-strip > div { padding:0 22px; border-right:1px solid var(--border-color); }.dr-requirement-summary-strip > div:first-child { padding-left:0; }.dr-requirement-summary-strip > div:last-child { border-right:0; }.dr-requirement-summary-strip strong,.dr-requirement-summary-strip span { display:block; }.dr-requirement-summary-strip strong { font-size:21px; }.dr-requirement-summary-strip span { margin-top:4px; color:var(--text-secondary); font-size:8px; }
.dr-affected-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-top:22px; }.dr-affected-heading h3 { margin:0; font-size:18px; }
.dr-filters { grid-template-columns:minmax(240px,1.5fr) minmax(155px,.9fr) minmax(185px,1fr) 135px 105px auto; align-items:end; margin-top:9px; }.dr-more-filter { position:relative; }.dr-more-filter > summary { height:31px; box-sizing:border-box; padding:8px 9px; border:1px solid var(--border-color); border-radius:5px; color:var(--text-secondary); cursor:pointer; font-size:8px; list-style:none; }.dr-more-filter > summary::-webkit-details-marker { display:none; }.dr-more-filter[open] > label { position:absolute; z-index:4; top:37px; right:0; width:210px; padding:10px; border:1px solid var(--border-color); background:var(--bg-surface); box-shadow:0 7px 18px rgba(15,23,42,.12); }
.dr-register-table-head,.dr-register-row { grid-template-columns:minmax(220px,1.1fr) minmax(105px,.55fr) minmax(220px,1fr) minmax(230px,1fr) 88px; gap:15px; }.dr-register-row { min-height:64px; padding:8px 11px; }.dr-register-service span { margin:0; color:#6571df; }.dr-register-service strong { margin-top:4px; }.dr-register-customer { overflow:hidden; color:var(--text-secondary); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-register-selected-requirement { display:flex; flex-direction:column; gap:3px; }.dr-register-selected-requirement span { color:var(--text-color); font-size:8px; line-height:1.35; }.dr-register-additional:not(.has-additional) span { color:var(--text-secondary); }
.dr-technical-analysis { margin-top:18px; }.dr-technical-analysis > details { border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); }.dr-technical-analysis > details > summary { display:flex; justify-content:space-between; padding:13px 2px; color:var(--text-color); cursor:pointer; font-size:10px; font-weight:650; list-style:none; }.dr-technical-analysis > details > summary::-webkit-details-marker { display:none; }.dr-technical-analysis .dr-gap-summary { max-width:850px; padding:5px 2px 18px; }.dr-context-note { max-width:720px; margin:0 0 13px!important; color:var(--text-secondary)!important; font-size:8px!important; line-height:1.5; }
.dr-drawer-required .dr-drawer-list li { padding:9px 0; border-bottom:1px solid var(--border-color); }.dr-drawer-required .dr-drawer-list li:last-child { border-bottom:0; }.dr-drawer-position > strong { display:block; font-size:12px; line-height:1.45; }.dr-technical-detail { margin-top:15px!important; border-top:1px solid var(--border-color); }.dr-technical-detail > summary { display:flex; justify-content:space-between; padding:14px 0; font-size:9px!important; font-weight:650; list-style:none; }.dr-technical-detail > summary::-webkit-details-marker { display:none; }.dr-technical-detail > section { padding:14px 0; }.dr-technical-detail dl { margin:0; }.dr-technical-detail dl div { display:grid; grid-template-columns:105px 1fr; gap:12px; padding:5px 0; border-bottom:1px solid var(--border-color); }.dr-technical-detail dt,.dr-technical-detail dd { margin:0; font-size:8px; line-height:1.45; }.dr-technical-detail dt { color:var(--text-secondary); }.dr-technical-detail dd { text-align:right; }.dr-technical-detail .dr-drawer-appendix { margin-top:0!important; }
@media (max-width:1100px) { .dr-filters { grid-template-columns:1fr 1fr 1fr; }.dr-register-table-head,.dr-register-row { grid-template-columns:minmax(190px,1fr) 100px minmax(180px,1fr) minmax(190px,1fr) 75px; gap:9px; } }
@media (max-width:700px) { .dr-requirement-summary-strip { grid-template-columns:1fr; }.dr-requirement-summary-strip > div { padding:9px 0; border-right:0; border-bottom:1px solid var(--border-color); }.dr-requirement-summary-strip > div:last-child { border-bottom:0; }.dr-more-filter[open] > label { position:static; width:auto; margin-top:5px; box-shadow:none; }.dr-register-customer,.dr-register-selected-requirement,.dr-register-additional { grid-column:1/-1; } }

/* Customer-first SID drawer. Technical traceability remains collapsed. */
.dr-service-drawer section { padding:18px 0; }.dr-service-drawer section h3 { margin-bottom:12px; font-size:13px; }
.dr-drawer-service-details dl { margin:0; }.dr-drawer-service-details dl > div { display:grid; grid-template-columns:115px 1fr; gap:14px; padding:5px 0; }.dr-drawer-service-details dt,.dr-drawer-service-details dd { margin:0; font-size:9px; line-height:1.4; }.dr-drawer-service-details dt { color:var(--text-secondary); }.dr-drawer-service-details dd { overflow-wrap:anywhere; }
.dr-required-count { margin:-5px 0 10px!important; color:var(--text-secondary)!important; font-size:8px!important; }.dr-drawer-required .dr-drawer-list li { align-items:flex-start; padding:12px 0; }.dr-drawer-required .dr-requirement-icon { flex:0 0 auto; margin-top:1px; }.dr-drawer-required .dr-drawer-list strong,.dr-drawer-required .dr-required-evidence,.dr-drawer-required .dr-drawer-list p { display:block; }.dr-drawer-required .dr-drawer-list strong { font-size:10px; }.dr-drawer-required .dr-required-evidence { margin-top:5px; font-size:9px; font-weight:400; line-height:1.4; }.dr-drawer-required .dr-drawer-list p { max-width:380px; margin-top:4px; line-height:1.45; }
.dr-drawer-available ul { display:flex; flex-direction:column; gap:7px; margin:0; padding:0; list-style:none; }.dr-drawer-available li { display:flex; align-items:center; gap:8px; color:var(--text-secondary); font-size:9px; }.dr-drawer-available li i { color:#26986e; font-size:10px; font-style:normal; }.dr-drawer-available > p { line-height:1.45; }
.dr-drawer-position { border-bottom:0!important; }.dr-drawer-position h3 { margin-bottom:7px!important; }.dr-drawer-position > p { margin:0; color:var(--text-secondary); font-size:9px; font-weight:400; line-height:1.45; }
.dr-technical-detail { margin-top:2px!important; }.dr-technical-detail > summary { color:#5965df!important; }.dr-technical-detail[open] > summary { color:var(--text-color)!important; }.dr-technical-detail > section { border-bottom:1px solid var(--border-color); }.dr-technical-detail > section:last-child { border-bottom:0; }
@media (max-width:520px) { .dr-drawer-service-details dl > div { grid-template-columns:95px 1fr; } }

/* Multi-requirement overlap explanation */
.dr-requirements-panel > header p small { display:block; margin-top:4px; color:var(--text-secondary); font-size:8px; }
.dr-overlap-summary { padding:16px 0 14px; border-top:1px solid var(--border-color); }.dr-overlap-summary h3 { margin:0; font-size:16px; }.dr-overlap-summary p { margin:6px 0 0; color:var(--text-color); font-size:10px; }.dr-overlap-summary small { display:block; max-width:760px; margin-top:6px; color:var(--text-secondary); font-size:8px; line-height:1.45; }
.dr-overlap-breakdown { padding:16px 0 5px; border-top:1px solid var(--border-color); }.dr-overlap-breakdown > h3 { margin:0 0 10px; font-size:14px; }.dr-overlap-breakdown > div { display:flex; max-width:900px; flex-direction:column; }.dr-overlap-breakdown > p:not(.dr-only-requirement) { color:var(--text-secondary); font-size:9px; }
.dr-overlap-row { display:grid; grid-template-columns:30px minmax(250px,1fr) 45px minmax(130px,42%); align-items:center; gap:11px; min-height:39px; border-bottom:1px solid var(--border-color); }.dr-overlap-row .dr-requirement-icon { width:25px; height:25px; }.dr-overlap-row .dr-requirement-icon svg { width:22px; height:22px; }.dr-overlap-row > strong { font-size:9px; line-height:1.3; }.dr-overlap-row > b { color:#6571df; font-size:11px; text-align:right; }.dr-overlap-row > i { display:block; height:8px; overflow:hidden; background:rgba(100,116,139,.1); }.dr-overlap-row > i span { display:block; height:100%; background:#7782e7; }
.dr-only-requirement { margin:11px 0 0!important; color:var(--text-secondary)!important; font-size:9px!important; }.dr-only-requirement strong { color:var(--text-secondary); }.dr-only-requirement.has-services strong { color:#26986e; }.dr-affected-heading > div p { margin:4px 0 0; color:var(--text-secondary); font-size:9px; }
@media (max-width:700px) { .dr-overlap-row { grid-template-columns:27px minmax(150px,1fr) 35px; gap:8px; padding:6px 0; }.dr-overlap-row > i { grid-column:2/-1; }.dr-affected-heading { align-items:flex-start; flex-direction:column; gap:6px; } }

/* Keep the service register directly beneath the concise requirement summary. */
.dr-register-context { margin-bottom:0; }.dr-affected-heading { margin-top:17px; }

/* Shared analytical requirement-group drill-down */
.dr-drill-summary { padding:0 0 11px; }.dr-drill-summary > div { align-items:flex-start; }.dr-drill-summary > div > div { min-width:0; }.dr-drill-summary h2 { font-size:23px; }.dr-drill-summary p { max-width:780px; margin:6px 0 0; color:var(--text-secondary); font-size:10px; }.dr-drill-summary > div > span { padding-top:7px; white-space:nowrap; }
.dr-drill-overview { display:grid; grid-template-columns:minmax(520px,1.1fr) minmax(390px,.9fr); gap:14px; margin-top:14px; }.dr-kpi-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.dr-kpi-summary article { position:relative; min-height:145px; box-sizing:border-box; padding:18px 16px; border:1px solid var(--border-color); border-radius:6px; background:var(--bg-surface); }.dr-kpi-summary .dr-requirement-icon { position:absolute; top:17px; left:16px; width:34px; height:34px; padding:3px; border-radius:7px; background:rgba(99,102,241,.08); }.dr-kpi-summary .dr-requirement-icon svg { width:27px; height:27px; }.dr-kpi-summary article > strong { display:block; margin-left:47px; font-size:27px; line-height:38px; }.dr-kpi-summary h3 { margin:13px 0 0; font-size:11px; }.dr-kpi-summary p { margin:8px 0 0; color:var(--text-secondary); font-size:8px; line-height:1.45; }.dr-kpi-summary .is-only { border-color:rgba(52,168,129,.22); }.dr-kpi-summary .is-only .dr-requirement-icon,.dr-kpi-summary .is-only > strong { color:#26986e; }.dr-kpi-summary .is-only .dr-requirement-icon { background:rgba(52,168,129,.08); }.dr-kpi-summary .is-other { border-color:rgba(245,158,11,.27); }.dr-kpi-summary .is-other .dr-requirement-icon,.dr-kpi-summary .is-other > strong { color:#c98318; }.dr-kpi-summary .is-other .dr-requirement-icon { background:rgba(245,158,11,.08); }
.dr-customer-impact { min-width:0; padding:14px 16px; border:1px solid var(--border-color); border-radius:6px; background:var(--bg-surface); }.dr-customer-impact > h3 { margin:0 0 8px; font-size:12px; }.dr-customer-impact > div { display:flex; flex-direction:column; }.dr-customer-impact button { display:grid; grid-template-columns:minmax(105px,1fr) minmax(100px,2.3fr) 62px; align-items:center; gap:9px; min-height:25px; padding:2px 5px; border:0; background:transparent; color:var(--text-color); cursor:pointer; font:inherit; text-align:left; }.dr-customer-impact button:hover { background:rgba(99,102,241,.035); }.dr-customer-impact button.is-selected { background:rgba(99,102,241,.07); box-shadow:inset 2px 0 #6672df; }.dr-customer-impact button > span { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-customer-impact button > i { height:6px; overflow:hidden; background:rgba(100,116,139,.1); }.dr-customer-impact button > i b { display:block; height:100%; background:#6672df; }.dr-customer-impact button > strong { font-size:8px; text-align:right; }.dr-customer-impact button small { color:var(--text-secondary); font-size:7px; font-weight:400; }.dr-customer-impact > p { margin:6px 4px 0; color:var(--text-secondary); font-size:7px; }
.dr-information-panel { display:flex; align-items:flex-start; gap:13px; margin-top:14px; padding:15px 17px; border:1px solid #6672df; border-radius:6px; background:rgba(99,102,241,.02); }.dr-information-panel .dr-requirement-icon { width:31px; height:31px; flex:0 0 auto; }.dr-information-panel .dr-requirement-icon svg { width:28px; height:28px; }.dr-information-panel h3 { margin:0 0 8px; font-size:12px; }.dr-information-panel strong { display:block; font-size:10px; }.dr-information-panel p { margin:6px 0 0; color:var(--text-secondary); font-size:9px; }
.dr-affected-heading { margin-top:20px; }.dr-filters { margin-bottom:0; }.dr-active-filters { display:flex; min-height:28px; flex-wrap:wrap; align-items:center; gap:7px; padding:7px 10px; border-bottom:1px solid var(--border-color); }.dr-active-filters > span { margin-right:8px; color:var(--text-secondary); font-size:8px; }.dr-active-filters > button { padding:4px 8px; border:1px solid var(--border-color); border-radius:999px; background:var(--bg-surface); color:var(--text-secondary); cursor:pointer; font:inherit; font-size:8px; }.dr-active-filters button b { margin-left:5px; color:var(--text-color); font-size:10px; }
.dr-register-table-head,.dr-register-row { grid-template-columns:95px minmax(240px,1.15fr) minmax(130px,.7fr) minmax(280px,1.25fr) 88px; gap:14px; }.dr-register-row { min-height:45px; padding-top:5px; padding-bottom:5px; }.dr-register-sid { color:#5965df; font-family:Consolas,monospace; font-size:8px; }.dr-register-programme { overflow:hidden; font-size:9px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }.dr-register-additional { display:flex; flex-direction:row; align-items:center; gap:7px; }.dr-register-additional > i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#f59e0b; }.dr-register-additional.has-none > i { position:relative; background:#34a881; }.dr-register-additional.has-none > i::after { position:absolute; top:-2px; left:1px; color:#fff; font-size:6px; content:'✓'; }.dr-register-additional span { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.dr-register-additional.has-additional span { color:var(--text-color); }
.dr-register-view.is-full-register .dr-filters { grid-template-columns:minmax(220px,1.3fr) minmax(190px,1.05fr) minmax(150px,.8fr) minmax(145px,.75fr) minmax(175px,.9fr) auto; gap:8px; }.dr-register-view.is-full-register .dr-search-label { order:1; }.dr-register-view.is-full-register #drCategoryFilterLabel { order:2; }.dr-register-view.is-full-register .dr-customer-filter-label { order:3; }.dr-register-view.is-full-register .dr-project-filter-label { order:4; }.dr-register-view.is-full-register #drStageFilterContainer { order:5; }.dr-register-view.is-full-register .dr-clear-btn { order:6; }.dr-register-view.is-full-register .dr-more-filter > summary { display:none; }.dr-register-view.is-full-register .dr-more-filter > label { display:flex; position:static; width:auto; padding:0; border:0; box-shadow:none; }.dr-register-table-scroll { overflow-x:auto; }.dr-register-view.is-full-register .dr-register-table-scroll { border-bottom:1px solid var(--border-color); }.dr-register-view.is-full-register .dr-register-table-head,.dr-register-view.is-full-register .dr-register-row { width:100%; min-width:1180px; box-sizing:border-box; grid-template-columns:64px minmax(210px,1.25fr) minmax(125px,.7fr) minmax(105px,.58fr) minmax(310px,1.65fr) minmax(175px,.92fr) 86px; gap:14px; }.dr-register-view.is-full-register .dr-register-table-head { position:sticky; z-index:3; top:0; min-height:34px; background:var(--bg-surface); }.dr-full-register-row { min-height:58px; padding-top:8px; padding-bottom:8px; align-items:center; }.dr-full-register-row > * { min-width:0; }.dr-full-register-row .dr-register-sid { color:#5965df; font-size:9px; }.dr-full-register-row .dr-register-programme { color:var(--text-color); font-size:10px; font-weight:600; line-height:1.35; }.dr-full-register-row .dr-register-customer,.dr-register-project,.dr-register-position { overflow:hidden; color:var(--text-secondary); font-size:9px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.dr-register-requirements { display:-webkit-box; overflow:hidden; font-size:9px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.dr-register-requirements span { display:inline; font-size:9px; line-height:1.4; }.dr-register-requirements span:not(:last-child)::after { color:var(--text-secondary); content:' · '; }.dr-full-register-row > button { align-self:center; font-size:8px; white-space:nowrap; }
@media (max-width:1120px) { .dr-drill-overview { grid-template-columns:1fr; }.dr-customer-impact { min-height:145px; }.dr-register-table-head,.dr-register-row { grid-template-columns:78px minmax(180px,1fr) 110px minmax(220px,1fr) 75px; gap:9px; } }
@media (max-width:760px) { .dr-kpi-summary { grid-template-columns:1fr; }.dr-kpi-summary article { min-height:105px; }.dr-register-table-head { display:none; }.dr-register-row { grid-template-columns:70px 1fr auto; }.dr-register-sid { grid-column:1; }.dr-register-programme { grid-column:2; }.dr-register-customer,.dr-register-additional { grid-column:1/-1; }.dr-register-row > button { grid-column:3; grid-row:1; }.dr-customer-impact button { grid-template-columns:minmax(90px,1fr) minmax(80px,1.5fr) 58px; } }
@media (max-width:1120px) { .dr-register-view.is-full-register .dr-filters { grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:760px) { .dr-register-view.is-full-register .dr-filters { grid-template-columns:1fr; }.dr-register-view.is-full-register .dr-register-table-head { display:grid; }.dr-register-view.is-full-register .dr-register-row { grid-template-columns:64px minmax(210px,1.25fr) minmax(125px,.7fr) minmax(105px,.58fr) minmax(310px,1.65fr) minmax(175px,.92fr) 86px; }.dr-register-view.is-full-register .dr-register-sid,.dr-register-view.is-full-register .dr-register-programme,.dr-register-view.is-full-register .dr-register-customer,.dr-register-view.is-full-register .dr-register-project,.dr-register-view.is-full-register .dr-register-requirements,.dr-register-view.is-full-register .dr-register-position,.dr-register-view.is-full-register .dr-register-row > button { grid-column:auto; grid-row:auto; } }
