@font-face{
  font-family:Inter;
  src:url('/fonts/inter-latin-400-700.woff2') format('woff2');
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
}

/* Governed data intake: one side-sheet workflow, with flat evidence bands and a comparison table. */
.data-intake-panel{width:min(780px,100vw);max-width:780px;background:var(--cc-canvas,#F4F6F8)}
.data-intake-head{background:#fff}.data-intake-body{padding:0 30px 28px}.data-intake-foot{min-height:70px;background:#fff}
.data-intake-progress{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 -30px 24px;padding:16px 30px 15px;border-bottom:1px solid var(--cc-line);background:#fff;list-style:none}
.data-intake-progress::before{content:"";position:absolute;left:calc(30px + 12.5%);right:calc(30px + 12.5%);top:28px;height:1px;background:var(--cc-line)}
.data-intake-progress li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--cc-ink-3);font-size:10px}
.data-intake-progress li>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--cc-line);border-radius:50%;background:#fff;font-family:var(--mono);font-size:10px;font-weight:700}
.data-intake-progress li>strong{font-size:10px;font-weight:650}.data-intake-progress li.active,.data-intake-progress li.done{color:var(--cc-green)}
.data-intake-progress li.active>span{border-color:var(--cc-green);box-shadow:0 0 0 3px var(--green-soft)}.data-intake-progress li.done>span{border-color:var(--cc-green);background:var(--cc-green);color:#fff}
.data-intake-section-head{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;margin:0 0 16px;padding-top:23px;border-top:1px solid var(--cc-line)}
.data-intake-progress+.data-intake-target .data-intake-section-head{padding-top:0;border-top:0}.data-intake-section-head>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--cc-line);border-radius:5px;background:#fff;color:var(--cc-green);font-family:var(--mono);font-size:10px;font-weight:750}
.data-intake-section-head h3{margin:0;font-size:16px;letter-spacing:0}.data-intake-section-head p{margin:3px 0 0;color:var(--cc-ink-2);font-size:12px;line-height:1.45}
.data-intake-section-head.compact{margin-top:22px}.data-intake-target-select{width:100%;min-height:42px;padding:0 38px 0 12px;border:1px solid var(--cc-line);border-radius:7px;background:#fff;color:var(--cc-ink);font:inherit;font-size:13px;font-weight:620}
.data-intake-target-meta{display:grid;grid-template-columns:1fr 1fr 1fr;margin:14px 0 22px;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.data-intake-target-meta>div{min-width:0;padding:12px 14px;border-right:1px solid var(--cc-line)}.data-intake-target-meta>div:first-child{padding-left:0}.data-intake-target-meta>div:last-child{border-right:0}
.data-intake-target-meta dt,.data-intake-state dt{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink-3)}
.data-intake-target-meta dd,.data-intake-state dd{margin:4px 0 0;color:var(--cc-ink);font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}
.data-intake-source-mode{display:inline-flex;gap:2px;margin:0 0 16px;padding:3px;border:1px solid var(--cc-line);border-radius:7px;background:#E9EDF0}
.data-intake-mode{appearance:none;min-height:34px;padding:0 14px;border:0;border-radius:5px;background:transparent;color:var(--cc-ink-2);font:inherit;font-size:12px;font-weight:650;cursor:pointer}.data-intake-mode:hover{color:var(--cc-ink)}.data-intake-mode.on{background:#fff;color:var(--cc-green);box-shadow:0 1px 2px rgba(14,31,25,.05)}
.data-intake-dropzone{position:relative;display:grid;place-items:center;gap:5px;min-height:126px;padding:18px;border:1px dashed #AAB4BE;border-radius:7px;background:#fff;color:var(--cc-ink);cursor:pointer;text-align:center}.data-intake-dropzone:hover{border-color:var(--cc-teal);background:#F8FAFA}.data-intake-dropzone:focus-within{outline:2px solid var(--cc-teal);outline-offset:2px}.data-intake-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.data-intake-dropzone strong{font-size:13px}.data-intake-file{max-width:520px;color:var(--cc-ink-2);font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
.data-intake-recent{margin-top:22px;border-top:1px solid var(--cc-line)}.data-intake-recent h3{margin:15px 0 5px;font-size:11px}.data-intake-recent>div{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;border-top:1px solid #E8EBEE}.data-intake-recent>div>span{display:flex;min-width:0;flex-direction:column}.data-intake-recent strong{font-size:11.5px}.data-intake-recent small{margin-top:2px;color:var(--cc-ink-3);font-size:10px}.data-intake-resume{border:0;background:transparent;color:var(--cc-green);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.data-intake-error{margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--cc-danger);background:#FCF1F0;color:#8A2A1F;font-size:12px;line-height:1.45}
.data-intake-state{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;margin-top:12px;padding:22px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}.data-intake-state-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--cc-line);border-radius:50%;background:#fff;color:var(--cc-teal);font-family:var(--mono);font-weight:750}.data-intake-state.failed .data-intake-state-mark{color:var(--cc-danger);border-color:#E4B9B3}.data-intake-state.success .data-intake-state-mark{color:#fff;border-color:var(--cc-green);background:var(--cc-green)}
.data-intake-state h3{margin:0;font-size:17px}.data-intake-state p{max-width:62ch;margin:5px 0 0;color:var(--cc-ink-2);font-size:12.5px;line-height:1.5}.data-intake-state dl{display:flex;gap:28px;margin:16px 0 0}.data-intake-proof{font-family:var(--mono);font-size:10.5px!important}.data-intake-review-head{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:end}.data-intake-review-head .data-intake-section-head{border-top:0}.data-intake-date{margin:0 0 16px}
.data-intake-compare-title{margin:10px 0 8px;font-size:12px}.data-intake-compare{border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);background:#fff}.data-intake-proposal{display:grid;grid-template-columns:22px minmax(160px,1.25fr) minmax(120px,.8fr) minmax(120px,.8fr);gap:12px;align-items:center;min-height:78px;padding:12px 14px;border-bottom:1px solid var(--cc-line);cursor:pointer}.data-intake-proposal:last-child{border-bottom:0}.data-intake-proposal:hover{background:#F8FAF9}.data-intake-proposal>input{width:17px;height:17px;accent-color:var(--cc-green)}.data-intake-proposal-main,.data-intake-value{display:flex;min-width:0;flex-direction:column;gap:3px}.data-intake-proposal-main strong{font-size:12px}.data-intake-proposal-main small,.data-intake-value small{color:var(--cc-ink-3);font-size:9.5px}.data-intake-value strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.data-intake-value.proposed{padding-left:12px;border-left:2px solid var(--cc-teal);color:var(--cc-green)}.data-intake-empty{padding:22px;color:var(--cc-ink-2);font-size:12px;text-align:center}
.data-intake-manual{margin-top:20px;padding-top:0}.data-intake-manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.data-intake-manual-grid .field{margin-bottom:11px}.data-intake-manual-grid .wide{grid-column:1/-1}.data-intake-rationale{margin-top:18px}.data-intake-foot-note{color:var(--cc-ink-3);font-size:11px}.data-intake-mobile-actions{display:none}
@media (max-width:760px){
  .data-intake-panel{width:100vw;max-width:none}.data-intake-body{padding:0 18px 22px}.data-intake-head{padding:18px}.data-intake-foot{padding:12px 18px;align-items:stretch;flex-direction:column-reverse}.data-intake-foot .btn{width:100%;min-height:44px;justify-content:center}.data-intake-foot-note{text-align:center}
  .data-intake-progress{margin:0 -18px 20px;padding:14px 18px}.data-intake-progress::before{left:calc(18px + 12.5%);right:calc(18px + 12.5%);top:26px}.data-intake-progress li>strong{font-size:9px}
  .data-intake-target-meta{grid-template-columns:1fr}.data-intake-target-meta>div{padding:10px 0;border-right:0;border-bottom:1px solid var(--cc-line)}.data-intake-target-meta>div:last-child{border-bottom:0}
  .data-intake-source-mode{display:flex}.data-intake-mode{flex:1}.data-intake-review-head{grid-template-columns:1fr}.data-intake-date{margin-top:-6px}.data-intake-proposal{grid-template-columns:22px minmax(0,1fr)}.data-intake-value{grid-column:2}.data-intake-value.proposed{padding:8px 0 0;border-left:0;border-top:2px solid var(--cc-teal)}.data-intake-manual-grid{grid-template-columns:1fr}.data-intake-manual-grid .wide{grid-column:1}.data-intake-state dl{flex-direction:column;gap:10px}.data-intake-mobile-actions{display:flex}
}

/* Systems / Data Architecture — flat lineage explorer, not a dashboard-card stack. */
.sys-data-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:22px 0 18px;border-bottom:1px solid var(--cc-line)}
.sys-data-kicker{margin:0 0 7px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-green)}
.sys-data-title{margin:0;color:var(--cc-ink);font-size:24px;line-height:1.15;font-weight:680;letter-spacing:0}
.sys-data-purpose{max-width:78ch;margin:8px 0 0;color:var(--cc-ink-2);font-size:13.5px;line-height:1.5}
.sys-data-fresh{display:flex;align-items:center;gap:8px;flex:none;font-size:12px;white-space:nowrap}
.sys-data-state{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--cc-line);border-radius:5px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sys-data-state.ok{color:var(--cc-green);border-color:#BFD3C9;background:#EEF5F1}.sys-data-state.warn{color:var(--cc-warn);border-color:#D8C9A6;background:#FAF7EF}
.sys-data-scopebar{display:grid;grid-template-columns:auto minmax(150px,220px) minmax(280px,1fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--cc-line)}
.sys-data-scope-buttons{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--cc-line);border-radius:7px;background:#EEF1F4}
.sys-data-scope{appearance:none;min-height:30px;padding:0 11px;border:0;border-radius:5px;background:transparent;color:var(--cc-ink-2);font:inherit;font-size:11.5px;font-weight:650;cursor:pointer;white-space:nowrap}
.sys-data-scope:hover{color:var(--cc-ink);background:#fff}.sys-data-scope.on{background:#fff;color:var(--cc-green)}.sys-data-scope:focus-visible{outline:2px solid var(--cc-teal);outline-offset:1px}
.sys-data-company{min-width:0;height:36px}.sys-data-savedviews{min-width:0;justify-self:end}
.sys-data-savedviews .sv-bar{width:auto;grid-template-columns:minmax(150px,190px) auto;justify-content:end}
.sys-data-savedviews .sv-meta{grid-column:1/-1;justify-self:end}
.sys-data-trust{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(170px,1.25fr);border-bottom:1px solid var(--cc-line);background:#fff}
.sys-data-trust-item{appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:76px;padding:12px 16px;border:0;border-right:1px solid var(--cc-line);background:#fff;color:var(--cc-ink);cursor:pointer;text-align:left}
.sys-data-trust-item:hover{background:#F4F6F8}.sys-data-trust-item:focus-visible{outline:2px solid var(--cc-teal);outline-offset:-3px}.sys-data-trust-item strong{font-size:21px;line-height:1;font-variant-numeric:tabular-nums}.sys-data-trust-item span{margin-top:7px;font-size:10.5px;font-weight:650;color:var(--cc-ink-2)}
.sys-data-trust-time{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:12px 16px}.sys-data-trust-time span{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink-3)}.sys-data-trust-time strong{margin-top:6px;font-size:12px;color:var(--cc-ink)}
.sys-data-layout{display:grid;grid-template-columns:72px minmax(0,1fr);min-height:620px;border-bottom:1px solid var(--cc-line)}
.sys-data-rail{display:flex;flex-direction:column;align-items:stretch;border-right:1px solid var(--cc-line);padding:14px 8px;gap:4px}
.sys-data-domain{appearance:none;display:grid;grid-template-columns:1fr;justify-items:center;gap:4px;width:100%;min-height:62px;padding:7px 3px;border:0;border-left:2px solid transparent;background:transparent;color:var(--cc-ink-2);cursor:pointer;text-align:center}
.sys-data-domain:hover{background:#F2F5F6;color:var(--cc-ink)}.sys-data-domain:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.sys-data-domain.on{border-left-color:var(--cc-green);background:#EDF3F0;color:var(--cc-green)}
.sys-data-domain-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:5px;font-family:var(--mono);font-size:12px;font-weight:700}
.sys-data-domain-label{max-width:58px;font-size:9px;line-height:1.15;font-weight:650}.sys-data-domain-count{font-family:var(--mono);font-size:9px;color:var(--cc-ink-3)}
.sys-data-work{min-width:0;padding:0 0 26px 24px}
.sys-data-controls{display:flex;align-items:center;gap:18px;min-height:64px;border-bottom:1px solid var(--cc-line)}
.sys-data-search{position:relative;flex:1;min-width:220px;max-width:580px}.sys-data-search .sys-in{width:100%;height:36px}
.sys-data-results{position:absolute;z-index:20;top:42px;left:0;right:0;max-height:330px;overflow-y:auto;background:#fff;border:1px solid var(--cc-line);border-radius:6px}
.sys-data-result{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #E8EBEE;background:#fff;color:var(--cc-ink);cursor:pointer;text-align:left}
.sys-data-result:last-child{border-bottom:0}.sys-data-result:hover,.sys-data-result:focus-visible{background:#F4F6F8}.sys-data-result-name{font-size:13px;font-weight:650}.sys-data-result-empty{padding:13px;color:var(--cc-ink-2);font-size:12.5px}
.sys-data-modes{display:flex;align-items:stretch;align-self:stretch;gap:2px;overflow-x:auto}
.sys-data-mode{appearance:none;flex:none;padding:0 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--cc-ink-2);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.sys-data-mode:hover{color:var(--cc-ink)}.sys-data-mode.on{color:var(--cc-green);border-bottom-color:var(--cc-green)}.sys-data-mode:focus-visible{outline:2px solid var(--cc-green);outline-offset:-3px}
.sys-data-record{padding:20px 0 16px;border-bottom:1px solid var(--cc-line)}
.sys-data-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sys-data-record-title{margin:0;font-size:20px;line-height:1.2;color:var(--cc-ink)}
.sys-data-record-sub{margin:5px 0 0;font-size:13px;color:var(--cc-ink-2)}
.sys-data-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 0;padding:13px 0 0;border-top:1px solid #E8EBEE}
.sys-data-meta>div{padding:0 15px;border-right:1px solid #E8EBEE}.sys-data-meta>div:first-child{padding-left:0}.sys-data-meta>div:last-child{border-right:0}
.sys-data-meta dt{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink-3)}
.sys-data-meta dd{margin:5px 0 0;font-size:12.5px;color:var(--cc-ink);font-variant-numeric:tabular-nums}.sys-data-meta dd.ok{color:var(--cc-green)}.sys-data-meta dd.warn{color:var(--cc-warn)}
.sys-data-update{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:12px 0;border-top:1px solid #E8EBEE}.sys-data-update p{margin:3px 0 0;font-size:12px}
.sys-data-update-steps{color:var(--cc-ink);font-weight:650}.sys-data-source-error{display:flex;align-items:baseline;gap:10px;margin:0 0 16px}.sys-data-source-error span{font-size:12px}
.sys-data-update-guidance{min-width:220px;flex:1}.sys-data-update-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1fr);gap:8px;flex:1;max-width:840px}.sys-data-update-form .sys-data-review-actions{grid-column:1/-1}.sys-data-source-notice{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 16px;padding:10px 12px;border:1px solid #D8C9A6;border-left:3px solid var(--cc-warn);background:#FAF7EF;color:var(--cc-ink);font-size:12px}.sys-data-source-notice .sys-mut{grid-column:2}
.sys-data-panel{min-width:0;padding-top:18px}.sys-data-empty{display:flex;flex-direction:column;gap:4px;padding:18px 0;color:var(--cc-ink);font-size:13px}
.sys-data-factbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:16px}
.sys-data-factbar label{display:flex;flex-direction:column;gap:6px;min-width:min(480px,58%);font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink-3)}
.sys-data-fact{width:100%;height:36px;border:1px solid var(--cc-line);border-radius:6px;background:#fff;color:var(--cc-ink);font:inherit;font-size:12.5px;padding:0 32px 0 10px}
.sys-data-fact-value{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.sys-data-fact-value span{font-size:11.5px;color:var(--cc-ink-2)}.sys-data-fact-value strong{font-size:18px;color:var(--cc-ink);font-variant-numeric:tabular-nums}
.sys-data-lineage{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.sys-data-stage{position:relative;min-width:150px;min-height:148px;padding:16px 23px 16px 13px;border-right:1px solid var(--cc-line);background:#fff}.sys-data-stage:last-child{border-right:0}
.sys-data-stage:nth-child(1){background:#F1F5F7}.sys-data-stage:nth-child(3){background:#EDF4F0}.sys-data-stage:nth-child(5){background:#F2F0F7}
.sys-data-stage-no{font-family:var(--mono);font-size:10px;color:var(--cc-ink-3)}.sys-data-stage-label{margin-top:15px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--cc-ink-2)}
.sys-data-stage-title{margin-top:6px;font-size:13px;font-weight:680;line-height:1.25;color:var(--cc-ink)}.sys-data-stage-detail{margin-top:6px;font-size:11.5px;line-height:1.35;color:var(--cc-ink-2);overflow-wrap:anywhere}
.sys-data-stage-arrow{position:absolute;right:-8px;top:67px;z-index:2;display:grid;place-items:center;width:16px;height:16px;background:#fff;color:var(--cc-ink-3);font-size:12px}
.sys-data-evidence-head,.sys-data-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:22px 0 8px}.sys-data-evidence-head h3,.sys-data-section-head h3{margin:0;font-size:14px;color:var(--cc-ink)}
.sys-data-section-head p{margin:0;font-size:12px;text-align:right}.sys-data-table{min-width:920px}.sys-data-table th{cursor:default}.sys-data-table td{vertical-align:top;line-height:1.4}
.sys-data-row-action{appearance:none;padding:0;border:0;background:transparent;color:var(--cc-green);font:inherit;font-weight:650;text-align:left;cursor:pointer}.sys-data-row-action:hover{text-decoration:underline}.sys-data-row-action:focus-visible{outline:2px solid var(--cc-green);outline-offset:2px;border-radius:2px}
.sys-data-table tr.is-conflict{background:#FCF7EB}.sys-data-status{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:10.5px;font-weight:650;white-space:nowrap}.sys-data-status.ok{color:var(--cc-green);background:#EDF4F0}.sys-data-status.warn{color:var(--cc-warn);background:#FAF1DC}.sys-data-status.mut{color:var(--cc-ink-2);background:#EEF1F4}

.sys-data-impact{margin-top:20px;padding:16px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.sys-data-impact-list{display:flex;flex-wrap:wrap;gap:7px}.sys-data-impact-item{appearance:none;min-height:34px;padding:0 11px;border:1px solid #C7D5D0;border-radius:5px;background:#F3F7F5;color:var(--cc-green);font:inherit;font-size:11.5px;font-weight:650;cursor:pointer}.sys-data-impact-item:hover{border-color:var(--cc-green);background:#EAF1EE}.sys-data-impact-item:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px}
.sys-data-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);background:#fff}
.sys-data-map-lane{min-width:0;padding:0 14px 16px;border-right:1px solid var(--cc-line)}.sys-data-map-lane:last-child{border-right:0}.sys-data-map-lane.lane-canonical{background:#F6F8F7}
.sys-data-map-lane-head{display:flex;align-items:center;gap:9px;min-height:46px;margin-bottom:4px;border-bottom:1px solid var(--cc-line);font-size:11.5px;font-weight:700;color:var(--cc-ink)}
.sys-data-map-lane-no{font-family:var(--mono);font-size:9.5px;color:var(--cc-ink-3)}
.sys-data-map-node{appearance:none;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:6px;padding:7px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--cc-ink);font:inherit;cursor:pointer;text-align:left}
.sys-data-map-node:hover{border-color:var(--cc-line);background:#fff}.sys-data-map-node.on{border-color:#9BB7AC;background:#EDF4F0}.sys-data-map-node:focus-visible{outline:2px solid var(--cc-teal);outline-offset:1px}
.sys-data-map-node-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid #BFC7CE;border-radius:5px;color:var(--cc-ink-2);font-family:var(--mono);font-size:10px;font-weight:700}.sys-data-map-node>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}
.sys-data-node-state{font-family:var(--mono);font-size:9px;color:var(--cc-ink-3);white-space:nowrap}.sys-data-node-state.warn{color:var(--cc-warn)}
.sys-data-map-inspector{margin-top:14px;padding:15px 16px;border:1px solid var(--cc-line);border-left:3px solid var(--cc-teal);border-radius:0 6px 6px 0;background:#fff}
.sys-data-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sys-data-inspector-head h3{margin:2px 0 0;font-size:16px}.sys-data-inspector-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:13px;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.sys-data-inspector-stats>div{padding:10px 12px;border-right:1px solid var(--cc-line)}.sys-data-inspector-stats>div:first-child{padding-left:0}.sys-data-inspector-stats>div:last-child{border-right:0}.sys-data-inspector-stats dt{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cc-ink-3)}.sys-data-inspector-stats dd{margin:3px 0 0;font-size:12px;color:var(--cc-ink)}
.sys-data-inspector-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px;font-size:11.5px}.sys-data-inspector-links strong{margin-right:3px}.sys-data-inspector-links button{appearance:none;padding:5px 8px;border:1px solid var(--cc-line);border-radius:5px;background:#fff;color:var(--cc-green);font:inherit;font-size:11px;font-weight:650;cursor:pointer}
.sys-data-table-tools{display:flex;align-items:center;gap:10px;margin:0 0 10px}.sys-data-table-tools .sys-in{flex:1;min-width:220px}.sys-data-table-tools .sys-sel{width:auto;min-width:180px}
.sys-data-contracts{border-top:1px solid var(--cc-line)}.sys-data-contract{padding:17px 0;border-bottom:1px solid var(--cc-line);cursor:pointer}.sys-data-contract:hover{background:#F6F8F7}.sys-data-contract:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px}.sys-data-contract>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0 12px}.sys-data-contract h3{margin:2px 0 0;font-size:15px}
.sys-data-contract-body{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:13px;padding:0 12px}.sys-data-contract-body section+section{border-left:1px solid var(--cc-line);padding-left:28px}.sys-data-contract-body h4{margin:0 0 8px;font-size:11px;color:var(--cc-ink)}.sys-data-contract-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}.sys-data-contract-body dt{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-ink-3)}.sys-data-contract-body dd{margin:2px 0 0;font-size:11.5px;color:var(--cc-ink)}
.sys-data-review-list{border-top:1px solid var(--cc-line)}.sys-data-review-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--cc-line)}.sys-data-review-row:hover{background:#F8F9FA}.sys-data-review-state{display:grid;place-items:center;width:24px;height:24px;border:1px solid #D8C9A6;border-radius:50%;background:#FAF7EF;color:var(--cc-warn);font-weight:750}.sys-data-review-copy h3{margin:2px 0 3px;font-size:13.5px}.sys-data-review-copy p{margin:0;color:var(--cc-ink-2);font-size:11.5px;line-height:1.4}.sys-data-review-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.sys-data-review-composer:not(:empty){margin-top:14px}.sys-data-review-form{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,1fr) minmax(160px,1fr);gap:12px;padding:16px;border:1px solid var(--cc-line);border-left:3px solid var(--cc-teal);background:#fff}.sys-data-review-form>div:first-child{grid-column:1/-1}.sys-data-review-form h3{margin:2px 0 3px;font-size:15px}.sys-data-review-form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:650;color:var(--cc-ink-2)}.sys-data-review-form .sys-data-review-actions{grid-column:1/-1}
.sys-data-review-activity{border-top:1px solid var(--cc-line)}.sys-data-review-history{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 8px;border-bottom:1px solid var(--cc-line)}.sys-data-review-history>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.sys-data-review-history strong{font-size:12.5px;overflow-wrap:anywhere}.sys-data-change-filter{display:flex;gap:7px;margin-bottom:10px}

@media (max-width:1050px){.sys-data-scopebar{grid-template-columns:1fr auto}.sys-data-scope-buttons{grid-column:1/-1;justify-self:start}.sys-data-savedviews{justify-self:end}.sys-data-trust{grid-template-columns:repeat(4,minmax(100px,1fr))}.sys-data-trust-time{grid-column:1/-1;min-height:54px;border-top:1px solid var(--cc-line)}.sys-data-controls{align-items:stretch;flex-direction:column;gap:0;padding-top:12px}.sys-data-search{width:100%;max-width:none}.sys-data-modes{min-height:44px;width:100%}.sys-data-meta{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.sys-data-meta>div:nth-child(2){border-right:0}.sys-data-meta>div:nth-child(3){padding-left:0}.sys-data-map{overflow-x:auto}.sys-data-map-lane{min-width:250px}}
@media (max-width:760px){.sys-data-intro{align-items:flex-start;flex-direction:column;gap:12px}.sys-data-fresh{white-space:normal}.sys-data-scopebar{grid-template-columns:1fr;align-items:stretch}.sys-data-scope-buttons{grid-column:auto;overflow-x:auto}.sys-data-scope{flex:none}.sys-data-company{width:100%}.sys-data-savedviews{justify-self:stretch}.sys-data-savedviews .sv-bar{width:100%;grid-template-columns:minmax(0,1fr);justify-content:stretch}.sys-data-savedviews .sv-meta{grid-column:1;justify-self:start}.sys-data-trust{grid-template-columns:1fr 1fr}.sys-data-trust-item{min-height:66px;border-bottom:1px solid var(--cc-line)}.sys-data-trust-time{grid-column:1/-1}.sys-data-layout{grid-template-columns:1fr}.sys-data-rail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--cc-line);padding:8px 0}.sys-data-domain{flex:0 0 82px;min-height:58px;border-left:0;border-bottom:2px solid transparent}.sys-data-domain.on{border-left:0;border-bottom-color:var(--cc-green)}.sys-data-domain-label{max-width:76px}.sys-data-work{padding-left:0}.sys-data-record-top,.sys-data-factbar,.sys-data-update{align-items:stretch;flex-direction:column}.sys-data-update-form{grid-template-columns:1fr;max-width:none}.sys-data-update-form>*{grid-column:1!important}.sys-data-source-notice{grid-template-columns:1fr}.sys-data-source-notice .sys-mut{grid-column:1}.sys-data-factbar label{min-width:0}.sys-data-fact-value{align-items:flex-start;text-align:left}.sys-data-meta{grid-template-columns:1fr 1fr}.sys-data-meta>div{padding-left:0}.sys-data-stage{min-width:175px}.sys-data-evidence-head,.sys-data-section-head{align-items:flex-start;flex-direction:column;gap:4px}.sys-data-section-head p{text-align:left}.sys-data-map{grid-template-columns:1fr;overflow:visible}.sys-data-map-lane{min-width:0;border-right:0;border-bottom:1px solid var(--cc-line)}.sys-data-map-lane:last-child{border-bottom:0}.sys-data-inspector-head{flex-direction:column}.sys-data-inspector-stats{grid-template-columns:1fr}.sys-data-inspector-stats>div{padding-left:0;border-right:0;border-bottom:1px solid var(--cc-line)}.sys-data-inspector-stats>div:last-child{border-bottom:0}.sys-data-table-tools{align-items:stretch;flex-direction:column}.sys-data-table-tools .sys-in,.sys-data-table-tools .sys-sel{width:100%;min-width:0}.sys-data-contract-body{grid-template-columns:1fr;gap:16px}.sys-data-contract-body section+section{border-left:0;border-top:1px solid var(--cc-line);padding:16px 0 0}.sys-data-review-row{grid-template-columns:28px minmax(0,1fr)}.sys-data-review-actions{grid-column:1/-1;justify-content:flex-start}.sys-data-review-form{grid-template-columns:1fr}.sys-data-review-form>*{grid-column:1!important}.sys-data-review-history{align-items:flex-start;flex-direction:column}.sys-data-change-filter{overflow-x:auto}}

/* Data Architecture operator workbench: task-first hierarchy over the preserved evidence model. */
.sys-data-intro{align-items:center;padding:14px 0 12px}.sys-data-title{font-size:22px}.sys-data-purpose{margin-top:4px;font-size:12.5px}.sys-data-kicker{margin-bottom:4px;font-size:9.5px}
.sys-data-scopebar{grid-template-columns:minmax(0,max-content) minmax(150px,220px) minmax(460px,1fr);grid-template-areas:"scope company views";padding:9px 0}.sys-data-scope-buttons{grid-area:scope;min-width:0}.sys-data-company{grid-area:company}.sys-data-savedviews{grid-area:views;min-width:460px}.sys-data-savedviews .sv-bar{grid-template-columns:minmax(148px,185px) auto minmax(0,1fr)}
.sys-data-trust{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(160px,.95fr)}.sys-data-trust-item{min-height:58px;padding:9px 13px}.sys-data-trust-item strong{font-size:15px;line-height:1.2}.sys-data-trust-item span{margin-top:3px;font-size:9.5px}.sys-data-trust-time{min-height:58px;padding:9px 13px}
.sys-data-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:660px}.sys-data-rail{align-items:stretch;padding:14px 14px 20px;gap:4px;background:#F7F8F9}.sys-data-domain-search{width:100%;height:34px;margin-bottom:8px;font-size:11.5px}
.sys-data-domain{grid-template-columns:28px minmax(0,1fr) auto;justify-items:stretch;align-items:center;gap:9px;min-height:48px;padding:7px 8px;border-left:0;border-radius:6px;text-align:left}.sys-data-domain.on{border-left:0;background:#E8F0EC}.sys-data-domain-icon{width:26px;height:26px}.sys-data-domain-copy{display:flex;min-width:0;flex-direction:column;gap:1px}.sys-data-domain-label{max-width:none;font-size:11.5px;line-height:1.25}.sys-data-domain-count{font-size:9.5px}.sys-data-domain-issues,.sys-data-domain-clear{font-family:var(--mono);font-size:9px;font-weight:700;white-space:nowrap}.sys-data-domain-issues{color:var(--cc-warn)}.sys-data-domain-clear{color:var(--cc-ink-3)}
.sys-data-work{padding-left:20px}.sys-data-controls{min-height:54px;gap:14px}.sys-data-search{max-width:500px}.sys-data-modes{margin-left:auto}.sys-data-mode{padding:0 13px;font-size:11.5px}.sys-data-record{padding:13px 0 12px}.sys-data-context:not([hidden]){position:sticky;top:0;z-index:8;background:var(--cc-canvas)}.sys-data-record-title{font-size:16px}.sys-data-record-sub{font-size:11.5px}.sys-data-record-top{align-items:center}.sys-data-context-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.sys-data-meta{margin-top:10px;padding-top:9px}.sys-data-panel{padding-top:14px}
.sys-data-secondary-nav{display:flex;align-items:center;gap:3px;margin:0 0 14px;padding:3px;border:1px solid var(--cc-line);border-radius:7px;background:#EEF1F4;width:max-content;max-width:100%;overflow-x:auto}.sys-data-secondary{appearance:none;min-height:30px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--cc-ink-2);font:inherit;font-size:11px;font-weight:650;white-space:nowrap;cursor:pointer}.sys-data-secondary:hover{background:#fff;color:var(--cc-ink)}.sys-data-secondary.on{background:#fff;color:var(--cc-green)}.sys-data-secondary:focus-visible{outline:2px solid var(--cc-teal);outline-offset:1px}
.sys-data-overview-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.sys-data-overview-head h3{margin:0;font-size:16px}.sys-data-overview-head p{margin:3px 0 0;font-size:11.5px}.sys-data-health-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cc-line);background:#fff}.sys-data-health-block{appearance:none;display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:center;min-height:78px;padding:13px 16px;border:0;border-right:1px solid var(--cc-line);background:#fff;color:var(--cc-ink);font:inherit;text-align:left;cursor:pointer}.sys-data-health-block:last-child{border-right:0}.sys-data-health-block:hover{background:#F7F9F8}.sys-data-health-block:focus-visible{outline:2px solid var(--cc-teal);outline-offset:-3px}.sys-data-health-label{grid-column:1/-1;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink-3)}.sys-data-health-block strong{font-size:17px}.sys-data-health-block strong.ok{color:var(--cc-green)}.sys-data-health-block strong.warn{color:var(--cc-warn)}.sys-data-health-block small{font-size:10.5px;color:var(--cc-ink-2)}
.sys-data-overview-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:18px}.sys-data-overview-section{min-width:0;border-top:1px solid var(--cc-line)}.sys-data-overview-section .sys-data-section-head{margin:0;min-height:46px}.sys-data-text-action{appearance:none;border:0;background:transparent;color:var(--cc-green);font:inherit;font-size:11px;font-weight:650;cursor:pointer}.sys-data-text-action:hover{text-decoration:underline}.sys-data-decision-row{appearance:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:9px 4px;border:0;border-top:1px solid #E8EBEE;background:transparent;color:var(--cc-ink);font:inherit;text-align:left;cursor:pointer}.sys-data-decision-row:hover{background:#F7F9F8}.sys-data-decision-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.sys-data-decision-row strong{font-size:12px}.sys-data-decision-row small{margin-top:2px;color:var(--cc-ink-2);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-data-change-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:10px;min-height:56px;padding:9px 4px;border-top:1px solid #E8EBEE}.sys-data-change-row time{font-size:10px;color:var(--cc-ink-3)}.sys-data-change-row>div{display:flex;min-width:0;flex-direction:column}.sys-data-change-row strong{font-size:12px}.sys-data-change-row small{color:var(--cc-ink-2);font-size:10.5px}
.sys-data-register-table{min-width:1040px}.sys-data-register-row{cursor:pointer}.sys-data-register-row:hover,.sys-data-register-row:focus{background:#F2F6F4;outline:none}.sys-data-register-row:focus-visible{outline:2px solid var(--cc-teal);outline-offset:-2px}.sys-data-register-row td:first-child strong{color:var(--cc-green)}
.sys-data-review-workbench{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}.sys-data-review-queue{min-width:0;border-right:1px solid var(--cc-line)}.sys-data-review-evidence{min-width:0;padding:16px 18px;background:#fff}.sys-data-review-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:8px 9px;cursor:default}.sys-data-review-select{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;width:100%;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.sys-data-review-select:hover{background:#F8F9FA}.sys-data-review-select:focus-visible{outline:2px solid var(--cc-teal);outline-offset:1px}.sys-data-review-row .sys-data-review-actions{grid-column:auto;justify-content:flex-start;margin:0;padding-left:42px}.sys-data-review-evidence-head h3{margin:2px 0 4px;font-size:16px}.sys-data-review-evidence-head p{margin:0;color:var(--cc-ink-2);font-size:11.5px}.sys-data-review-evidence-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:14px 0;padding:12px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}.sys-data-review-evidence-meta dt{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cc-ink-3)}.sys-data-review-evidence-meta dd{margin:3px 0 0;font-size:11.5px}.sys-data-review-compare h4,.sys-data-review-impact h4{margin:0 0 7px;font-size:11px}.sys-data-review-compare>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:2px 10px;padding:8px 0;border-top:1px solid #E8EBEE}.sys-data-review-compare>div span{font-size:11.5px}.sys-data-review-compare>div small{grid-column:2;color:var(--cc-ink-2);font-size:10px}.sys-data-review-compare>div.is-conflict{color:var(--cc-warn)}.sys-data-review-impact{margin-top:14px;padding-top:12px;border-top:1px solid var(--cc-line)}.sys-data-review-impact p{font-size:11.5px;color:var(--cc-ink-2)}.sys-data-review-evidence .sys-data-review-form{grid-template-columns:1fr;margin-top:14px;padding:12px}.sys-data-review-evidence .sys-data-review-form>*{grid-column:1}

@media (max-width:1050px){.sys-data-layout{grid-template-columns:188px minmax(0,1fr)}.sys-data-overview-columns{grid-template-columns:1fr}.sys-data-review-workbench{grid-template-columns:1fr}.sys-data-review-queue{border-right:0;border-bottom:1px solid var(--cc-line)}.sys-data-context-actions{justify-content:flex-start}}
@media (max-width:760px){.sys-data-title{font-size:20px}.sys-data-layout{grid-template-columns:1fr}.sys-data-rail{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding:10px 0;border-right:0;border-bottom:1px solid var(--cc-line);background:transparent}.sys-data-domain-search{grid-column:1/-1}.sys-data-domain{min-height:46px}.sys-data-work{padding-left:0}.sys-data-controls{padding-top:9px}.sys-data-modes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-self:auto;margin-left:0;overflow:visible}.sys-data-mode{min-height:44px;padding:0 2px;font-size:10.5px;line-height:1.15;white-space:normal}.sys-data-context:not([hidden]){position:static}.sys-data-context-actions{justify-content:flex-start}.sys-data-health-grid{grid-template-columns:1fr}.sys-data-health-block{border-right:0;border-bottom:1px solid var(--cc-line)}.sys-data-health-block:last-child{border-bottom:0}.sys-data-overview-head{align-items:flex-start;flex-direction:column}.sys-data-overview-columns{gap:16px}.sys-data-change-row{grid-template-columns:1fr;gap:3px}.sys-data-review-evidence-meta{grid-template-columns:1fr}.sys-data-trust{grid-template-columns:1fr 1fr}.sys-data-trust-time{grid-column:1/-1}.sys-data-scopebar{grid-template-columns:1fr}.sys-data-context-actions .btn{flex:1 1 auto}.sys-data-secondary-nav{width:100%}}
@font-face{
  font-family:'Playfair Display';
  src:url('/fonts/playfair-display-latin-normal-400-900.woff2') format('woff2');
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
}
@font-face{
  font-family:'Playfair Display';
  src:url('/fonts/playfair-display-latin-italic-400-700.woff2') format('woff2');
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
}

/* ─── design tokens ─────────────────────────────────────────────── */
:root{
  --cream:#F6F8F7;
  --cream-2:#EEF3F1;
  --paper:#FFFFFF;
  --bg:#E7EEEB;
  --white:#FFFFFF;
  --ink:#0E1F19;
  --ink-2:rgba(14,31,25,0.68);
  --ink-3:#646C76;
  --ink-4:rgba(14,31,25,0.18);
  --line:rgba(14,31,25,0.10);
  --line-2:rgba(14,31,25,0.18);
  --gilt:#9D7C3B;
  --gilt-soft:rgba(157,124,59,0.11);
  --green:#1F7A55;
  --green-soft:rgba(31,122,85,0.11);
  --teal:#2A8080;
  --teal-soft:rgba(42,128,128,0.10);
  --amber:#93651A;
  --amber-soft:rgba(147,101,26,0.10);
  --redline:#A64235;
  --redline-soft:rgba(166,66,53,0.09);
  --shadow-1:0 1px 2px rgba(14,31,25,0.04);
  --shadow-2:0 8px 24px rgba(14,31,25,0.07);
  --shadow-3:0 18px 48px rgba(14,31,25,0.14);
  --radius:8px;
  --radius-lg:12px;
  --font:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --mono:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  /* Cool-neutral enterprise token layer (single source of truth). Prior missions defined these
     per-scope (.cc/.pp/nav-drawer); promoted here so every surface, incl the app canvas, shares them.
     The scoped copies are identical values, so this changes nothing visually while removing drift. */
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872; --cc-ink-3:#646C76;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C; --cc-accent:#9D7C3B; --cc-r:8px;
  /* Previously-phantom tokens now defined once (were only var() fallbacks -> drift). Cool-neutral only:
     --cc-warn-bg is intentionally a COOL wash (#EEF1F4), never the warm cream some fallbacks used, per the
     no-beige/cream house rule. */
  --cc-surface-2:#F4F6F8; --cc-mut:#6B7580; --cc-line-soft:#EEF1F4; --cc-warn-bg:#EEF1F4; --cc-warning:#9A6700;
}

html{
  font-feature-settings:"kern" 1, "liga" 1, "calt" 1, "onum" 1;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--cc-canvas);font-family:var(--font);color:var(--ink);font-size:15px;line-height:1.5}
button{font-family:inherit;font-size:inherit;color:inherit}
a{color:inherit;text-decoration:none}

.hidden{display:none!important}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.eye{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-3)}
.eye-gilt{color:var(--gilt)}

/* ─── boot screen ───────────────────────────────────────────────── */
.boot{position:fixed;inset:0;display:grid;place-items:center;background:var(--cc-canvas);z-index:9999}
.boot-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px;max-width:480px;text-align:center}
.boot-mark{font-family:var(--serif);font-size:52px;font-weight:500;color:var(--ink);font-style:italic;letter-spacing:0.02em}
.boot-msg{color:var(--ink-2);font-size:13px;letter-spacing:0.04em}
.boot-msg-err{color:var(--ink);font-size:15px;font-weight:600;letter-spacing:0}
.boot-sub{color:var(--ink-2);font-size:13px;line-height:1.5;max-width:360px}
.boot-actions{display:flex;gap:10px;margin-top:4px}
.boot-btn{appearance:none;border:1px solid var(--cc-green);background:var(--cc-green);color:#fff;font:inherit;font-size:13px;font-weight:600;padding:8px 18px;border-radius:8px;cursor:pointer}
.boot-btn:hover{filter:brightness(1.05)}
.boot-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.boot-btn-ghost{background:transparent;color:var(--ink);border-color:var(--line,#D9DEE4)}

/* ─── auth screens ──────────────────────────────────────────────── */
.auth{position:fixed;inset:0;display:grid;place-items:center;background:var(--cc-canvas);z-index:9999;padding:24px}
.auth-card{
  width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;padding:44px 36px 28px;
  box-shadow:var(--shadow-2);
}
.auth-logo-mark{font-family:var(--serif);font-style:italic;font-weight:500;font-size:40px;color:var(--ink);text-align:center;margin:0 0 10px}
.auth-eye{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:24px}
.auth-h{font-family:var(--font);font-size:24px;font-weight:600;color:var(--ink);margin:0 0 10px;line-height:1.15;letter-spacing:0;text-align:center}
.auth-deck{font-size:15px;color:var(--ink-2);line-height:1.5;margin:0 0 22px;text-align:center}
.auth-form{display:flex;flex-direction:column;gap:6px}
.auth-label{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.22em;color:var(--ink-3);text-transform:uppercase;margin-top:6px}
.auth-input{
  font:inherit;font-size:15px;color:var(--ink);
  padding:12px 14px;border:1px solid var(--line-2);border-radius:8px;background:#fff;
  outline:none;transition:border-color 120ms, box-shadow 120ms;
}
.auth-input:focus{border-color:var(--gilt);box-shadow:0 0 0 3px var(--gilt-soft)}
.auth-btn{
  margin-top:18px;font:inherit;font-size:14px;font-weight:600;letter-spacing:0.01em;
  padding:13px 18px;border:none;border-radius:8px;
  background:var(--ink);color:#fff;cursor:pointer;transition:opacity 120ms;
}
.auth-btn:hover{opacity:0.92}
.auth-btn:disabled{opacity:0.5;cursor:default}
.auth-msg{min-height:20px;margin-top:10px;font-size:13px;line-height:1.45;text-align:center}
.auth-msg.ok{color:var(--green)}
.auth-msg.err{color:var(--redline)}
.auth-foot{margin:28px 0 0;font-size:12px;color:var(--ink-3);line-height:1.5;border-top:1px solid var(--line);padding-top:14px;text-align:center}
.auth-spinner{
  width:28px;height:28px;margin:20px auto 8px;
  border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;
  animation:spin 0.8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-retry{display:block;margin-top:14px;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-align:center}
.auth-sent-icon{font-family:var(--font);font-size:56px;line-height:1;color:var(--ink-2);text-align:center;margin:6px 0 18px}
.auth-sent-tip{margin-top:14px;color:var(--ink)}
.auth-sent-foot{margin-top:24px}
.auth-retry-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ─── app shell ─────────────────────────────────────────────────── */
.app{min-height:100vh;display:flex;flex-direction:column}

.tb{
  display:flex;align-items:center;gap:18px;
  padding:14px 28px;background:rgba(255,255,255,0.92);border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(12px);
}
.tb-mark{display:flex;align-items:center;gap:14px}
.tb-mark-ink{font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;color:var(--ink);line-height:1}
.tb-mark-text{display:flex;flex-direction:column;line-height:1.15;padding-left:14px;border-left:1px solid var(--line-2)}
.tb-mark-line2{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-3)}
.tb-spacer{flex:1}
.tb-account{position:relative}
.tb-user{font:inherit;font-size:13.5px;color:var(--ink-2);background:transparent;border:0;border-radius:6px;padding:7px 9px;cursor:pointer}
.tb-user:hover,.tb-user[aria-expanded="true"]{background:var(--cream-2);color:var(--ink)}
.tb-user:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.tb-user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1100;width:240px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 36px rgba(21,26,30,.15)}
.tb-user-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13px}
.tb-user-menu a:hover,.tb-user-menu a:focus-visible{background:var(--cream-2);outline:none}
.tb-user-menu small{font-size:11px;color:var(--ink-3)}
.tb-signout{
  font:inherit;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  background:transparent;border:1px solid var(--line-2);color:var(--ink);
  padding:7px 12px;border-radius:6px;cursor:pointer;
}
.tb-signout:hover{background:var(--cream-2)}

.layout{display:flex;flex:1;min-height:0}

/* Hamburger + mobile nav drawer. The button is desktop-hidden; the drawer is body-mounted so it
   escapes the shell stacking context and redeclares the cool-neutral tokens it depends on. */
.tb-burger{display:none;align-items:center;justify-content:center;width:36px;height:36px;font-size:18px;line-height:1;
  color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;flex-shrink:0}
.tb-burger:hover{background:var(--cream-2)} .tb-burger:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.nav-scrim{position:fixed;inset:0;background:rgba(21,26,30,.4);z-index:1200}
.nav-drawer{--cc-surface:#fff;--cc-line:#D9DEE4;--cc-ink:#151A1E;--cc-ink-2:#5E6872;--cc-ink-3:#646C76;--cc-green:#174C3C;
  position:fixed;top:0;left:0;bottom:0;width:264px;max-width:82vw;z-index:1201;background:var(--cc-surface);
  border-right:1px solid var(--cc-line);box-shadow:2px 0 24px rgba(21,26,30,.16);
  display:flex;flex-direction:column;gap:18px;padding:16px 14px;overflow-y:auto}
.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 12px;border-bottom:1px solid var(--cc-line)}
.nav-drawer-title{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--cc-ink-3)}
.nav-drawer-close{width:30px;height:30px;font-size:20px;line-height:1;color:var(--cc-ink-2);background:transparent;border:0;border-radius:6px;cursor:pointer}
.nav-drawer-close:hover{background:#F1F4F6;color:var(--cc-ink)}
.nav-drawer .sb-item.act{color:var(--cc-ink);background:var(--teal-soft);font-weight:600;box-shadow:inset 2px 0 0 var(--teal)}

.sb{
  width:220px;flex-shrink:0;background:#fff;
  border-right:1px solid var(--line);padding:22px 14px;
  display:flex;flex-direction:column;gap:22px;
}
.sb-section{display:flex;flex-direction:column;gap:2px}
.sb-section-h{
  font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:0.26em;
  /* Sidebar group labels keep their exact original color per the standing preserve-the-sidebar
     directive; the global --ink-3 token was darkened to meet WCAG AA for the rest of the app. */
  color:rgba(14,31,25,0.46);text-transform:uppercase;
  padding:0 10px 6px;border-bottom:1px solid var(--line);margin-bottom:6px;
}
.sb-item{
  display:block;padding:8px 10px;font-size:14.5px;color:var(--ink-2);
  border-radius:6px;cursor:pointer;transition:background 120ms, color 120ms;
}
.sb-item:hover{color:var(--ink);background:var(--cream-2)}
.sb-item.act{color:var(--ink);background:var(--teal-soft);font-weight:600;box-shadow:inset 2px 0 0 var(--teal)}

.main{flex:1;min-width:0;padding:30px 38px 64px;overflow-y:auto;background:var(--cc-canvas)}
.view{display:none}
.view.visible{display:block}

/* ─── view scaffold ─────────────────────────────────────────────── */
.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.view-head-l{display:flex;flex-direction:column;gap:6px}
.view-eye{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.24em;color:var(--ink-3);text-transform:uppercase}
a.view-eye{display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:color .12s}
a.view-eye:hover,a.view-eye:focus-visible{color:var(--ink)}
.view-h{font-family:var(--font);font-size:30px;font-weight:650;color:var(--ink);line-height:1.1;letter-spacing:0}
.view-deck{font-size:14.5px;color:var(--ink-2);line-height:1.5;max-width:68ch;margin-top:4px}
.view-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

/* ─── cards ─────────────────────────────────────────────────────── */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow-1)}
.card-h{font-family:var(--font);font-size:17px;font-weight:650;color:var(--ink);margin:0 0 12px}
.card-deck{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 14px}
.card-empty{color:var(--ink-3);font-size:13px;padding:24px 0;text-align:center}
.card-loading{color:var(--ink-3);font-size:13px;padding:24px 0;text-align:center}
.card-error{color:var(--redline);background:var(--redline-soft);border:1px solid rgba(162,59,43,0.18);border-radius:6px;padding:10px 14px;font-size:13px;margin:6px 0}

/* ─── measured security status ─────────────────────────────────── */
/* The .security-* component system is sound; the Phase 8 retoken just shifts its palette from the
   warm base tokens to the cool-neutral values by redefining them within the .sec scope. */
.sec{
  --ink:#151A1E; --ink-2:#5E6872; --ink-3:#646C76; --ink-4:#B9C1CA;
  --line:#D9DEE4; --line-2:#E3E7EC;
  --green:#174C3C; --green-soft:#E7F0EC;
  --amber:#9A6700; --amber-soft:#EEF1F4;
  --teal:#2D6F73; --teal-soft:#E7EFEF;
  --cream:#F4F6F8; --cream-2:#F1F4F6;
}
.sec .security-summary,.sec .security-row,.sec .security-vendor{background:var(--cc-surface,#fff)}
.security-head{margin-bottom:18px}
.security-loading{padding:38px 0;border-top:1px solid var(--line);color:var(--ink-3);font-size:13px}
.security-summary{
  display:grid;grid-template-columns:repeat(4,minmax(108px,142px)) minmax(220px,1fr);
  align-items:stretch;border:1px solid var(--line-2);border-radius:8px;background:#fff;
  margin-bottom:28px;overflow:hidden;box-shadow:var(--shadow-1);
}
.security-summary-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-right:1px solid var(--line)}
.security-summary-item span{font-size:12.5px;color:var(--ink-2)}
.security-summary-item strong{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}
.security-summary-time{align-self:center;justify-self:end;padding:14px 18px;color:var(--ink-3);font-size:12px;text-align:right}
.security-group{margin-bottom:30px;border-top:1px solid var(--line-2)}
.security-group-head{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:14px 0 12px}
.security-group-head span{font-family:var(--mono);font-size:10px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.security-group-head p{font-size:12.5px;color:var(--ink-3)}
.security-row{
  display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;
  padding:20px 0;border-top:1px solid var(--line);min-height:118px;
}
.security-row-copy{min-width:0}
.security-row-title{font-size:16px;line-height:1.25;font-weight:650;color:var(--ink);margin:0 0 5px}
.security-row-description{max-width:76ch;font-size:13.5px;line-height:1.52;color:var(--ink-2)}
.security-row-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding-left:18px;border-left:1px solid var(--line)}
.security-status{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:650;color:var(--ink)}
.security-status-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 3px rgba(14,31,25,.05)}
.security-status-healthy .security-status-dot{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.security-status-attention .security-status-dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}
.security-status-pending .security-status-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.security-row-state-note{font-size:11.5px;line-height:1.4;color:var(--ink-3)}
.security-evidence{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}
.security-evidence-item{display:flex;align-items:baseline;gap:7px;min-width:0}
.security-evidence-label{font-family:var(--mono);font-size:9px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.security-evidence-value{font-size:11.5px;font-weight:550;color:var(--ink-2);overflow-wrap:anywhere}
.security-vendors{border-top:1px solid var(--line);margin-top:-1px}
.security-vendor{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);gap:28px;padding:14px 0;border-bottom:1px solid var(--line)}
.security-vendor-main,.security-vendor-meta{display:flex;align-items:center;gap:12px;min-width:0}
.security-vendor-main strong{font-size:13px;color:var(--ink)}
.security-vendor-target{font-family:var(--mono);font-size:10px;color:var(--ink-3);overflow-wrap:anywhere}
.security-vendor-meta{justify-content:flex-end;font-size:11.5px;color:var(--ink-3)}
.security-vendor-meta>a{color:var(--cc-teal);font-weight:650;text-decoration:none;white-space:nowrap}
.security-vendor-meta>a:hover{text-decoration:underline}
.security-vendor-empty{padding:16px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}

/* ─── analytics panel ───────────────────────────────────────────── */
/* Enterprise analysis workspace header (no dark-green hero): a plain page header on the cool canvas
   with the reporting window as a light segmented control on the right. */
.analytics-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:none;color:var(--cc-ink);border:0;border-radius:0;padding:0;margin-bottom:18px;box-shadow:none;
}
.analytics-hero .view-eye{color:var(--cc-ink-3)}
.analytics-hero h2{font-family:var(--font);font-size:26px;line-height:1.1;font-weight:650;letter-spacing:0;margin:2px 0 6px;color:var(--cc-ink)}
.analytics-hero p{font-size:14px;line-height:1.5;color:var(--cc-ink-2);max-width:70ch;margin:0}
.analytics-hero-side{
  background:var(--cc-surface);border:1px solid var(--cc-line);
  border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;
}
.analytics-side-label{
  font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--cc-ink-3);
}
.analytics-hero-side strong{font-size:15px;color:var(--cc-ink)}
.analytics-hero-side span{font-size:12.5px;line-height:1.5;color:var(--cc-ink-2)}
.analytics-range{
  display:inline-flex;gap:2px;background:var(--cc-canvas);border:1px solid var(--cc-line);border-radius:8px;padding:2px;
}
.analytics-range-btn{
  font:inherit;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.10em;
  border:0;border-radius:6px;padding:6px 12px;color:var(--cc-ink-2);background:transparent;cursor:pointer;
  transition:background 140ms, color 140ms;
}
.analytics-range-btn:hover{color:var(--cc-ink)}
.analytics-range-btn.act{
  color:#fff;background:var(--cc-green);
}
.analytics-range.is-disabled{opacity:.5}
.analytics-range.is-disabled .analytics-range-btn{cursor:not-allowed}
.an-sortable{cursor:pointer;user-select:none;white-space:nowrap}
.an-sortable:hover{color:var(--cc-ink)}
.an-sortable.sorted{color:var(--cc-ink)}
.an-caret{font-size:10px;color:var(--cc-ink-2)}
.an-row-click{cursor:pointer}
.an-row-click:hover td{background:var(--cc-canvas)}
.an-row-click:focus-visible{outline:2px solid var(--cc-green);outline-offset:-2px}
.analytics-card{overflow:hidden}
.analytics-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}
.analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--cc-line);border-radius:8px;overflow:hidden;background:var(--cc-surface)}
.analytics-kpi{min-height:118px;padding:16px 14px;border-right:1px solid var(--cc-line);display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:var(--cc-surface)}
.analytics-kpi:last-child{border-right:none}
.analytics-kpi span{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--cc-ink-3)}
.analytics-kpi strong{font-size:25px;line-height:1;font-weight:650;color:var(--cc-ink);letter-spacing:0;font-variant-numeric:tabular-nums}
.analytics-kpi em{font-style:normal;font-size:12px;line-height:1.35;color:var(--cc-ink-2)}
.analytics-signals{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:-4px 0 18px;
}
.analytics-signal{
  min-width:0;
  padding:15px 16px;
  border:1px solid var(--cc-line);
  border-radius:8px;
  background:var(--cc-surface);
}
.analytics-signal span{
  display:block;
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--cc-ink-3);
  margin-bottom:8px;
}
.analytics-signal strong{
  display:block;
  color:var(--cc-ink);
  font-size:16px;
  line-height:1.25;
  font-weight:650;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-signal em{
  display:block;
  margin-top:5px;
  color:var(--cc-ink-3);
  font-style:normal;
  font-size:12.5px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-table strong{font-weight:650;color:var(--ink)}
.analytics-table td:last-child{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-site-link{font-weight:650;color:var(--cc-teal);text-decoration:underline;text-decoration-color:rgba(23,76,60,.28);text-underline-offset:3px}
.analytics-person-link{color:var(--cc-ink);text-decoration:none}
.analytics-person-link:hover{color:var(--cc-green)}
.an-row-click:hover .analytics-person-link{color:var(--cc-green)}
.analytics-site-link:hover,.analytics-site-link:focus-visible{text-decoration-color:currentColor}
.table-sub{font-size:12px;line-height:1.35;color:var(--ink-3);margin-top:2px;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-handoff{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--teal,#2D6F73);text-decoration:none}
.analytics-handoff::after{content:" \2192"}
.analytics-handoff:hover{text-decoration:underline}
.history-list{margin-top:18px;border-top:1px solid var(--line)}
.history-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.history-order{font:700 11px/1 var(--mono);color:var(--ink-3);letter-spacing:0}
.history-linker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:16px}
.depth-bar{display:block;width:100%;height:7px;border-radius:99px;background:var(--cc-canvas);overflow:hidden;min-width:90px}
.depth-bar span{display:block;height:100%;border-radius:inherit;background:var(--cc-green)}
.review-link-card{
  background:
    linear-gradient(90deg, rgba(42,128,128,0.06), transparent 38%),
    var(--paper);
}
.review-link-builder{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,0.78);
  margin:8px 0 16px;
}
.review-link-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.review-link-toggles{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2px 10px;
  min-height:38px;
  grid-column:1 / 4;
}
.review-link-options{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.review-link-option{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:9px;
  align-items:start;
  padding:12px 14px 12px 0;
  cursor:pointer;
}
.review-link-option + .review-link-option{padding-left:14px;border-left:1px solid var(--line)}
.review-link-option input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--green)}
.review-link-option strong{display:block;font-size:12.5px;line-height:1.3;color:var(--ink)}
.review-link-option em{display:block;margin-top:2px;font-size:11.5px;line-height:1.35;color:var(--ink-3);font-style:normal}
.review-link-create{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  grid-column:1 / -1;
}
.review-link-create .btn{
  min-width:104px;
  justify-content:center;
  white-space:nowrap;
}
.compact-check{
  align-items:center;
  padding:0 6px;
  min-height:38px;
  white-space:nowrap;
}
.settings-pills{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.review-link-table td:last-child{
  max-width:none;
}

/* ─── tables ────────────────────────────────────────────────────── */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.an-table-wrap{overflow-x:auto;max-width:100%}
.tbl th{
  text-align:left;font-family:var(--mono);font-size:9.5px;font-weight:600;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-3);
  padding:10px 12px;border-bottom:1px solid var(--line-2);background:transparent;
}
.tbl th.num,.tbl td.num{text-align:right}
.tbl td{padding:12px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#F4F8F6}
.tbl td.num,.tbl th.num,.tbl td .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}
.tbl td a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink-4)}
.tbl td a:hover{text-decoration-color:var(--gilt)}

/* ─── status pills ──────────────────────────────────────────────── */
.pill{
  display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;
  letter-spacing:0.18em;padding:3px 8px;border-radius:99px;text-transform:uppercase;
}
.pill-live{background:var(--green-soft);color:var(--green)}
.pill-pending{background:var(--cc-canvas);color:var(--ink-2)}
.pill-archived{background:rgba(27,61,47,0.06);color:var(--ink-2)}
.pill-blocked{background:var(--redline-soft);color:var(--redline)}
.pill-draft{background:rgba(27,61,47,0.04);color:var(--ink-3)}

/* ─── form controls ─────────────────────────────────────────────── */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field-l{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.22em;color:var(--ink-3);text-transform:uppercase}
.field-help{font-size:12px;color:var(--ink-3);line-height:1.5;margin-top:4px}
.input,.select,.textarea{
  font:inherit;font-size:14.5px;color:var(--ink);
  padding:10px 12px;border:1px solid var(--line-2);border-radius:6px;background:#fff;
  outline:none;transition:border-color 120ms, box-shadow 120ms;
  width:100%;
}
.input:focus,.select:focus,.textarea:focus{border-color:var(--gilt);box-shadow:0 0 0 3px var(--gilt-soft)}
.textarea{min-height:120px;font-family:var(--font);line-height:1.5;resize:vertical}
.textarea.mono{font-family:var(--mono);font-size:13px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}
.form-grid.cols-1{grid-template-columns:1fr}
.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}

.check{display:flex;align-items:flex-start;gap:10px;padding:8px 0}
.check input[type=checkbox]{margin-top:3px;accent-color:var(--ink)}
.check-l{font-size:13.5px;line-height:1.45;color:var(--ink)}
.check-help{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}

.radio-row{display:flex;flex-direction:column;gap:8px}
.radio{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:border-color 120ms, background 120ms}
.radio:hover{border-color:var(--line-2);background:var(--cream-2)}
.radio.sel{border-color:var(--cc-green);background:var(--green-soft,#E7F0EC)}
.radio input[type=radio]{margin-top:4px;accent-color:var(--ink)}
.radio-l{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--ink)}
.radio-l small{font-size:11.5px;color:var(--ink-3);line-height:1.45}

/* ─── buttons ───────────────────────────────────────────────────── */
.btn{
  font:inherit;font-size:13.5px;font-weight:500;letter-spacing:0.01em;
  padding:9px 16px;border-radius:7px;cursor:pointer;
  transition:opacity 120ms, background 120ms, border-color 120ms;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  border:1px solid transparent;
}
.btn-primary{background:var(--cc-green);color:#fff;border-color:var(--cc-green)}
.btn-primary:hover{background:#123c30}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn-secondary:hover{background:var(--cream-2)}
.btn-ghost{background:transparent;color:var(--ink-2);border-color:transparent}
.btn-ghost:hover{color:var(--ink);background:var(--cream-2)}
.btn-danger{background:var(--redline);color:#fff;border-color:var(--redline)}
.btn-danger:hover{opacity:0.92}
.btn-sm{padding:6px 11px;font-size:12px}
.btn:disabled{opacity:0.5;cursor:default}

/* ─── tabs ──────────────────────────────────────────────────────── */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-2);margin-bottom:22px}
.tab{
  font:inherit;font-size:13.5px;background:transparent;border:none;color:var(--ink-2);
  padding:12px 18px;cursor:pointer;border-bottom:2px solid transparent;
  letter-spacing:0.005em;transition:color 120ms, border-color 120ms;
}
.tab:hover{color:var(--ink)}
.tab.act{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}

/* ─── modal / drawer ────────────────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.modal-backdrop{position:absolute;inset:0;background:rgba(27,61,47,0.32);backdrop-filter:blur(2px)}
.modal-card{
  position:relative;z-index:1;background:var(--paper);
  border:1px solid var(--line);border-radius:14px;
  padding:28px 30px;max-width:520px;width:100%;
  box-shadow:var(--shadow-3);
}
.modal-h{font-family:var(--font);font-size:22px;font-weight:500;color:var(--ink);margin:0 0 6px}
.modal-deck{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0 0 18px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}

.drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end}
.drawer-backdrop{position:absolute;inset:0;background:rgba(27,61,47,0.32);backdrop-filter:blur(2px)}
.drawer-panel{
  position:relative;z-index:1;background:var(--paper);
  width:min(720px, 96vw);height:100%;
  border-left:1px solid var(--line);
  box-shadow:var(--shadow-3);
  display:flex;flex-direction:column;
  animation:drawer-in 220ms ease-out;
}
@keyframes drawer-in{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}
.drawer-h{padding:22px 28px 14px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.drawer-h-l{display:flex;flex-direction:column;gap:4px}
.drawer-eye{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.24em;color:var(--ink-3);text-transform:uppercase}
.drawer-title{font-family:var(--font);font-size:22px;font-weight:500;color:var(--ink);margin:0}
.drawer-close{font:inherit;background:transparent;border:1px solid var(--line-2);color:var(--ink-2);padding:6px 11px;border-radius:6px;cursor:pointer;font-size:12px}
.drawer-close:hover{color:var(--ink);background:var(--cream-2)}
.drawer-body{flex:1;overflow-y:auto;padding:22px 28px}
.drawer-foot{padding:16px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--cc-canvas)}

/* ─── Form talent routing ──────────────────────────────────────── */
.form-talent-config{margin-top:12px;padding:12px 14px;background:#f7f9f8;border:1px solid var(--line);border-radius:8px}
.form-talent-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.form-talent-config-fields{display:grid;grid-template-columns:180px minmax(240px,1fr) auto;gap:8px;align-items:center;margin-top:12px}
.form-talent-summary{margin-top:10px}

/* ─── Talent workspace ─────────────────────────────────────────── */
.talent-intake-health{margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1);padding:14px 16px}
.talent-ih-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.talent-ih-head h2{font-size:14px;margin:0}
.talent-ih-review{font-size:12.5px;color:var(--cc-warn,#9A6700);font-weight:600}
.talent-ih-clear{font-size:12.5px;color:#8A929B}
.talent-ih-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.talent-ih-chan{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#FBFCFD}
.talent-ih-chan-top{display:flex;align-items:center;gap:7px}
.talent-ih-name{font-size:13px;font-weight:600}
/* Status tier: grey (unknown) / green (ok,quiet) / amber (review) / red (attention). Concrete values
   because the Talent view is not inside a --cc-* scope; distinguishable at 8px. */
.talent-ih-dot{width:8px;height:8px;border-radius:50%;background:#B7C0C9;flex:none}
.talent-ih-chan.state-ok .talent-ih-dot,.talent-ih-chan.state-quiet .talent-ih-dot{background:#2F6F4F}
.talent-ih-chan.state-review .talent-ih-dot{background:#9A6700}
.talent-ih-chan.state-attention .talent-ih-dot{background:#B42318}
.talent-ih-when{font-size:11.5px;color:#8A929B;margin-top:4px}
.talent-ih-action{font-size:12px;color:var(--cc-warn,#9A6700);font-weight:500;margin-top:4px}
.talent-ih-chan.state-attention .talent-ih-action{color:#B42318}
.talent-ih-ok{font-size:12px;color:#8A929B;margin-top:4px}
.talent-ih-needs{margin-top:10px;font-size:12.5px;color:var(--cc-ink-2,#5E6872)}
.talent-ih-needs-label{font-weight:600}
.talent-ih-needs-hint{color:#8A929B;margin-left:6px}
@media(max-width:720px){.talent-ih-channels{grid-template-columns:1fr}}
.talent-email-inbox{margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-1);overflow:hidden}
.talent-email-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.talent-email-inbox-head h2{margin:0;font-size:14px;color:var(--ink)}
.talent-email-inbox-head p{margin:3px 0 0;font-size:12px;color:var(--ink-3)}
.talent-email-count{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.talent-email-list{display:flex;flex-direction:column}
.talent-email-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 80px auto;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line)}
.talent-email-row:first-child{border-top:0}
.talent-email-summary{min-width:0;display:flex;flex-direction:column;gap:2px}
.talent-email-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink)}
.talent-email-summary span,.talent-email-ready{font-size:11.5px;color:var(--ink-3)}
.talent-email-status{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.talent-email-status.staged{color:var(--green)}
.talent-email-status.partial,.talent-email-status.failed{color:var(--redline)}
.talent-email-empty{padding:16px;color:var(--ink-3);font-size:12.5px}
.talent-email-review{display:flex;flex-direction:column;gap:14px}
.talent-email-files{border:1px solid var(--line);border-radius:7px;overflow:hidden}
.talent-email-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}
.talent-email-file:first-child{border-top:0}
.talent-email-file>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.talent-email-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.talent-email-file span,.talent-email-file small{font-size:11px;color:var(--ink-3)}
.talent-email-file small{grid-column:1/-1;color:var(--redline)}
.talent-email-routing{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}
.talent-email-routing h3,.talent-email-routing .talent-import-status,.talent-email-routing>button{grid-column:1/-1}
.talent-email-routing>button{justify-self:end}
.talent-workspace{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-1)}
.talent-folders{margin:0;padding:0 16px;background:#fbfcfc}
.talent-folders .tab{display:inline-flex;text-decoration:none}
/* Roles: a divided-row selector, not a wall of equal cards. */
.talent-roles{padding:14px 16px;border-bottom:1px solid var(--line);background:#f7f9f8}
.talent-roles-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
.talent-roles-add{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 11px;font:inherit;font-size:12px;font-weight:600;color:var(--teal);cursor:pointer}
.talent-roles-add:hover{border-color:var(--teal)}
.talent-roles-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.talent-role-row{display:flex;align-items:center;gap:14px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;font:inherit}
.talent-role-row:last-child{border-bottom:0}
button.talent-role-row{cursor:pointer}
.talent-role-row.act{background:rgba(23,76,60,.055);box-shadow:inset 3px 0 0 var(--green,#174C3C)}
.talent-role-select{flex:1;min-width:0;display:flex;align-items:center;gap:16px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;padding:0;cursor:pointer}
.talent-role-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.talent-role-name{font-size:13.5px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.talent-role-sub{font-size:12px;color:var(--ink-3)}
.talent-role-count{font-size:20px;font-weight:700;line-height:1;color:var(--ink);flex-shrink:0}
.talent-role-actions{display:flex;gap:2px;flex-shrink:0}
.talent-posting-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.talent-posting-metrics{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--ink-2);flex-shrink:0}
.talent-posting-link{border:0;background:transparent;padding:6px 10px;color:var(--teal);font:inherit;font-size:11.5px;font-weight:650;text-decoration:none;cursor:pointer;white-space:nowrap}
.talent-posting-link:hover{text-decoration:underline;text-underline-offset:3px}
.talent-savedviews{padding:10px 16px 0}
.talent-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto auto;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.talent-table-wrap{overflow-x:auto;min-height:220px}
.talent-table{min-width:840px}
.talent-table th:first-child,.talent-table td:first-child{width:38px;padding-right:4px}
.talent-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--teal)}
.talent-name{display:block;border:0;background:transparent;font:inherit;font-weight:650;color:var(--ink);cursor:pointer;text-align:left}
.talent-name:hover{text-decoration:underline;text-underline-offset:3px}
.talent-source{max-width:330px;line-height:1.4;color:var(--ink-2)!important}
.talent-empty{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--ink-3)}
.talent-empty strong{color:var(--ink);font-size:15px}
.talent-modal{max-width:860px;max-height:min(860px,94vh);overflow:auto}
.talent-modal>.modal-actions{position:sticky;bottom:-28px;z-index:2;margin-left:-2px;margin-right:-2px;padding:14px 2px 2px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--paper) 12px)}
.talent-posting-form{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}
.talent-posting-fields{min-width:0}
.talent-posting-fields .textarea{min-height:96px}
.talent-readiness{border:1px solid var(--line);border-radius:7px;background:#f8faf9;padding:14px}
.talent-readiness-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.talent-readiness-head h3{font-size:13px;margin:0;color:var(--ink)}
.talent-readiness-head>span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.talent-readiness-head .ready{color:var(--green)}
.talent-readiness-head .incomplete{color:var(--ink-3)}
.talent-readiness-row{display:grid;grid-template-columns:14px minmax(0,1fr);gap:7px;padding:5px 0;border-top:1px solid rgba(209,218,214,.65);font-size:11.5px;line-height:1.35;color:var(--ink-3)}
.talent-readiness-row.ok{color:var(--ink-2)}
.talent-readiness-row.ok>span:first-child{color:var(--green)}
.talent-waiting{margin-top:10px;padding-top:10px;border-top:1px solid rgba(209,218,214,.65);font-size:12px;line-height:1.45;color:var(--ink-2)}
.talent-waiting strong{color:var(--ink);font-weight:650}
.talent-posting-review{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 16px;margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:7px}
.talent-posting-review dt{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.talent-posting-review dd{margin:0;font-size:13px;color:var(--ink);overflow-wrap:anywhere}
.talent-publish-log{min-height:34px;margin-top:14px;padding:9px 11px;border-left:3px solid var(--teal);background:#f7f9f8;font-size:12.5px;color:var(--ink-2)}
.talent-posting-complete{display:flex;flex-direction:column;gap:10px}
.talent-posting-complete>strong{font-size:17px}
.talent-posting-complete p{margin:0;color:var(--ink-2);line-height:1.5}
.talent-import-status{min-height:22px;margin:8px 0;font-size:13px;color:var(--ink-2)}
.talent-import-preview{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.talent-preview-summary{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#f8faf9;font-size:12.5px}
.talent-preview-summary span{color:var(--ink-3)}
.talent-preview-list{max-height:250px;overflow:auto;border-top:1px solid var(--line)}
.talent-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:12.5px}
.talent-preview-row>span:nth-child(2){font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}
.talent-preview-row small{grid-column:1/-1;color:var(--redline)}
.talent-preview-row.invalid,.talent-preview-row.duplicate{color:var(--ink-2)}
.talent-meta{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 16px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.talent-meta dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.talent-meta dd{font-size:13.5px;color:var(--ink)}
.talent-answers{margin:0 0 20px}
.talent-answer{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:11px 0;border-top:1px solid var(--line)}
.talent-answer span{font-size:11px;text-transform:capitalize;color:var(--ink-3)}
.talent-answer p{font-size:13.5px;white-space:pre-wrap;color:var(--ink)}
.talent-review{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2)}
.talent-resume{margin:18px 0 22px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#f7f9f8}
.talent-resume-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;background:#fff}
.talent-resume-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talent-resume-preview{display:block;width:100%;height:min(680px,68vh);border:0;background:#fff}

@media(max-width:760px){
  .form-talent-config-fields{grid-template-columns:1fr}
  .talent-role-select{flex-wrap:wrap;gap:4px 12px}
  .talent-posting-form{grid-template-columns:1fr}
  .talent-toolbar{grid-template-columns:1fr 1fr}
  .talent-toolbar .input{grid-column:1/-1}
  .talent-folders{overflow-x:auto;white-space:nowrap}
  .talent-answer{grid-template-columns:1fr;gap:4px}
  .talent-meta{grid-template-columns:100px minmax(0,1fr)}
  .talent-email-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
  .talent-email-row .talent-email-ready{grid-column:1}
  .talent-email-row .btn{grid-column:2;grid-row:2}
  .talent-email-routing{grid-template-columns:1fr}
  .talent-email-routing h3,.talent-email-routing .talent-import-status,.talent-email-routing>button{grid-column:1}
}

/* Shared operator header: compact page identity, evidence context, and one clear command. */
.ophead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:2px 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line,#DCE1DF)}
.ophead-copy{min-width:0;max-width:820px}
.ophead-eyebrow{margin:0 0 6px;font-family:var(--mono);font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3,#69736F)}
.ophead-title{margin:0;color:var(--ink,#151A1E);font-size:32px;line-height:1.15;font-weight:680;letter-spacing:0}
.ophead-purpose{max-width:760px;margin:7px 0 0;color:var(--ink-2,#53605B);font-size:14px;line-height:1.5}
.ophead-context{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:12px;color:var(--ink-2,#53605B)}
.ophead-context-item{display:inline-flex;align-items:baseline;gap:6px;min-height:18px;padding:0 12px;border-left:1px solid var(--line,#DCE1DF);font-size:11.5px;line-height:1.4}
.ophead-context-item:first-child{padding-left:0;border-left:0}
.ophead-context-label{font-family:var(--mono);font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3,#69736F)}
.ophead-context-value{color:var(--ink-2,#53605B)}
.ophead-source{display:inline-flex;align-items:center;gap:6px}
.ophead-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.ophead-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid var(--line-2,#C9D0CD);border-radius:7px;font:inherit;font-size:12px;font-weight:650;text-decoration:none;cursor:pointer;white-space:nowrap}
.ophead-primary{border-color:#151A1E;background:#151A1E;color:#fff}
.ophead-primary:hover{border-color:#2D3539;background:#2D3539;color:#fff}
.ophead-secondary{background:#fff;color:var(--ink,#151A1E)}
.ophead-secondary:hover{border-color:#AEB8B3;background:#F7F9F8;color:var(--ink,#151A1E)}
.ophead-action:focus-visible{outline:2px solid var(--cc-teal,#207E78);outline-offset:2px}
.ophead-action:disabled{cursor:not-allowed;opacity:.48}

@media (max-width:760px){
  .ophead{align-items:stretch;flex-direction:column;gap:16px;padding-bottom:16px}
  .ophead-title{font-size:27px}
  .ophead-context{align-items:flex-start;flex-direction:column;gap:5px}
  .ophead-context-item,.ophead-context-item:first-child{padding:0;border-left:0}
  .ophead-actions{align-items:stretch;flex-direction:column}
  .ophead-action{width:100%}
}

@media(max-width:520px){
  .talent-roles{padding:12px}
  .talent-role-row{flex-wrap:wrap;gap:8px 12px}
  .talent-posting-review{grid-template-columns:1fr;gap:3px}
  .talent-posting-review dd{margin-bottom:7px}
  .talent-resume-head{align-items:flex-start;flex-direction:column}
  .talent-resume-preview{height:58vh}
  .talent-modal>.modal-actions{bottom:-22px}
}

/* ─── wizard ────────────────────────────────────────────────────── */
.wiz-steps{display:flex;gap:0;margin-bottom:22px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.wiz-step{
  flex:1;padding:10px 12px;font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-3);
  border-right:1px solid var(--line);text-align:center;
}
.wiz-step:last-child{border-right:none}
.wiz-step.act{color:var(--ink);background:var(--cream-2);box-shadow:inset 0 -2px 0 var(--gilt)}
.wiz-step.done{color:var(--green)}

.wiz-panel{margin-bottom:22px}
.wiz-panel-h{font-family:var(--font);font-size:18px;font-weight:500;color:var(--ink);margin:0 0 6px}
.wiz-panel-deck{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:0 0 18px}

/* ─── meta lists & key-value ────────────────────────────────────── */
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;padding:0;list-style:none}
.kv dt{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.22em;color:var(--ink-3);text-transform:uppercase;align-self:start;padding-top:3px}
.kv dd{font-size:14px;color:var(--ink);margin:0;line-height:1.5}

/* ─── stream / log output ───────────────────────────────────────── */
.stream{
  background:#15281f;color:#d8e8de;border-radius:8px;
  font-family:var(--mono);font-size:12px;line-height:1.55;
  padding:16px 18px;max-height:340px;overflow-y:auto;
  white-space:pre-wrap;word-break:break-word;
}
.stream-line{display:block}
.stream-line.ok{color:#9bd9b4}
.stream-line.err{color:#e3a193}
.stream-line.eye{color:#c0b07a}
.source-preview{
  background:#0F1F19;color:#DDE8E2;border-radius:8px;
  font-family:var(--mono);font-size:12px;line-height:1.55;
  padding:16px 18px;max-height:360px;overflow:auto;
  white-space:pre-wrap;word-break:break-word;border:1px solid rgba(255,255,255,0.08);
}

/* ─── controlled site releases ─────────────────────────────────── */
.release-workbench{
  overflow:hidden;
  margin-bottom:18px;
  border:1px solid rgba(16,37,29,.18);
  border-radius:10px;
  background:#fff;
  box-shadow:var(--shadow-1);
}
.release-workbench-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:28px;
  align-items:end;
  padding:24px 26px;
  background:#10251D;
  color:#fff;
}
.release-workbench-head .view-eye{color:#78B9B4;margin-bottom:8px}
.release-workbench-head h2{margin:0;font-family:var(--font);font-size:24px;font-weight:500;line-height:1.15;color:#fff}
.release-workbench-head p{max-width:700px;margin:9px 0 0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.68)}
.release-current{padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.release-current span,.release-current em{display:block;font-size:11.5px;color:rgba(255,255,255,.58);font-style:normal}
.release-current strong{display:block;margin:6px 0 4px;font-family:var(--mono);font-size:16px;letter-spacing:.08em;color:#fff}
.release-workbench-body{
  display:grid;
  grid-template-columns:minmax(220px,.78fr) minmax(420px,1.7fr) auto;
  gap:24px;
  align-items:center;
  padding:22px 26px 24px;
}
.release-source{display:block;min-width:0}
.release-source-label{display:block;margin-bottom:8px;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.release-file-input{display:block;width:100%;font:inherit;font-size:12.5px;color:var(--ink)}
.release-file-input::file-selector-button{margin-right:10px;padding:7px 10px;border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.release-file-input::file-selector-button:hover{background:#F3F7F5}
.release-source-note{margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--ink-3)}
.release-flow{min-width:0}
.release-stages{display:grid;grid-template-columns:repeat(5,minmax(64px,1fr));gap:0;margin-bottom:12px}
.release-stage{position:relative;padding:0 10px 10px;border-bottom:2px solid var(--line);color:var(--ink-3)}
.release-stage:first-child{padding-left:0}
.release-stage:last-child{padding-right:0}
.release-stage.act{border-bottom-color:var(--teal);color:var(--ink)}
.release-stage.done{border-bottom-color:var(--green);color:var(--green)}
.release-stage-index{display:block;margin-bottom:4px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:inherit}
.release-stage-label{display:block;font-size:12px;font-weight:600;color:inherit}
.release-progress-track{height:4px;overflow:hidden;border-radius:999px;background:#E7EEEA}
.release-progress-bar{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--green));transition:width 260ms ease-out}
.release-status{min-height:18px;margin-top:8px;font-size:11.5px;line-height:1.45;color:var(--ink-3)}
.release-status.ok{color:var(--green)}
.release-status.err{color:var(--redline)}
.release-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}

/* ─── site availability and lifecycle ──────────────────────────── */
.availability-panel{border-left:3px solid var(--teal)}
.availability-head{align-items:flex-start;margin-bottom:16px}
.availability-head .card-deck{margin-bottom:0}
.availability-facts{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.availability-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn.disabled{opacity:.48;cursor:default;pointer-events:none}

.site-toolbar{align-items:center}

/* Shared operating-surface controls. Flat, compact, and consistent across workspaces. */
.os-segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--cc-line);border-radius:7px;background:var(--cc-surface-2,#EEF1F4);min-height:38px}
.os-segment{min-height:30px;padding:5px 11px;border:0;border-radius:5px;background:transparent;color:var(--cc-ink-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.os-segment:hover{color:var(--cc-ink);background:rgba(255,255,255,.72)}
.os-segment[aria-pressed="true"]{color:var(--cc-ink);background:var(--cc-surface);box-shadow:0 1px 3px rgba(21,26,30,.12)}
.os-segment:focus-visible,.os-subnav-item:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px}
.os-subnav{display:flex;align-items:center;gap:22px;min-height:45px;border-bottom:1px solid var(--cc-line);overflow-x:auto;scrollbar-width:none}
.os-subnav::-webkit-scrollbar{display:none}
.os-subnav-item{position:relative;display:inline-flex;align-items:center;min-height:44px;color:var(--cc-ink-2);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.os-subnav-item:hover{color:var(--cc-ink)}
.os-subnav-item.active{color:var(--cc-ink)}
.os-subnav-item.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--cc-green)}
@media (max-width:760px){.os-subnav{gap:18px;margin-right:-18px;padding-right:18px}.os-segmented{width:100%}.os-segment{flex:1}}
.site-state-filter{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:7px;background:#F5F8F6}
.site-state-option{border:0;border-radius:5px;background:transparent;padding:6px 10px;font:inherit;font-size:12px;color:var(--ink-2);cursor:pointer}
.site-state-option:hover{color:var(--ink);background:rgba(255,255,255,.7)}
.site-state-option.act{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(16,37,29,.1);font-weight:600}

/* ─── misc ──────────────────────────────────────────────────────── */
.row{display:flex;align-items:center;gap:10px}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.toolbar input.search{max-width:280px;font:inherit;font-size:14px;color:var(--ink);padding:8px 12px;border:1px solid var(--line-2);border-radius:6px;background:#fff;outline:none}
.toolbar input.search:focus{border-color:var(--gilt);box-shadow:0 0 0 3px var(--gilt-soft)}
.toolbar-count{font-size:12.5px;color:var(--ink-3)}

.site-health-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  margin-bottom:16px;
}
.site-health-stat{
  padding:14px 16px;
  border-right:1px solid var(--cc-line);
  background:var(--cc-surface);
}
.site-health-stat:last-child{border-right:none}
.site-health-stat span{
  display:block;
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--cc-ink-3);
  margin-bottom:8px;
}
.site-health-stat strong{font-size:25px;line-height:1;font-weight:650;color:var(--cc-ink)}
.site-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:18px 0 24px;
}
.site-preview-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:var(--shadow-1);
  transition:border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
  min-width:0;
}
.site-preview-card:hover{border-color:var(--cc-line);box-shadow:var(--shadow-2);transform:translateY(-1px)}
.site-preview-card-link{cursor:pointer}
.site-preview-card-link:focus-visible{outline:2px solid var(--cc-green);outline-offset:2px}
.site-card-title{color:var(--cc-ink);text-decoration:none}
.site-preview-card-link:hover .site-card-title{color:var(--cc-green)}
.site-preview-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;background:var(--cc-surface-2,#eef1f4)}
.site-preview-caption{position:absolute;left:0;right:0;bottom:0;font-size:11px;color:#fff;background:rgba(21,26,30,0.66);padding:4px 8px;text-align:center}
.site-preview-frame{
  position:relative;
  aspect-ratio:16 / 9;
  min-height:176px;
  overflow:hidden;
  background:linear-gradient(160deg,#EEF1F4 0%,#E3E8ED 100%);
  border-bottom:1px solid var(--line);
}
.site-preview-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.site-preview-shell{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:13px;
  color:var(--cc-ink-2);
}
.site-preview-shell::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(21,26,30,0.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(21,26,30,0.03) 1px, transparent 1px);
  background-size:32px 32px;
  opacity:.35;
  pointer-events:none;
}
.site-preview-chrome{
  display:flex;
  gap:5px;
  position:relative;
  z-index:1;
}
.site-preview-chrome span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(21,26,30,0.18);
}
.site-preview-surface{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:13px;
  border:1px solid var(--cc-line);
  border-radius:8px;
  background:var(--cc-surface);
  box-shadow:var(--shadow-1);
}
.site-preview-monogram{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:var(--cc-canvas);
  color:var(--cc-ink);
  border:1px solid var(--cc-line);
  font-weight:700;
  letter-spacing:.02em;
}
.site-preview-copy{min-width:0}
.site-preview-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:1.2;
  font-weight:650;
  color:var(--cc-ink);
}
.site-preview-copy span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-top:4px;
  font-size:11.5px;
  color:var(--cc-ink-2);
}
.site-preview-bars{
  position:relative;
  z-index:1;
  display:grid;
  gap:6px;
  width:72%;
}
.site-preview-bars span{
  display:block;
  height:6px;
  border-radius:999px;
  background:var(--cc-line);
}
.site-preview-bars span:nth-child(2){width:78%}
.site-preview-bars span:nth-child(3){width:54%}
.site-preview-empty{
  height:100%;
  display:grid;
  place-items:center;
  color:var(--ink-3);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.site-preview-body{padding:16px 18px 17px}
.site-preview-body h2{
  margin:12px 0 4px;
  font-size:17px;
  line-height:1.2;
  letter-spacing:0;
  font-weight:650;
  color:var(--ink);
}
.site-preview-body p{
  margin:0;
  color:var(--ink-3);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-preview-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0 14px;
  color:var(--ink-3);
  font-size:12px;
}
.site-preview-meta span + span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--ink-4);margin-right:10px;vertical-align:middle}
.site-card-health{min-height:36px;padding:9px 0 11px;border-top:1px solid var(--cc-line);color:var(--cc-ink-2);font-size:12px;line-height:1.4}
.site-card-health.issue{color:var(--cc-warn);font-weight:600}
.site-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}
.site-card-destination{color:var(--cc-green);font-size:12.5px;font-weight:650}
.site-card-destination::after{content:"  →"}
.site-card-live{position:relative;z-index:2}

.code{font-family:var(--mono);font-size:12.5px;color:var(--ink);background:rgba(27,61,47,0.06);padding:2px 6px;border-radius:4px}
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:8px;box-shadow:var(--shadow-3);font-size:13px;z-index:2000}
.toast.err{background:var(--redline)}
.toast.ok{background:var(--green)}

/* tiny utility for monospace numeric col in tables — apply per-cell */
.tabular{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ─── responsive nudge ──────────────────────────────────────────── */
@media (max-width: 1100px){
  .analytics-hero h2{font-size:25px}
  .analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics-kpi:nth-child(3n){border-right:none}
  .analytics-kpi:nth-child(n+4){border-top:1px solid var(--line)}
  .analytics-signals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hide-md{display:none!important}
  .downloads-table thead{display:none}
  .downloads-table tbody,.downloads-table tr,.downloads-table td{display:block}
  .downloads-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line)}
  .downloads-table tr:last-child{border-bottom:none}
  .downloads-table td{padding:0;border-bottom:none}
  .downloads-table td:last-child{max-width:none;text-align:right;white-space:nowrap}
  .review-link-builder{grid-template-columns:1fr 1fr}
  .review-link-toggles,.review-link-options,.review-link-create{grid-column:1 / -1}
  .review-link-create{justify-content:flex-start}
  .review-link-builder .btn{justify-content:center}
  .site-health-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-health-stat:nth-child(2n){border-right:none}
  .site-health-stat:nth-child(n+3){border-top:1px solid var(--line)}
}

@media (max-width: 880px){
  .tb{padding:12px 14px;gap:10px}
  .tb-mark-text{display:none}
  .tb-user{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tb-signout{padding:6px 9px;font-size:10px}
  .sb{display:none}
  .tb-burger{display:inline-flex}
  .main{padding:22px 18px 60px}
  .security-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .security-summary-item{padding:12px 10px;gap:8px}
  .security-summary-item span{font-size:10.5px}
  .security-summary-item strong{font-size:16px}
  .security-summary-time{grid-column:1 / -1;justify-self:stretch;border-top:1px solid var(--line);padding:10px 12px;text-align:left}
  .security-group-head{grid-template-columns:1fr;gap:3px}
  .security-row{grid-template-columns:1fr;gap:15px;padding:18px 0}
  .security-row-state{padding:0;border-left:none;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .security-row-state-note{text-align:right;max-width:190px}
  .security-evidence{display:grid;grid-template-columns:1fr;gap:5px;margin-top:10px}
  .security-vendor{grid-template-columns:1fr;gap:8px}
  .security-vendor-main,.security-vendor-meta{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}
  .view-head{align-items:flex-start;flex-direction:column}
  .release-workbench-head{grid-template-columns:1fr;gap:18px;padding:22px}
  .release-current{padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .release-workbench-body{grid-template-columns:1fr;gap:20px;padding:20px 22px 22px}
  .release-actions{justify-content:flex-start}
  .availability-head{flex-direction:row}
  .availability-facts{grid-template-columns:130px minmax(0,1fr)}
  .site-toolbar{align-items:stretch}
  .site-state-filter{order:3;width:100%;overflow-x:auto}
  .tabs{overflow-x:auto;max-width:100%;padding-bottom:1px}
  .tab{flex:0 0 auto;padding:11px 14px}
  .form-grid{grid-template-columns:1fr}
  .analytics-hero h2{font-size:23px}
  .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-signals{grid-template-columns:1fr}
  .analytics-signal strong,.analytics-signal em{white-space:normal}
  .analytics-kpi{border-right:none;border-bottom:1px solid var(--line)}
  .analytics-kpi:nth-child(odd){border-right:1px solid var(--line)}
  .analytics-kpi:nth-last-child(-n+2){border-bottom:none}
  .review-link-builder{grid-template-columns:1fr}
  .review-link-toggles,.review-link-options,.review-link-create{grid-column:1 / -1}
  .review-link-options{grid-template-columns:1fr}
  .review-link-option + .review-link-option{padding-left:0;border-left:none;border-top:1px solid var(--line)}
  .review-link-option{padding:11px 0}
  .review-link-builder .btn{width:100%;justify-content:center}
  .site-health-strip{grid-template-columns:1fr}
  .site-health-stat{border-right:none;border-bottom:1px solid var(--line)}
  .site-health-stat:last-child{border-bottom:none}
  .site-preview-grid{grid-template-columns:1fr}
  .site-preview-frame{height:142px}
  .site-preview-shell{padding:11px}
  .site-preview-surface{padding:11px}
  .site-preview-monogram{width:36px;height:36px}
  .site-table thead{display:none}
  .site-table tbody,.site-table tr,.site-table td{display:block}
  .site-table tr{
    padding:13px 0;
    border-bottom:1px solid var(--line);
  }
  .site-table tr:last-child{border-bottom:none}
  .site-table tr:hover td{background:transparent}
  .site-table td{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:5px 0;
    border-bottom:none;
    overflow-wrap:anywhere;
  }
  .site-table td::before{
    content:attr(data-label);
    font-family:var(--mono);
    font-size:9.5px;
    font-weight:600;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--ink-3);
  }
  .site-table td.num{text-align:left}
  .analytics-card-head{flex-direction:column}
  .analytics-table thead{display:none}
  .analytics-table tbody,.analytics-table tr,.analytics-table td{display:block}
  .analytics-table tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .analytics-table tr:last-child{border-bottom:none}
  .analytics-table td{
    padding:4px 0;
    border-bottom:none;
    max-width:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .analytics-table td.num{text-align:left}
  .analytics-table .row{flex-wrap:wrap}
  .review-link-table td{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    align-items:start;
  }
  .review-link-table td::before{
    content:attr(data-label);
    font-family:var(--mono);
    font-size:9.5px;
    font-weight:600;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--ink-3);
  }
  .table-sub{max-width:none;white-space:normal}
  .history-linker{grid-template-columns:1fr}
  .depth-bar{min-width:0}
}

@media (max-width: 560px){
  .view-actions{display:grid;grid-template-columns:1fr;width:100%}
  .view-actions .btn{width:100%;min-height:44px;justify-content:center}
  .release-workbench-head{padding:20px 18px}
  .release-workbench-head h2{font-size:21px}
  .release-workbench-body{padding:18px}
  .release-stages{grid-template-columns:repeat(5,minmax(48px,1fr))}
  .release-stage{padding-left:6px;padding-right:6px}
  .release-stage-label{font-size:10.5px}
  .release-stage-index{font-size:8px}
  .release-actions{display:grid;grid-template-columns:1fr}
  .release-actions .btn{justify-content:center;width:100%}
  .review-link-create{display:grid;grid-template-columns:1fr;gap:10px}
  .review-link-create .btn{width:100%}
  .availability-head{align-items:flex-start;flex-direction:column}
  .availability-facts{grid-template-columns:1fr;gap:4px}
  .availability-facts dd{margin-bottom:9px;overflow-wrap:anywhere}
  .availability-actions{display:grid;grid-template-columns:1fr}
  .availability-actions .btn{justify-content:center;width:100%}
  .site-state-filter{display:grid;grid-template-columns:repeat(5,minmax(max-content,1fr))}
  .modal{padding:14px}
  .modal-card{padding:22px 20px}
  .modal-actions{display:grid;grid-template-columns:1fr}
  .modal-actions .btn{justify-content:center;width:100%}
}

/* ─── cross-site analytics: daily trend ─────────────────────────── */
.trend-bars{display:flex;align-items:flex-end;gap:2px;height:96px;padding:8px 0 0;margin-top:4px}
.trend-bar{flex:1 1 0;min-width:2px;height:100%;display:flex;align-items:flex-end;cursor:default}
.trend-bar span{display:block;width:100%;border-radius:2px 2px 0 0;background:var(--cc-green);opacity:.72}
.trend-bar:hover span{opacity:1}

/* ─── analytics: measurement caveat + collapsible groups ────────── */
.measure-note{font-size:12.5px;line-height:1.5;color:var(--ink-3);margin:10px 2px 16px;max-width:820px}
.grp-head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 4px;background:none;border:0;
  border-top:1px solid var(--line);font:inherit;font-size:14px;color:var(--ink);text-align:left;cursor:pointer}
.grp-head:hover{background:rgba(42,128,128,0.04)}
.grp-caret{font-size:10px;color:var(--ink-3);width:12px;flex:none}
.grp-meta{margin-left:auto;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.grp-body{padding:0 0 14px}

/* ─── talent: reachability + contact state ──────────────────────── */
.talent-reach{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.talent-reach .pill{font-size:10px;padding:2px 7px}
.talent-reach a.pill{text-decoration:none}
.talent-reach a.pill:hover{filter:brightness(.94)}
.talent-meta em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-top:3px}

/* ─── Events workspace ─────────────────────────────────────────── */
.events-head{align-items:flex-end}
.events-head-actions{display:flex;align-items:center;gap:12px}
.events-sync{font-size:12px;color:var(--ink-3);white-space:nowrap}
.events-tabs{margin-bottom:18px}
.events-tabs .tab{display:inline-flex;text-decoration:none}
.events-workspace{min-height:320px}
.event-list{border:1px solid var(--line-2);border-radius:9px;background:#fff;overflow:hidden;box-shadow:var(--shadow-1)}
.event-row{width:100%;display:grid;grid-template-columns:72px minmax(300px,1fr) 90px 90px 90px 22px;gap:12px;align-items:center;padding:16px 18px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;transition:background .12s}
.event-row:first-child{border-top:0}
.event-row:hover,.event-row:focus-visible{background:#f5f8f7;outline:none}
.event-date{width:54px;border-right:1px solid var(--line-2);display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.event-date span{font-family:var(--mono);font-size:9.5px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--teal)}
.event-date strong{margin-top:6px;font-size:23px;font-weight:620;font-variant-numeric:tabular-nums;color:var(--ink)}
.event-main{min-width:0}
.event-title-line{display:flex;align-items:center;gap:9px;min-width:0}
.event-title-line>strong{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-meta{margin-top:4px;font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-metric{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.event-metric strong{font-size:16px;font-weight:620;font-variant-numeric:tabular-nums}
.event-metric span{margin-top:3px;font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.event-open{font-size:23px;color:var(--ink-3);text-align:right}
.event-pill{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid var(--line-2);border-radius:999px;font-size:9.5px;font-weight:620;line-height:1.2;color:var(--ink-2);background:#fff;white-space:nowrap}
.event-pill.investor,.event-pill.attended{color:#1f6750;border-color:rgba(31,103,80,.22);background:rgba(31,122,85,.07)}
.event-pill.founder{color:#25656b;border-color:rgba(42,128,128,.23);background:var(--teal-soft)}
.event-pill.portfolio{color:var(--ink-2);border-color:var(--cc-line);background:var(--cc-canvas)}
.event-pill.community,.event-pill.other,.event-pill.neutral{color:var(--ink-2);background:#f6f8f7}
.event-pill.due{color:var(--amber);border-color:var(--cc-line);background:var(--cc-canvas)}
.events-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink-3);font-size:12.5px;text-align:center}
.events-empty strong{font-size:14px;color:var(--ink)}
.events-empty.compact{min-height:92px;border:0}
.events-savedviews{margin-bottom:10px}
.attendee-toolbar{display:grid;grid-template-columns:minmax(250px,1.3fr) 135px 150px 140px 160px minmax(150px,.8fr);gap:8px;align-items:center;margin-bottom:14px}
.attendee-toolbar .search,.events-owner-filter{width:100%;min-width:0;font:inherit;font-size:12.5px;padding:8px 10px;border:1px solid var(--line-2);border-radius:6px;background:#fff;outline:none}
.attendee-toolbar .search:focus,.events-owner-filter:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.events-sort{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px}
.events-sort>span{font-family:var(--mono);font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.attendee-toolbar .toolbar-count{grid-column:1/-1;justify-self:end;margin-top:2px}
.attendee-table-wrap{border:1px solid var(--line-2);border-radius:9px;background:#fff;overflow-x:auto;box-shadow:var(--shadow-1)}
.attendee-table{min-width:1080px}
.attendee-table th{white-space:nowrap}
.attendee-table td{font-size:12px}
.event-person{max-width:290px;border:0;background:transparent;padding:0;color:var(--ink);font:inherit;font-weight:650;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-person:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
.event-person:disabled{cursor:default}
.event-drawer{width:min(920px,96vw)}
.event-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:18px}
.event-detail-summary>div{padding:11px 12px;border-left:1px solid var(--line)}
.event-detail-summary>div:first-child{border-left:0}
.event-detail-summary span{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.event-detail-summary strong{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--ink)}
.event-editor{display:grid;grid-template-columns:150px minmax(200px,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:7px;background:#f7f9f8;margin-bottom:22px}
.event-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 0 9px;border-bottom:1px solid var(--line-2)}
.event-section-head h3{font-size:14px;font-weight:650}
.event-section-head span{font-size:11.5px;color:var(--ink-3)}
.event-table-wrap{overflow-x:auto}
.event-guest-table{min-width:720px}
.event-follow-select{min-width:118px;font-size:11px;padding:5px 7px}
.attendee-profile{padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--line-2)}
.attendee-profile>.form-grid{margin-top:12px}
.attendee-profile>.field{margin-top:12px}
.attendee-profile>.btn{margin-top:12px}
.attendee-email{font-size:12px;color:var(--ink-3);margin-bottom:10px}
.attendance-history{display:flex;flex-direction:column}
.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto 126px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.attendance-row>div{min-width:0;display:flex;flex-direction:column}
.attendance-row strong{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-row span{font-size:10.5px;color:var(--ink-3)}

@media(max-width:1100px){
  .attendee-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .attendee-toolbar .search{grid-column:span 2}
}
@media(max-width:760px){
  .events-head-actions{width:100%;justify-content:space-between}
  .event-row{grid-template-columns:58px repeat(3,minmax(0,1fr));gap:10px;padding:14px 12px}
  .event-date{grid-column:1}
  .event-main{grid-column:2/5}
  .event-main{padding-right:8px}
  .event-metric{align-items:flex-start;padding-top:9px;border-top:1px solid var(--line)}
  .event-metric-registered{grid-column:2}
  .event-metric-attended{grid-column:3}
  .event-metric-follow-up{grid-column:4}
  .event-open{display:none}
  .attendee-toolbar{grid-template-columns:1fr 1fr}
  .attendee-toolbar .search,.attendee-toolbar .events-owner-filter{grid-column:1/-1}
  .attendee-toolbar .toolbar-count{grid-column:1/-1}
  .events-sort{grid-column:1/-1}
  .event-drawer{width:100vw;max-width:100vw}
  .event-detail-summary{grid-template-columns:1fr 1fr}
  .event-detail-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .event-detail-summary>div:nth-child(4){border-top:1px solid var(--line)}
  .event-editor{grid-template-columns:1fr}
  .attendance-row{grid-template-columns:minmax(0,1fr) auto}
  .attendance-row .event-follow-select{grid-column:1/-1;width:100%}
}

/* The hidden attribute must actually hide. Any class setting an explicit
   display (.field is display:flex) beats the UA stylesheet's [hidden]
   rule, which silently left toggled-off fields on screen. */
[hidden]{display:none !important}

/* ── Events · Planning summary ─────────────────────────────────────────────── */
.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
@media (max-width:900px){.plan-layout{grid-template-columns:1fr}}
.plan-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.plan-card-interactive{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.plan-card-interactive:hover{border-color:#AEB9B4;box-shadow:0 5px 18px rgba(22,36,31,.08);transform:translateY(-1px)}
.plan-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.plan-card-title-link{display:block;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;font-weight:650;text-align:left;cursor:pointer}
.plan-card-title-link:hover{text-decoration:underline;text-underline-offset:3px}
.plan-card-title-link:focus-visible{outline:3px solid rgba(23,76,60,.2);outline-offset:3px;border-radius:2px}
.plan-card-sub{color:var(--ink-3);font-size:12.5px;margin-top:2px}
.plan-card-count{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.plan-progress-line{display:flex;align-items:center;gap:12px}
.plan-bar{flex:1;height:8px;background:var(--teal-soft);border-radius:99px;overflow:hidden}
.plan-bar-fill{display:block;height:100%;background:var(--teal);border-radius:99px;transition:width .3s ease}
.plan-bar-fill.done{background:var(--green)}
.plan-bar-fill.warn{background:var(--amber)}
.plan-progress-num{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-2);white-space:nowrap}
.plan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.plan-stat{background:var(--cc-canvas);border-radius:var(--radius);padding:8px 10px;text-align:center}
.plan-stat strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}
.plan-stat span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.plan-stat.good strong{color:var(--green)}
.plan-stat.warn strong{color:var(--amber)}
.plan-breakdown{font-size:12px;color:var(--ink-3)}
.plan-breakdown-sub{font-size:11px;color:var(--ink-3);opacity:.8;margin-top:2px}
.plan-expected{font-size:12px;color:var(--ink-2);margin-top:4px;font-variant-numeric:tabular-nums}
.plan-expected-basis{color:var(--ink-3);font-size:11px}
.field-hint{font-size:11px;color:var(--ink-3);align-self:center;line-height:1.4}

/* ── Events · planner readiness cockpit (§8) ──────────────────────────────── */
.plan-attention{background:#fff;border:1px solid var(--cc-line);border-left:3px solid var(--cc-green);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:14px}
.plan-attention-h{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--ink)}
.plan-attention-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid rgba(0,0,0,.06);padding:7px 0;cursor:pointer;font-size:12.5px}
.plan-attention-row:first-of-type{border-top:0}
.plan-attention-row strong{flex:0 0 auto}
.plan-attention-issue{color:var(--ink-3);margin-left:auto;text-align:right}
.plan-readiness{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.plan-readiness-item{font-size:11.5px;padding-left:14px;position:relative;color:var(--ink-2)}
.plan-readiness-item::before{content:"";position:absolute;left:2px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--amber)}
.plan-readiness-item.high::before{background:var(--redline)}

/* ── Events · post-event report (§10) ─────────────────────────────────────── */
.event-postevent{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.pe-funnel{grid-template-columns:repeat(4,1fr);margin-bottom:10px}
.pe-line{font-size:12.5px;color:var(--ink-2);margin:6px 0;font-variant-numeric:tabular-nums}
.pe-closeout{color:var(--ink-3)}
.pe-block{margin-top:12px}
.pe-block-h{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.pe-bar-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:3px 0;border-top:1px solid var(--line)}
.pe-bar-row:first-of-type{border-top:0}
.pe-bar-val{font-variant-numeric:tabular-nums;font-weight:600}
.pe-tags{display:flex;flex-wrap:wrap;gap:6px}

/* ── Events · suggested series (§11) ──────────────────────────────────────── */
.plan-suggest{display:flex;flex-direction:column;gap:8px}
.plan-suggest-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--cc-canvas);border:1px dashed var(--line-2);border-radius:var(--radius);padding:8px 10px}
.plan-suggest-l strong{display:block;font-size:12.5px}
.plan-suggest-l span{font-size:11px;color:var(--ink-3)}

/* ── Events · responsive + signal polish (Nigel audit §12) ────────────────── */
/* Stat grids and drawer forms must degrade on phones, not cramp into slivers. */
@media (max-width:560px){
  .plan-stats,.pe-funnel{grid-template-columns:repeat(2,1fr)}
  .form-grid,.cosponsor-add{grid-template-columns:1fr}
  .taxa-row{grid-template-columns:1fr 1fr}
}
/* A warning card should actually read as a signal. */
.card-warn{border-color:var(--cc-line);border-left:3px solid var(--cc-green);background:#fff}
/* Long event names ellipsize instead of shoving the countdown/issue out. */
.plan-attention-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* The event-type category is a quiet label, not a colored signal. */
.plan-card-count .event-pill.neutral{background:var(--cc-canvas);color:var(--ink-2)}
/* Proportional post-event funnel: width encodes the count, so the drop-off shows. */
.pe-funnel-bars{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.pe-stage{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:10px;font-size:12px}
.pe-stage-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px}
.pe-stage-track{height:16px;background:var(--cc-canvas);border-radius:4px;overflow:hidden}
.pe-stage-fill{height:100%;background:var(--teal);opacity:.5;border-radius:4px;min-width:2px}
.pe-stage-fill.attended{opacity:.9}
.pe-stage-val{font-variant-numeric:tabular-nums;font-weight:600;font-size:12.5px}
.pe-stage-pct{color:var(--ink-3);font-size:11px;margin-left:4px;font-weight:400}
/* Review-queue headline: two figures, not a borrowed 5-col pipeline grid. */
/* ── Events · readiness checklist (§6) ────────────────────────────────────── */
.event-readiness{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.rd-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.rd-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius);background:var(--cc-canvas)}
.rd-row.overdue{background:var(--redline-soft)}
.rd-row.blocked{background:var(--cc-canvas);box-shadow:inset 3px 0 0 var(--cc-green)}
.rd-row-l>div:first-child{font-size:13px;font-weight:500}
.rd-row-r{display:flex;gap:8px;align-items:center;flex-shrink:0}
.rd-flag{font-size:10px;color:var(--redline);margin-left:8px;text-transform:uppercase;letter-spacing:.05em}
.rd-form{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.rd-actions{display:flex;gap:8px}
@media (max-width:560px){.rd-row{flex-direction:column}.rd-row-r{width:100%}}

.review-counts{display:flex;gap:18px;margin-bottom:6px}
.review-counts .plan-stat{flex:0 0 auto;min-width:120px;text-align:left}
.plan-target{display:flex;gap:8px;align-items:flex-end}
.plan-target .field{flex:0 0 160px}
.plan-target-input{width:100%}
.plan-card-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.plan-card-cue{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-size:12.5px;font-weight:650}
.plan-card-cue span{font-size:15px;line-height:1;transition:transform .14s ease}
.plan-card-interactive:hover .plan-card-cue span{transform:translateX(2px)}

/* Events "Activity today" module (E2) - distinct from cumulative planning, tile lower-right */
.plan-activity{align-self:flex-end;max-width:100%;background:#F4F6F8;border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}
.plan-activity-h{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cc-ink-2,#5A6570)}
.plan-activity-body{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.plan-activity-chip{font-size:11.5px;font-weight:600;color:var(--cc-ink,#151A1E);background:var(--paper,#fff);border:1px solid var(--line);border-radius:5px;padding:1px 7px;white-space:nowrap}
.plan-activity-mut{font-size:11.5px;color:var(--cc-ink-2,#5A6570);font-style:italic}

/* Attendee -> contact handoff actions (E3) */
.attendee-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

.pp-note{font-size:13px;line-height:1.5;color:var(--cc-ink,#151A1E);white-space:pre-wrap;background:#F4F6F8;border:1px solid var(--cc-line,#E3E7EB);border-radius:6px;padding:8px 10px}

/* Duplicate warning in the add-contact form (E6) */
.cf-dup{background:#EEF1F4;border:1px solid #C7CDD3;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}
.cf-dup-h{font-size:12px;font-weight:700;color:var(--cc-ink,#151A1E)}
.cf-dup-link{font-size:12.5px;color:var(--cc-info,#2A6DB0);text-decoration:none}
.cf-dup-link:hover{text-decoration:underline}

.analytics-tocontact{margin-left:8px;font:inherit;font-size:12px;font-weight:600;color:var(--cc-info,#2A6DB0);background:none;border:none;cursor:pointer;padding:0}
.analytics-tocontact:hover{text-decoration:underline}
.analytics-anon{color:var(--cc-ink-2,#5A6570);font-style:italic}
.talent-contact-handoff{margin:8px 0}





.plan-cost{font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.plan-photos{font-size:12px;color:var(--ink-3)}
.plan-card-foot .btn{margin-left:auto}
.event-pill.urgent{background:var(--redline-soft);color:var(--redline)}
.event-pill.soon{background:var(--cc-canvas);color:var(--amber);border-color:var(--cc-line)}
/* sidebar */
.plan-side{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;position:sticky;top:12px}
.plan-side-h{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.plan-side-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.plan-side-stat{background:var(--cc-canvas);border-radius:var(--radius);padding:8px 10px}
.plan-side-stat strong{display:block;font-size:17px;font-variant-numeric:tabular-nums}
.plan-side-stat span{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.plan-side-list{display:flex;flex-direction:column;gap:8px}
.plan-side-row{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;border-top:1px solid var(--line);padding-top:8px}
.plan-side-row-l strong{display:block}
.plan-side-row-l span,.plan-side-row-r span{color:var(--ink-3);font-size:11px}
.plan-side-row-r{text-align:right;font-variant-numeric:tabular-nums}

/* ── Events · sync pipeline health (admin-only) ───────────────────────────── */
.pipeline-stats{grid-template-columns:repeat(5,1fr)}
.pipeline-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.pipeline-h h2{font-size:13px;letter-spacing:.04em;margin:0}
.pipeline-muted{color:var(--ink-3);font-size:12.5px}
.pipeline-muted.small{font-size:11.5px}
.pipeline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0}
.pipeline-row-l{min-width:0}
.pipeline-row-l>div:first-child{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.pipeline-stats{grid-template-columns:repeat(2,1fr)}}

/* ── Events · taxonomy classification + bulk edit ─────────────────────────── */
.taxa-chips{display:flex;flex-wrap:wrap;gap:6px}
.taxa-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--cc-canvas);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer}
.taxa-chip input{margin:0}
.taxa-chip.deprecated{opacity:.6}
.taxa-prov{font-size:11px;color:var(--ink-3);margin-top:4px;font-style:italic}
.table-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.table-tag{font-size:10.5px;background:var(--cc-canvas);border-radius:4px;padding:1px 6px;color:var(--ink-2)}
.table-tag.more{color:var(--ink-3)}
.sel-col{width:34px;text-align:center}
.attendee-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px}
.bulk-count{font-size:12.5px;font-weight:600}
.taxa-manager{display:flex;flex-direction:column;gap:20px}
.taxa-section h3{font-size:13px;letter-spacing:.03em;margin:0 0 8px}
.taxa-row{display:grid;grid-template-columns:160px 1fr 72px 120px auto;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line)}
.taxa-row.deprecated{opacity:.6}
.taxa-slug{font-family:var(--mono);font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.taxa-order{text-align:right}
@media (max-width:720px){.taxa-row{grid-template-columns:1fr 1fr}}

/* ── Events · new / special attendees + review queue ──────────────────────── */
.guest-flags{display:inline-flex;gap:6px;margin-top:4px}
.guest-flag{font-size:10px;border-radius:4px;padding:1px 6px;font-weight:600}
.guest-flag.new{background:var(--green-soft,rgba(22,120,80,.12));color:var(--green)}
.guest-flag.special{background:var(--cc-canvas);color:var(--amber)}
.event-special{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.sa-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.sa-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:var(--cc-canvas);border-radius:var(--radius);padding:10px 12px}
.sa-meta{font-size:11.5px;color:var(--ink-3);margin-top:3px}
.sa-form{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.attendee-firstseen{font-size:11.5px;color:var(--ink-3);margin:-4px 0 8px}
.review-queue{display:flex;flex-direction:column;gap:10px}
.review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0}
.review-row-l{min-width:0}
.review-row-r{display:flex;gap:8px;align-items:center;flex-shrink:0}

/* ── Events · drawer financials + photos ──────────────────────────────────── */
.event-financials,.event-photos{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.event-subhead{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 8px}
.plan-currency{width:5.5em;text-transform:uppercase}
.cosponsors{display:flex;flex-direction:column;gap:8px}
.cosponsor-row{display:flex;align-items:center;gap:10px;background:var(--cc-canvas);border-radius:var(--radius);padding:8px 10px}
.cosponsor-name{flex:1;min-width:0}
.cosponsor-name strong{display:block}
.cosponsor-note{font-size:11.5px;color:var(--ink-3)}
.cosponsor-amount{font-variant-numeric:tabular-nums;font-weight:600}
.cosponsor-add{display:grid;grid-template-columns:1.4fr .8fr 1fr auto;gap:8px;margin-top:4px}
.cosponsor-net{margin-top:10px;font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.photo-tile{position:relative;margin:0;background:var(--cc-canvas);border-radius:var(--radius);overflow:hidden}
.photo-tile img{width:100%;height:120px;object-fit:cover;display:block}
.photo-tile figcaption{font-size:11px;color:var(--ink-2);padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:99px;background:rgba(14,31,25,.7);color:#fff;cursor:pointer;line-height:1;font-size:15px}
.photo-uploader{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.photo-uploader>span{font-size:12px;color:var(--ink-2);font-weight:600}
.photo-upload-status{font-size:12px;color:var(--ink-3)}

/* new-attendee tag + recurring series */
.plan-new-tag{margin-left:8px;font-size:11px;font-weight:600;color:var(--green);background:var(--green-soft);border-radius:99px;padding:1px 7px}
.plan-side-h2{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.plan-series{display:flex;flex-direction:column;gap:10px}
.plan-series-card{background:var(--cc-canvas);border-radius:var(--radius);padding:10px}
.plan-series-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.plan-series-head strong{font-size:13px}
.plan-series-head span{font-size:11px;color:var(--ink-3);white-space:nowrap}
.plan-series-runs{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0 6px}
.plan-series-run{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--green-soft);color:var(--green);border-radius:5px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.plan-series-run.upcoming{background:var(--teal-soft);color:var(--teal)}
.plan-series-foot{font-size:11px;color:var(--ink-3)}

.cosponsor-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ── Events · collapsible drawer sections (Nigel: kill the wall of panels) ─── */
.drawer-collapsible{border-top:1px solid var(--line)}
.drawer-collapsible-h{cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:13px 0;font-weight:600;font-size:13.5px;list-style:none;user-select:none}
.drawer-collapsible-h::-webkit-details-marker{display:none}
.drawer-collapsible-h .dc-title::before{content:"\25B8";color:var(--ink-3);margin-right:8px;font-size:11px;display:inline-block;transition:transform .15s ease}
.drawer-collapsible[open] > .drawer-collapsible-h .dc-title::before{transform:rotate(90deg)}
.drawer-collapsible-h .dc-sub{color:var(--ink-3);font-weight:400;font-size:12px}
/* The summary is the only heading: hide the wrapped section's redundant h3 and
   its top rule, but keep any count span as a quiet sub-line. */
.drawer-collapsible .event-section-head h3{display:none}
.drawer-collapsible .event-section-head{border:0;margin:0;padding:0 0 6px;justify-content:flex-start;font-size:11.5px;color:var(--ink-3)}
.drawer-collapsible > :not(summary){border-top:0;margin-top:0;padding-top:2px;padding-bottom:10px}
.pe-nonexclusive{color:var(--ink-3);font-weight:400;font-size:10px}

/* ═══ Command Center — cool-neutral operating surface (Phase 1) ═══════════════
   Scoped under .cc so existing cream/gilt views are untouched until the Phase 8
   global retoken. Green is reserved for healthy/success only, as a small accent. */
.cc{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C; --cc-r:8px;
  margin:-30px -38px -64px; padding:26px 38px 60px; min-height:calc(100vh - 56px);
  background:var(--cc-canvas); color:var(--cc-ink);
  font-family:var(--font); -webkit-font-smoothing:antialiased;
}
.cc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.cc-title{font-size:26px;font-weight:650;letter-spacing:0;line-height:1.1;color:var(--cc-ink)}
.cc-sub{font-size:14px;color:var(--cc-ink-2);margin-top:5px;max-width:60ch;line-height:1.45}
.cc-asof{font-size:12px;color:var(--cc-ink-2);text-align:right;white-space:nowrap;line-height:1.6}
.cc-asof .cc-reviewed{display:inline-flex;align-items:center;gap:5px;color:var(--cc-green);font-weight:500}

/* Health strip — compact, one honest status per source. */
.cc-health{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.cc-hpill{display:flex;align-items:center;gap:9px;background:var(--cc-surface);border:1px solid var(--cc-line);
  border-radius:var(--cc-r);padding:8px 13px 8px 11px;min-width:0}
.cc-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--cc-ink-2)}
.cc-hpill .cc-hl{font-size:12.5px;font-weight:600;color:var(--cc-ink)}
.cc-hpill .cc-hd{font-size:11.5px;color:var(--cc-ink-2)}
.is-healthy .cc-dot{background:var(--cc-green)} .is-watch .cc-dot{background:var(--cc-teal)}
.is-delayed .cc-dot{background:var(--cc-warn)} .is-attention .cc-dot{background:var(--cc-danger)}
.is-unavailable .cc-dot,.is-unknown .cc-dot{background:#AEB6BF;box-shadow:inset 0 0 0 2px var(--cc-surface),inset 0 0 0 3px #AEB6BF}

/* Two-column operating layout: primary work queue + secondary rail. */
.cc-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:start}
.cc-sec-h{display:flex;align-items:baseline;gap:8px;margin:0 2px 10px}
.cc-sec-h b{font-size:14px;font-weight:650;color:var(--cc-ink)}
.cc-sec-h .cc-count{font-size:12px;color:var(--cc-ink-2);font-variant-numeric:tabular-nums}
.cc-sec-h .cc-mut{font-size:12px;color:var(--cc-ink-2);margin-left:auto}

/* Work queue — divided rows in ONE surface (not a wall of cards). */
.cc-queue{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden}
.cc-item{display:block;padding:14px 16px 13px;border-top:1px solid var(--cc-line);border-left:3px solid transparent}
.cc-item:first-child{border-top:0}
.cc-item.sev-high{border-left-color:var(--cc-danger)} .cc-item.sev-medium{border-left-color:var(--cc-warn)}
.cc-item.sev-low{border-left-color:var(--cc-teal)}
.cc-item-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cc-item-title{font-size:14px;font-weight:600;color:var(--cc-ink);line-height:1.3}
.cc-item-reason{font-size:13px;color:var(--cc-ink-2);line-height:1.45;margin-top:3px}
.cc-item-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:var(--cc-ink-2)}
.cc-item-meta .cc-owner{color:var(--cc-ink);font-weight:500}
.cc-chip{font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#EEF1F4;border-radius:5px;padding:2px 7px;letter-spacing:.01em}
.cc-ev{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:5px}
.cc-ev.measured{color:var(--cc-green);background:#E7F0EC} .cc-ev.derived{color:var(--cc-info);background:#E9EFF6}
.cc-ev.assumed{color:var(--cc-warn);background:#EEF1F4} .cc-ev.unavailable{color:var(--cc-ink-2);background:#EEF1F4}
.cc-tagack{font-size:11px;color:var(--cc-teal);font-weight:600;margin-left:auto}

/* Row actions — ghost buttons + inline forms, no browser dialogs. */
.cc-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.cc-btn{font:inherit;font-size:12px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:6px;padding:5px 10px;cursor:pointer;transition:border-color .12s,background .12s}
.cc-btn:hover{border-color:#B9C1CA} .cc-btn:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.cc-btn.cc-primary{background:var(--cc-green);border-color:var(--cc-green);color:#fff}
.cc-btn.cc-primary:hover{background:#123c30}
.cc-btn.cc-link{border-color:transparent;background:transparent;color:var(--cc-info);padding:5px 6px}

/* Command Center calm-decision controls (E1) */
.cc-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.cc-fl{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--cc-ink-2,#5A6570)}
.cc-fin{font:inherit;font-size:12.5px;padding:5px 8px;border:1px solid var(--cc-line,#D8DEE4);border-radius:6px;background:var(--cc-surface,#fff);max-width:150px}
.cc-more{position:relative;display:inline-block}
.cc-morebtn[aria-haspopup]{padding:5px 10px}
.cc-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;gap:2px;min-width:150px;
  background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D8DEE4);border-radius:8px;padding:4px;box-shadow:0 6px 20px rgba(20,26,30,.12)}
.cc-menu .cc-btn{border-color:transparent;text-align:left;width:100%}
.cc-menu .cc-btn:hover{background:#F4F6F8}
.cc-acts{align-items:center;justify-content:space-between}

.cc-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding:11px;background:#F7F9FB;
  border:1px solid var(--cc-line);border-radius:7px}
.cc-form input,.cc-form textarea{font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:6px;padding:6px 9px}
.cc-form input[type=date]{min-width:150px} .cc-form input.cc-grow{flex:1;min-width:180px}
.cc-form textarea{flex:1;min-width:220px;min-height:38px;resize:vertical}

/* Secondary rail — upcoming (bucketed) + since-last-visit timeline + quick create. */
.cc-rail{display:flex;flex-direction:column;gap:20px}
.cc-panel{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:14px 16px}
.cc-up-bucket{margin-top:12px} .cc-up-bucket:first-child{margin-top:4px}
.cc-up-lbl{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--cc-ink-2);margin-bottom:6px}
.cc-up-row{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-top:1px solid #EDF0F3;font-size:13px}
.cc-up-row:first-of-type{border-top:0}
.cc-up-when{font-size:11.5px;color:var(--cc-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:64px}
.cc-up-title{color:var(--cc-ink);line-height:1.35}
.cc-tl-row{display:flex;gap:11px;padding:8px 0;border-top:1px solid #EDF0F3;font-size:13px}
.cc-tl-row:first-child{border-top:0}
.cc-tl-when{font-size:11.5px;color:var(--cc-ink-2);white-space:nowrap;min-width:58px}
.cc-quick{display:flex;flex-wrap:wrap;gap:8px}
.cc-empty{font-size:13px;color:var(--cc-ink-2);padding:12px 2px;line-height:1.5}
.cc-err{background:#FdF2F1;border:1px solid #F1C9C4;color:#8a2a1f;border-radius:8px;padding:12px 14px;font-size:13px}

@media (max-width:1024px){.cc-grid{grid-template-columns:1fr}}
@media (max-width:640px){.cc{margin:-30px -20px -64px;padding:20px 18px 56px}.cc-head{flex-direction:column;gap:10px}.cc-asof{text-align:left}}

/* ═══ R3 Personal Command Center — fixed critical strip + module grid ═════════ */
/* The fixed, non-disableable attention strip. Renders only when there is something
   genuinely critical; a calm cool-neutral band with a restrained danger accent. */
.cc-crit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:#FCF3F2;border:1px solid #F1C9C4;
  border-left:3px solid var(--cc-danger);border-radius:var(--cc-r);padding:10px 14px;margin-bottom:16px}
.cc-crit-tag{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-danger)}
.cc-crit-item{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--cc-ink);font-size:13px;
  padding:2px 4px;border-radius:5px}
.cc-crit-item:hover{background:#F8E7E5}
.cc-crit-l{font-weight:600}
.cc-crit-m{font-size:12px;color:var(--cc-ink-2);font-variant-numeric:tabular-nums}

/* Personalized home header + module grid. */
.cc-home{margin-bottom:22px}
.cc-home-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.cc-home-title{font-size:15px;font-weight:700;color:var(--cc-ink);margin:0;letter-spacing:.005em}
.cc-home-role{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--cc-ink-2)}
.cc-home-role-src{font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--cc-ink-2);
  background:#EEF1F4;border-radius:5px;padding:2px 7px}
.cc-home-err{font-size:13px;color:var(--cc-ink-2);padding:10px 2px}

/* A responsive grid; module size maps to column span. */
.cc-modgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.cc-mod{grid-column:span 2;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;
  padding:14px 16px 12px;display:flex;flex-direction:column;min-height:0}
.cc-mod-compact{grid-column:span 1}
.cc-mod-standard{grid-column:span 2}
.cc-mod-wide{grid-column:span 4}
.cc-mod.st-failed{border-color:#F1C9C4} .cc-mod.st-partial{border-color:#E7D8B6} .cc-mod.st-stale{border-color:#E7D8B6}
.cc-mod-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cc-mod-title{font-size:13.5px;font-weight:700;color:var(--cc-ink);line-height:1.3}
.cc-mod-badge{font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:5px;padding:2px 6px}
.cc-mod-badge.b-stale,.cc-mod-badge.b-partial{color:var(--cc-warn);background:#F6EFDD}
.cc-mod-badge.b-processing{color:var(--cc-info);background:#E8EFF7}
.cc-mod-badge.b-failed{color:var(--cc-danger);background:#FCF3F2}
.cc-mod-summary{font-size:12.5px;color:var(--cc-ink-2);line-height:1.4;margin-top:3px}
.cc-mod-src{font-size:11px;color:var(--cc-ink-3);margin-top:2px}

/* R6 signals bell in the Command Center home head. */
.cc-home-bell{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--cc-ink-2,#5E6872);text-decoration:none;border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;padding:5px 10px}
.cc-home-bell:hover{color:var(--cc-ink,#151A1E);background:var(--cc-surface-2,#F4F6F8)}
.cc-home-bell.has-unread{color:var(--cc-green,#174C3C);border-color:#CBD9D1}
.cc-bell-badge{background:var(--cc-green,#174C3C);color:#fff;border-radius:9px;font-size:10.5px;font-weight:700;padding:1px 6px;font-variant-numeric:tabular-nums}

/* R9 controlled admin configuration surface. */
.cc-home-admin{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--cc-ink-2,#5E6872);text-decoration:none;border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;padding:5px 10px}
.cc-home-admin:hover{color:var(--cc-ink,#151A1E);background:var(--cc-surface-2,#F4F6F8)}
.acfg-wrap{max-width:880px}
.acfg-intro{font-size:13px;color:var(--cc-ink-2,#5E6872);line-height:1.5;margin:6px 0 16px}
.acfg-empty{font-size:13px;color:var(--cc-ink-2,#5E6872);padding:12px 2px}
.acfg-card{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.acfg-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.acfg-name{font-size:14px;font-weight:700;color:var(--cc-ink,#151A1E)}
.acfg-ver{font-size:11.5px;color:var(--cc-ink-2,#5E6872);font-variant-numeric:tabular-nums}
.acfg-modgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.acfg-mod{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cc-ink,#151A1E)}
.acfg-actions{margin-top:12px}
@media (max-width:640px){.acfg-modgrid{grid-template-columns:1fr}}

/* R6 personal signals inbox — calm, severity-ordered, evidence-forward. */
.sig-wrap{max-width:860px}
.sig-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 12px}
.sig-count{font-size:13px;color:var(--cc-ink-2,#5E6872);font-variant-numeric:tabular-nums}
.sig-btn{font-size:12px;font-weight:600;color:var(--cc-ink,#151A1E);background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;padding:5px 10px;cursor:pointer;text-decoration:none;line-height:1.2}
.sig-btn:hover{background:var(--cc-surface-2,#F4F6F8);border-color:#C6CDD5}
.sig-open{color:var(--cc-green,#174C3C);border-color:#CBD9D1}
.sig-dismiss{color:var(--cc-ink-2,#5E6872)}
.sig-subs{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.sig-subs-h{font-size:12px;font-weight:700;color:var(--cc-ink-2,#5E6872);letter-spacing:.01em;margin-top:4px}
.sig-sub{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cc-ink,#151A1E)}
.sig-list{display:flex;flex-direction:column;gap:10px}
.sig-row{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-left:3px solid #c6cdd5;border-radius:9px;padding:12px 14px}
.sig-row.sev-critical{border-left-color:var(--cc-danger,#B42318)}
.sig-row.sev-attention{border-left-color:var(--cc-warn,#9A6700)}
.sig-row.sev-info{border-left-color:var(--cc-teal,#2D6F73)}
.sig-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sig-dot{width:7px;height:7px;border-radius:50%;background:#c6cdd5;flex:none}
.sev-critical .sig-dot{background:var(--cc-danger,#B42318)} .sev-attention .sig-dot{background:var(--cc-warn,#9A6700)} .sev-info .sig-dot{background:var(--cc-teal,#2D6F73)}
.sig-sev{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-ink-2,#5E6872)}
.sig-title{font-size:14px;font-weight:600;color:var(--cc-ink,#151A1E);line-height:1.3}
.sig-unread{color:var(--cc-green,#174C3C);font-size:9px;margin-left:auto}
.sig-body{font-size:13px;color:var(--cc-ink-2,#5E6872);margin-top:4px;line-height:1.45}
.sig-evidence{font-size:11.5px;color:var(--cc-ink-3,#646C76);margin-top:4px;font-variant-numeric:tabular-nums}
.sig-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:11.5px;color:var(--cc-ink-2,#5E6872)}
.sig-src{background:#EEF1F4;border-radius:5px;padding:1px 7px;font-weight:600}
.sig-locked{color:var(--cc-danger,#B42318)}
.sig-acts{display:flex;align-items:center;gap:10px;margin-top:11px}
.sig-empty{font-size:13px;color:var(--cc-ink-2,#5E6872);padding:14px 2px;line-height:1.5}

/* R7 provenance component — one consistent, restrained treatment for decision-grade facts. */
.prov{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--cc-ink-3,#646C76);line-height:1.4;position:relative;flex-wrap:wrap}
.prov-dot{width:6px;height:6px;border-radius:50%;background:#9aa4ae;flex:none}
.prov.st-current .prov-dot{background:var(--cc-green,#174C3C)}
.prov.st-stale .prov-dot,.prov.st-partial .prov-dot{background:var(--cc-warn,#9A6700)}
.prov.st-processing .prov-dot{background:var(--cc-info,#315A8C)}
.prov.st-missing .prov-dot{background:#c6cdd5}
.prov.st-unavailable .prov-dot{background:var(--cc-danger,#B42318)}
.prov-sum{font-variant-numeric:tabular-nums}
.prov-more{border:0;background:none;color:var(--cc-ink-2,#5E6872);cursor:pointer;font-size:11px;line-height:1;padding:0 2px;border-radius:3px}
.prov-more:hover{color:var(--cc-ink,#151A1E)}
.prov-more:focus-visible{outline:2px solid var(--cc-green,#174C3C);outline-offset:1px}
.prov-detail{flex-basis:100%;margin-top:6px;padding:8px 10px;background:var(--cc-surface-2,#F4F6F8);border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;display:flex;flex-direction:column;gap:4px}
.prov-row{display:flex;gap:8px;font-size:11.5px}
.prov-k{color:var(--cc-ink-2,#5E6872);font-weight:600;min-width:88px;flex:none}
.prov-v{color:var(--cc-ink,#151A1E);line-height:1.4}
.cc-mod-items{margin-top:10px;display:flex;flex-direction:column}
.cc-mod-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-decoration:none;
  padding:6px 0;border-top:1px solid #EDF0F3;font-size:13px;color:var(--cc-ink)}
.cc-mod-item:first-child{border-top:0}
a.cc-mod-item:hover .cc-mod-il{color:var(--cc-green);text-decoration:underline}
.cc-mod-il{line-height:1.35;font-weight:500}
.cc-mod-im{font-size:11.5px;color:var(--cc-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}
.cc-mod-empty{margin-top:10px;font-size:12.5px;color:var(--cc-ink-3);line-height:1.5}
.cc-mod-foot{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:11px}
.cc-mod-act{font-size:12px;font-weight:600;color:var(--cc-green);text-decoration:none}
.cc-mod-act:hover{text-decoration:underline}
.cc-mod-drill{font-size:12px;color:var(--cc-ink-2);text-decoration:none;margin-left:auto}
.cc-mod-drill:hover{color:var(--cc-ink);text-decoration:underline}

/* R3 slice 2 — composition (edit mode). Calm, keyboard-accessible controls. */
.cc-home-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-layout-select{font-size:12.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);
  border-radius:6px;padding:5px 8px;max-width:200px;cursor:pointer}
.cc-layout-select:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.cc-ctl-btn{font-size:12px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);
  border-radius:6px;padding:5px 10px;cursor:pointer;line-height:1.2}
.cc-ctl-btn:hover{background:var(--cc-surface-2,#F4F6F8);border-color:#C6CDD5}
.cc-ctl-btn:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.cc-ctl-btn:disabled{opacity:.45;cursor:not-allowed}
.cc-home-edit,.cc-home-save{color:#fff;background:var(--cc-green);border-color:var(--cc-green)}
.cc-home-edit:hover,.cc-home-save:hover{background:#123c30;border-color:#123c30}
.cc-home-reset{color:var(--cc-danger);border-color:#E7C4C0}
.cc-home-reset:hover{background:#FCF3F2;border-color:var(--cc-danger)}
.cc-home-editing .cc-mod{position:relative;border-style:dashed;border-color:#C6CDD5}
.cc-mod-ctl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px dashed #DCE1E7}
.cc-mod-ctl .cc-ctl-btn{padding:4px 8px;font-size:11.5px}
.cc-ctl-size{min-width:74px}
.cc-ctl-remove{color:var(--cc-danger);border-color:#E7C4C0;margin-left:auto}
.cc-ctl-remove:hover{background:#FCF3F2;border-color:var(--cc-danger)}
.cc-empty-slot{grid-column:span 2;border:1px dashed #C6CDD5;background:#F8FAFB;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:4px;min-height:96px}
.cc-empty-slot-t{font-size:13.5px;font-weight:700;color:var(--cc-ink)}
.cc-empty-slot-d{font-size:12.5px;color:var(--cc-ink-2)}
.cc-chooser{margin-top:16px;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:14px 16px}
.cc-chooser-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.cc-chooser-t{font-size:13px;font-weight:700;color:var(--cc-ink)}
.cc-chooser-c{font-size:11.5px;color:var(--cc-ink-2);font-variant-numeric:tabular-nums}
.cc-chooser-empty{font-size:12.5px;color:var(--cc-ink-3)}
.cc-chooser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.cc-chooser-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #EDF0F3}
.cc-chooser-item:nth-child(-n+2){border-top:0}
.cc-chooser-il{font-size:13px;color:var(--cc-ink)}
.cc-chooser-add{padding:4px 12px}
/* shared team layouts browser (slice 4) */
.cc-home-publish{color:#fff;background:var(--cc-green);border-color:var(--cc-green)}
.cc-home-publish:hover{background:#123c30;border-color:#123c30}
.cc-team{margin-top:16px;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:14px 16px}
.cc-team-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.cc-team-t{font-size:13px;font-weight:700;color:var(--cc-ink)}
.cc-team-empty{font-size:12.5px;color:var(--cc-ink-3);padding:6px 0}
.cc-team-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #EDF0F3}
.cc-team-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.cc-team-name{font-size:13px;font-weight:600;color:var(--cc-ink)}
.cc-team-sub{font-size:11.5px;color:var(--cc-ink-2)}
.cc-team-copy{flex:none}
@media (max-width:640px){.cc-empty-slot{grid-column:span 1}.cc-chooser-grid{grid-template-columns:1fr}
  .cc-chooser-item:nth-child(2){border-top:1px solid #EDF0F3}}
@media (max-width:1024px){.cc-modgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cc-mod-compact,.cc-mod-standard{grid-column:span 1}.cc-mod-wide{grid-column:span 2}}
@media (max-width:640px){.cc-modgrid{grid-template-columns:1fr}
  .cc-mod-compact,.cc-mod-standard,.cc-mod-wide{grid-column:span 1}
  .cc-crit{flex-direction:column;align-items:flex-start;gap:6px}}

/* Shared saved-view control: one primary action, secondary lifecycle commands in a quiet menu. */
.sv-bar{display:grid;grid-template-columns:minmax(210px,320px) auto minmax(0,1fr);align-items:end;gap:10px;
  width:100%;min-width:0;padding:2px 0;color:var(--cc-ink)}
.sv-picker{display:flex;flex-direction:column;gap:5px;min-width:0}
.sv-label{font-size:10.5px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-ink-3)}
.sv-select{appearance:none;min-height:38px;width:100%;padding:0 34px 0 11px;font:inherit;font-size:12.5px;font-weight:600;
  color:var(--cc-ink);background:var(--cc-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%235E6872' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 11px center;
  border:1px solid var(--cc-line);border-radius:7px;cursor:pointer;transition:border-color 120ms,box-shadow 120ms}
.sv-select:hover{border-color:#AEB8C2}
.sv-select:focus-visible,.sv-btn:focus-visible,.sv-menu-toggle:focus-visible,.sv-menu-item:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px}
.sv-actions{display:flex;align-items:center;gap:7px;min-height:38px}
.sv-btn,.sv-menu-toggle{appearance:none;min-height:38px;padding:0 12px;font:inherit;font-size:12px;font-weight:650;line-height:1;
  border-radius:7px;cursor:pointer;white-space:nowrap;transition:background 120ms,border-color 120ms,color 120ms}
.sv-save{color:#FFF;background:var(--cc-green);border:1px solid var(--cc-green)}
.sv-save:hover{background:#103D31;border-color:#103D31}
.sv-menu-wrap{position:relative}
.sv-menu-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--cc-ink-2);background:var(--cc-surface);border:1px solid var(--cc-line)}
.sv-menu-toggle:hover,.sv-menu-toggle[aria-expanded="true"]{color:var(--cc-ink);background:var(--cc-surface-2);border-color:#AEB8C2}
.sv-chevron{font-size:14px;line-height:1;transform:translateY(-1px)}
.sv-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;width:190px;padding:6px;background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:8px;box-shadow:0 12px 30px rgba(20,30,38,.14)}
.sv-menu[hidden]{display:none}
.sv-menu-item{appearance:none;display:block;width:100%;min-height:34px;padding:0 9px;text-align:left;font:inherit;font-size:12px;
  font-weight:550;color:var(--cc-ink-2);background:transparent;border:0;border-radius:5px;cursor:pointer}
.sv-menu-item:hover,.sv-menu-item:focus{color:var(--cc-ink);background:var(--cc-surface-2)}
.sv-menu-item.danger{color:var(--cc-danger)}
.sv-menu-sep{height:1px;margin:5px 3px;background:var(--cc-line)}
.sv-meta{align-self:center;min-width:0;font-size:11.5px;color:var(--cc-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-savedviews{margin:2px 0 16px}
@media (max-width:640px){
  .sv-bar{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .sv-select{width:100%;max-width:none}
  .sv-actions{justify-content:flex-start}
  .sv-meta{white-space:normal}
}

/* ═══ Sites operating list (Phase 2) — one dense list, cool-neutral ═══════════ */
.sl{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C;
  --sl-cols:minmax(0,1.6fr) 94px 100px 72px 104px minmax(0,1fr) 22px;
  margin:-30px -38px -64px; padding:26px 38px 60px; min-height:calc(100vh - 56px);
  background:var(--cc-canvas); color:var(--cc-ink); font-family:var(--font); -webkit-font-smoothing:antialiased;
}
.sl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.sl-title{font-size:26px;font-weight:650;letter-spacing:0;line-height:1.1}
.sl-sub{font-size:14px;color:var(--cc-ink-2);margin-top:5px;max-width:66ch;line-height:1.45}
.sl-new{font:inherit;font-size:13px;font-weight:600;color:#fff;background:var(--cc-green);border:1px solid var(--cc-green);
  border-radius:7px;padding:8px 14px;cursor:pointer;white-space:nowrap;text-decoration:none}
.sl-new:hover{background:#123c30}
.sl-controls{margin:22px 0 12px;padding-bottom:14px;border-bottom:1px solid var(--cc-line)}
.sl-querybar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(170px,210px) auto;gap:10px;align-items:center}
.sl-filterbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}
.sl-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.sl-search{flex:1;min-width:200px;font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px}
.sl-search:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.sl-chips{display:flex;gap:5px;flex-wrap:wrap}
.sl-chip{font:inherit;font-size:12.5px;font-weight:600;color:var(--cc-ink-2);background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:6px;padding:6px 11px;cursor:pointer}
.sl-chip:hover{border-color:#B9C1CA}
.sl-chip.act{color:#fff;background:var(--cc-green);border-color:var(--cc-green)}
.sl-sort{font:inherit;font-size:12.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);
  border-radius:6px;padding:6px 9px}
.sl-count{font-size:12.5px;color:var(--cc-ink-2);margin-left:auto;font-variant-numeric:tabular-nums}
.sl-list{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden}
.sl-hdr{display:grid;grid-template-columns:var(--sl-cols);gap:14px;padding:9px 16px;
  font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.sl-hdr .num{text-align:left}
.sl-row{display:grid;grid-template-columns:var(--sl-cols);gap:14px;align-items:center;padding:12px 16px;
  border-top:1px solid var(--cc-line);cursor:pointer;transition:background .1s}
.sl-row:first-of-type{border-top:0}
.sl-row:hover{background:#F7F9FB}
.sl-row.open{background:#F7F9FB}
.sl-site{display:flex;align-items:center;gap:11px;min-width:0}
.sl-mono{width:34px;height:34px;flex:none;border-radius:7px;background:#EBF0EE;color:var(--cc-green);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.sl-txt{min-width:0}
.sl-name{font-size:14px;font-weight:600;color:var(--cc-ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-name a{color:inherit;text-decoration:none} .sl-name a:hover{text-decoration:underline}
.sl-meta{font-size:12px;color:var(--cc-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-meta .mono{font-family:var(--mono,ui-monospace,monospace)}
.sl-pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap;justify-self:start}
.sl-pill.live{color:var(--cc-green);background:#E7F0EC} .sl-pill.draft{color:var(--cc-ink-2);background:#EEF1F4}
.sl-pill.offline{color:var(--cc-warn);background:#EEF1F4} .sl-pill.deleted{color:var(--cc-danger);background:#FBEBE9}
.sl-pill.pending{color:var(--cc-info);background:#E9EFF6}
.sl-cell{font-size:13px;color:var(--cc-ink-2);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-health{font-size:12.5px;color:var(--cc-ink-2)} .sl-health.issue{color:var(--cc-warn);font-weight:500}
.sl-health.ok{color:#8A929B}
.sl-chev{color:#646C76;font-size:12px;justify-self:center;transition:transform .12s}
.sl-row.open .sl-chev{transform:rotate(90deg)}
.sl-detail{padding:14px 16px 16px 61px;border-top:1px solid #EDF0F3;background:#FBFCFD}
.sl-kv{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:12px}
.sl-kv div{font-size:12.5px;color:var(--cc-ink-2)} .sl-kv b{color:var(--cc-ink);font-weight:600}
.sl-acts{display:flex;gap:7px;flex-wrap:wrap}
.sl-integrity{margin:10px 0 12px;padding-top:10px;border-top:1px dashed #EDF0F3}
.sl-integrity-when{font-size:11.5px;color:#8A929B;margin-bottom:6px}
.sl-integrity-issue{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sl-integrity-summary{font-size:13px;color:var(--cc-warn,#9A6700);font-weight:500}
.sl-integrity-ack{font-size:12.5px;color:var(--cc-ink-2)}
.sl-integrity-ok{font-size:12.5px;color:#8A929B}
.sl-integrity-detail{margin-top:6px}
.sl-integrity-detail>summary{font-size:11.5px;color:#8A929B;cursor:pointer}
.sl-integrity-tech{font-size:11px;color:#8A929B;word-break:break-all;margin-top:3px}
.sl-btn{font:inherit;font-size:12.5px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);
  border:1px solid var(--cc-line);border-radius:6px;padding:6px 11px;cursor:pointer;text-decoration:none}
.sl-btn:hover{border-color:#B9C1CA} .sl-btn.link{border-color:transparent;background:transparent;color:var(--cc-info);padding:6px 4px}
.sl-empty{padding:26px 16px;font-size:13px;color:var(--cc-ink-2)}
.sl-err{background:#FdF2F1;border:1px solid #F1C9C4;color:#8a2a1f;border-radius:8px;padding:12px 14px;font-size:13px}
@media (max-width:760px){
  .sl{margin:-30px -20px -64px;padding:20px 18px 56px}
  .sl-querybar{grid-template-columns:1fr}
  .sl-sort{width:100%;min-height:38px}
  .sl-count{margin-left:0}
  .sl-filterbar{align-items:stretch;flex-direction:column}
  .sl-hdr{display:none}
  .sl-row{grid-template-columns:1fr;gap:7px}
  .sl-pill,.sl-cell,.sl-health{justify-self:start}
  .sl-cell::before,.sl-health::before{content:attr(data-label) " · ";color:#646C76;font-size:11px}
  .sl-chev{display:none}
  .sl-detail{padding-left:16px}
}

@media (max-width:1180px) and (min-width:761px){.site-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.site-preview-grid{grid-template-columns:1fr}.site-preview-frame{min-height:0}}

.sl-div{width:1px;height:20px;background:var(--cc-line);margin:0 3px;align-self:center}

/* ═══ Site detail — cool-neutral scoped restyle (Phase 2 slice 3) ═════════════
   Scoped under .sd so only site-detail is affected. Zero JS logic changed — the
   view renders its existing markup; these rules re-skin it to match the Command
   Center / Sites system until the Phase 8 global retoken. */
.sd{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C;
  margin:-30px -38px -64px; padding:26px 38px 60px; min-height:calc(100vh - 56px);
  background:var(--cc-canvas); color:var(--cc-ink); font-family:var(--font);
}
.sd .view-head{border-bottom:1px solid var(--cc-line);padding-bottom:16px;margin-bottom:0}
.sd .view-eye{font-family:var(--font);font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--cc-info)}
.sd a.view-eye:hover{color:var(--cc-green)}
.sd .view-h{font-family:var(--font);font-size:24px;font-weight:650;letter-spacing:0;color:var(--cc-ink)}
.sd .view-deck{font-size:13.5px;color:var(--cc-ink-2)} .sd .view-deck a{color:var(--cc-info)}
/* Tabs — quiet underline, green active. */
.sd .tabs{display:flex;gap:2px;border-bottom:1px solid var(--cc-line);margin:14px 0 20px;overflow-x:auto}
.sd .tab{font-size:13.5px;font-weight:600;color:var(--cc-ink-2);padding:9px 13px;border:0;border-bottom:2px solid transparent;background:none;text-decoration:none;white-space:nowrap}
.sd .tab:hover{color:var(--cc-ink)}
.sd .tab.act{color:var(--cc-ink);border-bottom-color:var(--cc-green)}
/* Cards — flat surface, no cream, no shadow. */
.sd .card{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;box-shadow:none;padding:16px 18px;margin-bottom:16px}
.sd .card-h{font-family:var(--font);font-size:15px;font-weight:650;color:var(--cc-ink);margin:0 0 4px}
.sd .card-deck{font-size:13px;color:var(--cc-ink-2);line-height:1.5}
.sd .card-empty{font-size:13px;color:var(--cc-ink-2);padding:14px 0}
.sd .card-error{background:#FdF2F1;border:1px solid #F1C9C4;color:#8a2a1f;border-radius:8px;padding:12px 14px;font-size:13px}
.sd .card-loading{font-size:13px;color:var(--cc-ink-2)}
/* Key-value blocks. */
.sd .kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:0}
.sd .kv dt{font-size:12.5px;color:var(--cc-ink-2)} .sd .kv dd{font-size:13.5px;color:var(--cc-ink);margin:0}
.sd .mono{font-family:var(--mono,ui-monospace,monospace)}
/* Pills. */
.sd .pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px}
.sd .pill-live{color:var(--cc-green);background:#E7F0EC} .sd .pill-draft{color:var(--cc-ink-2);background:#EEF1F4}
.sd .pill-archived{color:var(--cc-warn);background:#EEF1F4} .sd .pill-blocked{color:var(--cc-danger);background:#FBEBE9}
.sd .pill-pending{color:var(--cc-info);background:#E9EFF6}
/* Buttons. */
.sd .btn{font:inherit;font-size:13px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:7px 13px;cursor:pointer}
.sd .btn:hover{border-color:#B9C1CA} .sd .btn:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.sd .btn-primary{color:#fff;background:var(--cc-green);border-color:var(--cc-green)} .sd .btn-primary:hover{background:#123c30}
.sd .btn-secondary{color:var(--cc-ink);background:var(--cc-surface)}
.sd .btn-sm{font-size:12px;padding:5px 10px}
.sd .btn:disabled{opacity:.55;cursor:default}
/* Inputs. */
.sd .input,.sd .textarea{font:inherit;font-size:13.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px;width:100%}
.sd .textarea{min-height:70px;resize:vertical}
.sd .input:focus,.sd .textarea:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.sd .field-l{font-size:12.5px;font-weight:600;color:var(--cc-ink);margin-bottom:5px}
.sd .field-help{font-size:12px;color:var(--cc-ink-2)}
/* Tables. */
.sd .tbl{width:100%;border-collapse:collapse;font-size:13px}
.sd .tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-ink-2);padding:8px 10px;border-bottom:1px solid var(--cc-line)}
.sd .tbl td{padding:9px 10px;border-bottom:1px solid #EDF0F3;color:var(--cc-ink)}
.sd .table-sub{font-size:12px;color:var(--cc-ink-2)}
/* Analytics sub-cards. */
.sd .analytics-card{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:14px 16px}
.sd .analytics-card-head{font-size:13px;font-weight:650;color:var(--cc-ink)}
.sd .analytics-table{width:100%;font-size:13px}
/* Release workbench — demote the dominant dark-green hero to a light surface. */
.sd .release-workbench{border:1px solid var(--cc-line);border-radius:10px;background:var(--cc-surface);overflow:hidden}
.sd .release-workbench-head{background:#F7F9FB;color:var(--cc-ink);border-bottom:1px solid var(--cc-line)}
.sd .release-workbench-head .view-eye{color:var(--cc-green);margin-bottom:6px;font-family:var(--font);text-transform:none;letter-spacing:0;font-weight:700;font-size:11.5px}
.sd .release-workbench-head h2{font-family:var(--font);font-size:19px;font-weight:650;color:var(--cc-ink)}
.sd .release-workbench-head p{color:var(--cc-ink-2)}
.sd .release-workbench-head .release-current span{color:var(--cc-ink-2)}
.sd .release-workbench-head .release-current strong{color:var(--cc-ink)}
.sd .release-workbench-head .release-current em{color:var(--cc-ink-2)}
.sd .release-workbench-body{background:var(--cc-surface)}
.sd .release-source-label{color:var(--cc-ink-2)}
.sd .release-stage-index{color:var(--cc-ink-2)} .sd .release-stage-label{color:var(--cc-ink)}

/* ═══ People directory (Phase 4) — dense master list + split detail drawer ════ */
.pp{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C;
  --pp-cols:minmax(0,1.4fr) minmax(0,0.95fr) minmax(0,0.8fr) 90px 118px 76px 72px 100px;
  margin:-30px -38px -64px; padding:26px 38px 60px; min-height:calc(100vh - 56px);
  background:var(--cc-canvas); color:var(--cc-ink); font-family:var(--font); -webkit-font-smoothing:antialiased;
}
.pp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.pp-title{font-size:26px;font-weight:650;letter-spacing:0;line-height:1.1}
.pp-sub{font-size:14px;color:var(--cc-ink-2);margin-top:5px;max-width:66ch;line-height:1.45}
.fo-savedviews{margin:0 0 10px}
.pp-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.pp-filter{font:inherit;font-size:12px;color:var(--cc-ink-2);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:999px;padding:6px 13px;cursor:pointer}
.pp-filter:hover{border-color:var(--cc-green)}
.pp-filter.on{background:var(--cc-green);color:#fff;border-color:var(--cc-green)}
.pp-badge-portfolio{display:inline-block;margin-left:8px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--cc-green);background:rgba(23,76,60,.10);border:1px solid rgba(23,76,60,.22);border-radius:4px;padding:1px 6px;vertical-align:middle}
.pp-search{flex:1;min-width:200px;font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px}
.pp-search:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.pp-chips{display:flex;gap:5px;flex-wrap:wrap}
.pp-chip{font:inherit;font-size:12.5px;font-weight:600;color:var(--cc-ink-2);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:6px;padding:6px 11px;cursor:pointer}
.pp-chip:hover{border-color:#B9C1CA} .pp-chip.act{color:#fff;background:var(--cc-green);border-color:var(--cc-green)}
.pp-div{width:1px;height:20px;background:var(--cc-line);margin:0 3px;align-self:center}
.pp-count{font-size:12.5px;color:var(--cc-ink-2);margin-left:auto;font-variant-numeric:tabular-nums}
.pp-list{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden}
.pp-hdr,.pp-row{display:grid;grid-template-columns:var(--pp-cols);gap:14px;padding:11px 16px}
.pp-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.pp-row{align-items:center;border-top:1px solid var(--cc-line);cursor:pointer;transition:background .1s}
.pp-row:first-of-type{border-top:0} .pp-row:hover,.pp-row.sel{background:#F7F9FB}
.pp-person{min-width:0} .pp-name{font-size:14px;font-weight:600;color:var(--cc-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-email{font-size:12px;color:var(--cc-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-cell{font-size:13px;color:var(--cc-ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-cell .pp-mut{color:var(--cc-ink-2);font-size:12px}
.pp-num{font-size:13px;color:var(--cc-ink);font-variant-numeric:tabular-nums}
.pp-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;justify-self:start;white-space:nowrap}
.pp-status.complete{color:var(--cc-green);background:#E7F0EC} .pp-status.missing_info{color:var(--cc-warn);background:#EEF1F4}
.pp-status.conflict{color:var(--cc-danger);background:#FBEBE9} .pp-status.possible_duplicate{color:var(--cc-info);background:#E9EFF6}
.pp-status.unclassified{color:var(--cc-ink-2);background:#EEF1F4}
.pp-more{display:flex;justify-content:center;padding:12px}
.pp-morebtn{font:inherit;font-size:12.5px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:7px 16px;cursor:pointer}
.pp-empty{padding:26px 16px;font-size:13px;color:var(--cc-ink-2)}
.pp-err{background:#FdF2F1;border:1px solid #F1C9C4;color:#8a2a1f;border-radius:8px;padding:12px 14px;font-size:13px}

/* Detail drawer (right-docked; full-width overlay on narrow). */
.pp-scrim{position:fixed;inset:0;background:rgba(21,26,30,.34);z-index:1000}
/* The drawer + scrim are appended to <body>, outside the .pp scope, so the cool-neutral tokens are
   redeclared here or var() would resolve to nothing (transparent background). */
.pp-drawer{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700;
  --cc-danger:#B42318; --cc-info:#315A8C;
  position:fixed;top:0;right:0;height:100vh;width:min(480px,100vw);background:var(--cc-surface);
  border-left:1px solid var(--cc-line);box-shadow:-8px 0 28px rgba(21,26,30,.14);z-index:1001;overflow-y:auto;
  font-family:var(--font);color:var(--cc-ink)}
.pp-dhead{position:sticky;top:0;background:var(--cc-surface);border-bottom:1px solid var(--cc-line);padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pp-dname{font-size:18px;font-weight:650;line-height:1.2}
.pp-dsub{font-size:12.5px;color:var(--cc-ink-2);margin-top:3px}
.pp-close{font:inherit;font-size:18px;line-height:1;color:var(--cc-ink-2);background:none;border:0;cursor:pointer;padding:2px 6px;border-radius:6px}
.pp-close:hover{background:#EEF1F4;color:var(--cc-ink)}
.pp-sec{padding:16px 20px;border-bottom:1px solid #EDF0F3}
.pp-sec-h{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cc-ink-2);margin:0 0 10px}
.pp-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}
.pp-sec-head .pp-sec-h{margin:0}
.pp-sec-link{font-size:12px;font-weight:600;color:var(--teal,#2D6F73);text-decoration:none;white-space:nowrap}
.pp-sec-link::after{content:" \2192"}
.pp-sec-link:hover{text-decoration:underline}
.pp-field{display:grid;grid-template-columns:118px 1fr;gap:6px 12px;padding:4px 0;font-size:13px;align-items:baseline}
.pp-field dt{color:var(--cc-ink-2);font-size:12.5px} .pp-field dd{margin:0;color:var(--cc-ink)}
.pp-prov{font-size:10.5px;color:#646C76;margin-left:6px}
.pp-restricted{color:#646C76;font-style:italic}
.pp-tl-row{display:flex;gap:11px;padding:8px 0;border-top:1px solid #EDF0F3;font-size:13px;align-items:baseline}
.pp-tl-row:first-child{border-top:0}
.pp-tl-dot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px}
.pp-tl-dot.events{background:var(--cc-teal)} .pp-tl-dot.sites{background:var(--cc-info)}
.pp-tl-when{font-size:11.5px;color:var(--cc-ink-2);white-space:nowrap;min-width:56px}
.pp-tl-body{min-width:0} .pp-tl-body a{color:var(--cc-info);text-decoration:none} .pp-tl-body a:hover{text-decoration:underline}
.pp-tl-kind{font-size:11px;font-weight:600;color:var(--cc-ink-2)}
.pp-dq{font-size:13px;color:var(--cc-ink-2);line-height:1.5}
.pp-dq .pp-flag{display:inline-block;font-size:11px;font-weight:600;color:var(--cc-warn);background:#EEF1F4;border-radius:5px;padding:2px 7px;margin:2px 4px 2px 0}
@media (max-width:900px){.pp-drawer{width:100vw;border-left:0}}
/* Tablet range: the 8-column People grid would squeeze its flexible columns until the ORGANIZATION and
   TITLE/TYPE headers collide. Keep the columns at their intended widths and let the list scroll inside
   its own region (the page never scrolls horizontally). Below 760px the card layout takes over. */
@media (min-width:761px) and (max-width:1100px){
  .pp-list{overflow-x:auto}
  .pp-hdr,.pp-row{min-width:840px}
}
@media (max-width:760px){
  .pp{margin:-30px -20px -64px;padding:20px 18px 56px}
  .pp-hdr{display:none}
  .pp-row{grid-template-columns:1fr;gap:6px}
  .pp-cell,.pp-num,.pp-status{justify-self:start}
  .pp-cell::before,.pp-num::before{content:attr(data-label) " · ";color:#646C76;font-size:11px}
}

/* Organizations person-by-activity matrix — scrolls inside its own region (page never scrolls x). */
.pp-matrix-wrap{overflow-x:auto;border:1px solid var(--cc-line);border-radius:8px;max-width:100%;margin-top:4px}
.pp-matrix{border-collapse:collapse;font-size:12px;min-width:max-content}
.pp-matrix th,.pp-matrix td{padding:6px 9px;border-bottom:1px solid #EDF0F3;border-right:1px solid #EDF0F3;white-space:nowrap;text-align:center}
.pp-matrix th{background:#FAFBFC;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--cc-ink-2);max-width:130px;overflow:hidden;text-overflow:ellipsis}
.pp-matrix .pp-mx-person{position:sticky;left:0;background:var(--cc-surface);text-align:left;font-weight:600;color:var(--cc-ink);z-index:1;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.pp-matrix th.pp-mx-corner{position:sticky;left:0;z-index:2;background:#FAFBFC}
.pp-mx-cell{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:5px}
.pp-mx-cell.Attended,.pp-mx-cell.Confirmed{color:var(--cc-green);background:#E7F0EC}
.pp-mx-cell.Downloaded{color:var(--cc-info);background:#E9EFF6}
.pp-mx-cell.Viewed,.pp-mx-cell.Returned{color:var(--cc-teal);background:#E6EEEE}
.pp-mx-cell.Registered{color:var(--cc-ink-2);background:#EEF1F4}
.pp-mx-empty{color:#C7CDD3}
.pp-mx-kind{display:block;font-size:9px;font-weight:600;color:#AEB6BF;margin-top:2px}
.pp-people-grp{margin-top:12px} .pp-people-grp:first-child{margin-top:2px}
.pp-people-lbl{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--cc-ink-2);margin-bottom:5px}
.pp-person-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-top:1px solid #EDF0F3;font-size:13px}
.pp-person-row:first-of-type{border-top:0}
.pp-person-row a{color:var(--cc-ink);text-decoration:none;font-weight:500} .pp-person-row a:hover{text-decoration:underline}
.pp-person-row .pp-mut2{color:var(--cc-ink-2);font-size:12px}

/* ═══ Identity review + merge confirm (Phase 4) ══════════════════════════════ */
.pp-rv-row{padding:13px 16px;border-top:1px solid var(--cc-line)} .pp-rv-row:first-of-type{border-top:0}
.pp-rv-kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--cc-warn)}
.pp-rv-kind.conflict{color:var(--cc-danger)}
.pp-rv-pair{font-size:14px;font-weight:600;color:var(--cc-ink);margin-top:2px}
.pp-rv-pair .pp-vs{color:var(--cc-ink-2);font-weight:500;margin:0 6px}
.pp-rv-ev{font-size:12.5px;color:var(--cc-ink-2);margin-top:3px}
.pp-rv-acts{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}
.pp-btn{font:inherit;font-size:12.5px;font-weight:600;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:6px;padding:6px 12px;cursor:pointer}
.pp-btn:hover{border-color:#B9C1CA} .pp-btn:focus-visible{outline:2px solid var(--cc-green);outline-offset:1px}
.pp-btn.primary{color:#fff;background:var(--cc-green);border-color:var(--cc-green)} .pp-btn.primary:hover{background:#123c30}
.pp-btn.ghost{border-color:transparent;background:transparent;color:var(--cc-ink-2)}
/* Merge-confirm modal — body-mounted, so tokens are redeclared. */
.pp-modal{
  --cc-canvas:#F4F6F8; --cc-surface:#FFFFFF; --cc-ink:#151A1E; --cc-ink-2:#5E6872;
  --cc-line:#D9DEE4; --cc-green:#174C3C; --cc-teal:#2D6F73; --cc-warn:#9A6700; --cc-danger:#B42318; --cc-info:#315A8C;
  position:fixed;z-index:1001;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:86vh;
  overflow-y:auto;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:12px;
  box-shadow:0 18px 48px rgba(21,26,30,.20);font-family:var(--font);color:var(--cc-ink)}
.pp-modal-head{padding:16px 20px 12px;font-size:16px;font-weight:650;border-bottom:1px solid var(--cc-line)}
.pp-modal-body{padding:16px 20px}
.pp-modal-foot{padding:14px 20px;border-top:1px solid var(--cc-line);display:flex;justify-content:flex-end;gap:8px}
.pp-choice-lbl{font-size:12px;font-weight:600;color:var(--cc-ink-2);margin-bottom:6px}
.pp-primary-choice{display:flex;gap:8px}
.pp-choice{flex:1;border:1px solid var(--cc-line);border-radius:8px;padding:10px 12px;cursor:pointer;font-size:13px;background:var(--cc-surface)}
.pp-choice.sel{border-color:var(--cc-green);background:#E7F0EC}
.pp-choice b{display:block;color:var(--cc-ink);font-size:13.5px} .pp-choice span{display:block;color:var(--cc-ink-2);font-size:12px;margin-top:2px}
.pp-preview{font-size:13px;color:var(--cc-ink-2);line-height:1.6;margin-top:14px;background:#F7F9FB;border:1px solid var(--cc-line);border-radius:8px;padding:12px 14px}
.pp-preview .move{color:var(--cc-info);font-weight:600} .pp-preview .keep{color:var(--cc-green);font-weight:600} .pp-preview .safe{color:var(--cc-ink);font-weight:600}

/* ═══ Opportunities worklist (Phase 4) ═══════════════════════════════════════ */
.op-hdr,.op-row{display:grid;grid-template-columns:minmax(0,1.1fr) 132px minmax(0,1.5fr) 92px 112px 126px;gap:14px;padding:12px 16px;align-items:center}
.op-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.op-row{border-top:1px solid var(--cc-line);cursor:pointer;transition:background .1s}
.op-row:first-of-type{border-top:0} .op-row:hover,.op-row.open{background:#F7F9FB}
.op-person{min-width:0} .op-person b{display:block;font-size:14px;font-weight:600;color:var(--cc-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-person span{font-size:12px;color:var(--cc-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-type{font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#EEF1F4;border-radius:5px;padding:3px 8px;white-space:nowrap;justify-self:start}
.op-reason{color:var(--cc-ink-2);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-cell{font-size:13px;color:var(--cc-ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-cell .mut{color:var(--cc-ink-2)}
.op-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;justify-self:start;white-space:nowrap}
.op-status.identified{color:var(--cc-ink-2);background:#EEF1F4}
.op-status.reviewing,.op-status.contact_planned,.op-status.in_conversation{color:var(--cc-info);background:#E9EFF6}
.op-status.routed{color:var(--cc-green);background:#E7F0EC}
.op-status.closed{color:var(--cc-ink-2);background:#EEF1F4} .op-status.passed{color:var(--cc-warn);background:#EEF1F4}
.op-edit{padding:13px 16px;background:#F7F9FB;border-top:1px solid #EDF0F3}
.op-edit-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:9px}
.op-edit input,.op-edit select{font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:6px;padding:6px 9px}
.op-edit input.grow{flex:1;min-width:180px}
/* Add-opportunity form fields (inside .pp-modal). */
.op-field{margin-bottom:12px} .op-field label{display:block;font-size:12px;font-weight:600;color:var(--cc-ink-2);margin-bottom:5px}
.op-field .req{color:var(--cc-danger)}
.op-field input,.op-field select,.op-field textarea{width:100%;font:inherit;font-size:13.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px}
.op-field textarea{min-height:66px;resize:vertical}
.op-field input:focus,.op-field select:focus,.op-field textarea:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
@media (max-width:760px){.op-hdr{display:none}.op-row{grid-template-columns:1fr;gap:6px}.op-type,.op-status,.op-cell{justify-self:start}.op-cell::before{content:attr(data-label) " · ";color:#646C76;font-size:11px}}
.pp-btn:disabled{opacity:.5;cursor:not-allowed}

/* ═══ Firm Operations worklist (Phase 6) — divided-row obligations ════════════ */
.pp-head-actions{display:flex;gap:8px;align-items:center}
.firm-ops-shell{--for-blue:#315A8C;--for-blue-soft:#EDF3F8;--for-amber:#8A5B00;--for-amber-soft:#FFF8E8}
.firm-ops-shell>.pp-tools.firm-tabs{margin:0 0 22px;border-bottom:1px solid var(--cc-line);gap:22px;flex-wrap:nowrap;overflow-x:auto}
.firm-ops-shell>.firm-tabs .pp-filter{border:0;border-radius:0;background:transparent;padding:13px 1px 11px;color:var(--cc-ink-2);font-size:13px;font-weight:650;white-space:nowrap;border-bottom:2px solid transparent}
.firm-ops-shell>.firm-tabs .pp-filter:hover{color:var(--cc-ink);border-bottom-color:#A8B2BD}
.firm-ops-shell>.firm-tabs .pp-filter.on{color:var(--cc-ink);background:transparent;border-bottom-color:var(--for-blue)}
.firm-ops-shell .ophead{margin-bottom:18px}
.for-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);margin-top:2px}
.for-select{min-width:132px;max-width:210px;font:inherit;font-size:12.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:7px 28px 7px 10px}
.for-select:focus{outline:2px solid var(--for-blue);outline-offset:1px;border-color:var(--for-blue)}
.for-count{margin-left:auto;color:var(--cc-ink-2);font-size:12.5px;font-variant-numeric:tabular-nums}
.for-source-note{display:flex;align-items:baseline;gap:6px;padding:11px 2px;margin-bottom:9px;color:var(--cc-ink-2);font-size:12.5px;line-height:1.45}
.for-source-note strong{color:var(--cc-ink);font-weight:650}
.for-worklist{overflow-x:auto;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px}
.for-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}
.for-table th{padding:10px 13px;background:#F8FAFB;border-bottom:1px solid var(--cc-line);color:var(--cc-ink-2);font-size:10.5px;font-weight:700;letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap}
.for-table th:nth-child(1){width:20%}.for-table th:nth-child(2){width:14%}.for-table th:nth-child(3){width:18%}.for-table th:nth-child(4){width:22%}.for-table th:nth-child(5){width:14%}.for-table th:nth-child(6){width:12%}
.for-row{cursor:pointer;transition:background .12s ease}
.for-row:hover{background:#F7F9FB}.for-row:focus-visible{outline:2px solid var(--for-blue);outline-offset:-2px}
.for-row td{padding:13px;border-bottom:1px solid #E8ECF0;color:var(--cc-ink);font-size:12.75px;vertical-align:top;overflow-wrap:anywhere}
.for-row:last-child td{border-bottom:0}
.for-period,.for-deadline,.for-milestone{display:flex;flex-direction:column;gap:2px;min-width:0}
.for-period strong,.for-deadline strong,.for-milestone strong{font-size:12.75px;font-weight:650;color:var(--cc-ink);line-height:1.3}
.for-period>span,.for-deadline small,.for-milestone small{font-size:11.5px;color:var(--cc-ink-2);line-height:1.3}
.for-issue{display:inline-flex!important;width:max-content;margin-top:4px;padding:2px 6px;border-radius:4px;background:var(--for-amber-soft);color:var(--for-amber)!important;font-size:10.5px!important;font-weight:700}
.for-deadline.conflict strong,.for-date.overdue{color:var(--cc-danger)}
.for-deadline.conflict small{color:var(--for-amber)}
.for-deadline.undated strong,.for-date.soon{color:var(--for-amber)}
.for-date{font-size:12.75px;font-variant-numeric:tabular-nums}
.for-unowned{color:var(--for-amber);font-size:11.5px;font-weight:650}
.for-muted{color:var(--cc-ink-2);font-size:12px}
.for-status{display:inline-block;padding:3px 7px;border-radius:5px;background:#EEF1F4;color:var(--cc-ink-2);font-size:10.5px;font-weight:700;white-space:nowrap}
.for-status.in_progress{background:var(--for-blue-soft);color:var(--for-blue)}
.for-status.blocked{background:var(--for-amber-soft);color:var(--for-amber)}
.for-status.ready{background:#E7F0EC;color:var(--cc-green)}
.for-status.completed{background:#E7F0EC;color:var(--cc-green)}
.for-loading,.for-empty,.for-error{padding:28px 18px;color:var(--cc-ink-2);font-size:13px}
.for-empty,.for-error{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.for-empty strong,.for-error strong{color:var(--cc-ink);font-size:14px}
.for-error{background:#FDF2F1;color:#8A2A1F}
.for-error .pp-btn{margin-top:4px}
.for-drawer{width:min(620px,100vw)}
.for-source-callout{background:#F8FAFB;border-left:3px solid var(--for-blue)}
.for-source-callout blockquote{margin:0 0 13px;padding:10px 12px;background:#fff;border:1px solid var(--cc-line);border-radius:6px;color:var(--cc-ink);font-size:13px;line-height:1.5}
.for-checksum{display:block;max-width:330px;overflow:hidden;text-overflow:ellipsis;color:var(--cc-ink-2);font-size:10.5px;white-space:nowrap}
.for-conflict{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:9px 11px;background:var(--for-amber-soft);border-left:3px solid var(--for-amber);color:var(--for-amber);font-size:12.5px;line-height:1.4}
.for-notes{grid-column:1/-1}
.for-milestones{display:flex;flex-direction:column}
.for-milestone-row{padding:11px 0;border-top:1px solid #E8ECF0}
.for-milestone-row:first-child{border-top:0}
.for-milestone-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.for-milestone-copy strong{font-size:12.75px;font-weight:650}.for-milestone-copy span{color:var(--cc-ink-2);font-size:11.5px;white-space:nowrap}
.for-milestone-edit{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;padding:9px;background:#F8FAFB;border-radius:6px}
.for-milestone-edit input,.for-milestone-edit select{min-width:0;width:100%;font:inherit;font-size:11.5px;padding:6px 8px;background:#fff;border:1px solid var(--cc-line);border-radius:5px}
.for-milestone-edit .pp-btn{justify-self:start}
.for-audit{display:flex;flex-direction:column}
.for-audit-row{display:grid;grid-template-columns:76px minmax(0,1fr) 120px;gap:8px;padding:7px 0;border-top:1px solid #E8ECF0;font-size:11.5px}
.for-audit-row:first-child{border-top:0}.for-audit-row time,.for-audit-row small{color:var(--cc-ink-2)}
.fo-hdr,.fo-row{display:grid;grid-template-columns:minmax(0,1.4fr) 128px 128px 104px 104px 116px;gap:14px;padding:12px 16px;align-items:center}
.fo-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.fo-row{border-top:1px solid var(--cc-line);cursor:pointer;transition:background .1s}
.fo-row:first-of-type{border-top:0} .fo-row:hover{background:#F7F9FB}
.fo-row:focus-visible{outline:2px solid var(--cc-green);outline-offset:-2px}
.fo-obl{min-width:0;display:flex;flex-direction:column;gap:2px}
.fo-obl b{font-size:13.5px;font-weight:640;line-height:1.3;overflow-wrap:anywhere}
.fo-detail{font-size:12px;color:var(--cc-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fo-cell{font-size:13px;color:var(--cc-ink);min-width:0;overflow:hidden;text-overflow:ellipsis}
.fo-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#EEF1F4;border-radius:20px;padding:3px 9px;white-space:nowrap}
.fo-badge.alt{color:var(--cc-info);background:#E9EFF6}
.fo-due{font-size:13px;color:var(--cc-ink)} .fo-due.soon{color:var(--cc-warn);font-weight:600} .fo-due.overdue{color:var(--cc-danger);font-weight:700}
.fo-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;justify-self:start;white-space:nowrap}
.fo-status.open{color:var(--cc-ink-2);background:#EEF1F4}
.fo-status.in_progress,.fo-status.blocked{color:var(--cc-info);background:#E9EFF6}
.fo-status.blocked{color:var(--cc-warn);background:#EEF1F4}
.fo-status.done{color:var(--cc-green);background:#E7F0EC} .fo-status.cancelled{color:var(--cc-ink-3);background:#EEF1F4}
.fo-complete{display:flex;gap:8px;align-items:center} .fo-note{flex:1;font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px}
.fo-note:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.fo-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px} .fo-edit .op-field{margin-bottom:0}
.fo-edit-foot{margin-top:12px;display:flex;justify-content:flex-end}
.fo-occ{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #EDF0F3;font-size:12.5px;color:var(--cc-ink)}
.fo-occ:first-of-type{border-top:0} .fo-occ-when{color:var(--cc-ink-2)} .fo-occ-by{color:var(--cc-ink-3)}
@media(max-width:900px){
  .firm-ops-shell>.pp-tools.firm-tabs{gap:16px}
  .for-toolbar{align-items:stretch}.for-select{flex:1 1 calc(50% - 8px);max-width:none}.for-count{flex-basis:100%;margin-left:0;text-align:right}
  .for-source-note{display:block}.for-source-note strong{display:block;margin-bottom:3px}
  .for-row td{padding:11px 12px}
  .for-milestone-edit{grid-template-columns:1fr}
  .for-audit-row{grid-template-columns:66px minmax(0,1fr)}.for-audit-row small{grid-column:2}
  .fo-hdr{display:none}
  .fo-row{grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 14px}
  .fo-obl{grid-column:1/-1}
  .fo-edit{grid-template-columns:1fr}
}
@media(max-width:700px){
  .for-select{flex-basis:100%}
  .for-drawer{width:100vw}
  .for-source-callout{border-left:0;border-top:3px solid var(--for-blue)}
  .for-worklist{overflow:visible;border-width:1px 0 0;border-radius:0}
  .for-table{min-width:0;table-layout:auto}
  .for-table thead{display:none}
  .for-table tbody,.for-row{display:block}
  .for-row{padding:11px 0;border-bottom:1px solid var(--cc-line)}
  .for-row:last-child{border-bottom:0}
  .for-row td{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:4px 2px;border:0;align-items:start}
  .for-row td::before{content:attr(data-label);color:var(--cc-ink-2);font-size:10.5px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
}

/* ═══ Events OS (Phase 8) — scoped cool-neutral token override ════════════════ */
/* Large, behavior-critical shipped view: retoken by redefining base tokens within .evt (zero logic
   change) plus a few scoped chrome fixes. */
.evt{
  --ink:#151A1E; --ink-2:#5E6872; --ink-3:#646C76; --ink-4:#B9C1CA;
  --line:#D9DEE4; --line-2:#E3E7EC; --paper:#FFFFFF;
  --green:#174C3C; --green-soft:#E7F0EC;
  --gilt:#174C3C; --gilt-soft:#E7F0EC;
  --amber:#9A6700; --amber-soft:#EEF1F4;
  --teal:#2D6F73; --teal-soft:#E7EFEF;
  --cream:#F4F6F8; --cream-2:#F1F4F6;
  --redline:#B42318; --redline-soft:#FCF3F2;
}
.evt .card{background:var(--cc-surface);border:1px solid var(--cc-line);box-shadow:none}
.evt .card-h,.evt .events-section-h{font-family:Inter,system-ui,sans-serif;font-weight:650}
.evt .btn-primary{background:var(--cc-green);border-color:var(--cc-green);color:#fff}
.evt .btn-primary:hover{background:#123c30;opacity:1}
.evt .events-head-actions{display:flex;align-items:center;gap:10px}

/* ═══ New-site wizard (Phase 8) — scoped cool-neutral token override ══════════ */
/* The wizard flow is complex and hard to E2E, so retoken by redefining its base tokens within .snw
   (gilt selection maps to green) rather than rewriting logic; a few quirks get scoped fixes. */
.snw{
  --ink:#151A1E; --ink-2:#5E6872; --ink-3:#646C76; --ink-4:#B9C1CA;
  --line:#D9DEE4; --line-2:#E3E7EC; --paper:#FFFFFF;
  --green:#174C3C; --green-soft:#E7F0EC;
  --gilt:#174C3C; --gilt-soft:#E7F0EC;
  --cream:#F4F6F8; --cream-2:#F1F4F6;
}
.snw .wiz-panel.card{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;box-shadow:none}
.snw .card{background:var(--cc-surface);border:1px solid var(--cc-line);box-shadow:none}
.snw .wiz-panel-h,.snw .card-h{font-family:Inter,system-ui,sans-serif;font-weight:650;font-size:15px}
.snw .radio input[type=radio]{accent-color:var(--cc-green)}
.snw .btn-primary{background:var(--cc-green);border-color:var(--cc-green);color:#fff}
.snw .btn-primary:hover{background:#123c30;opacity:1}

/* ═══ Brand Guidelines (Phase 8) — cool-neutral editor + history ═════════════ */
.brd-panel{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:18px 20px;margin-bottom:14px}
.brd-panel-h{font-size:14px;font-weight:650;color:var(--cc-ink);margin:0 0 10px}
.brd-deck{font-size:13px;color:var(--cc-ink-2);line-height:1.5;margin:0 0 14px}
.brd-ta{width:100%;min-height:120px;font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;line-height:1.55;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:11px 13px;resize:vertical}
.brd-ta:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.brd-help{display:block;font-size:11.5px;color:var(--cc-ink-3);margin-top:5px}
.brd-save-foot{margin-top:14px;display:flex;justify-content:flex-end}
.brd-hdr,.brd-row{display:grid;grid-template-columns:150px 170px 130px minmax(0,1fr) auto;gap:14px;padding:12px 16px;align-items:center}
.brd-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.brd-row{border-top:1px solid var(--cc-line)} .brd-row:first-of-type{border-top:0}
.brd-ver{font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;font-weight:600;color:var(--cc-ink)}
.brd-cell{font-size:13px;color:var(--cc-ink);min-width:0;overflow:hidden;text-overflow:ellipsis}
.brd-actions{justify-self:end}
.brd-diff{max-height:420px;overflow:auto;background:#FBFCFD;border:1px solid var(--cc-line);border-radius:8px;padding:12px;font-family:var(--mono,ui-monospace,monospace);font-size:12px;line-height:1.5;color:var(--cc-ink);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){
  .brd-hdr{display:none}
  .brd-row{grid-template-columns:1fr 1fr;gap:6px 12px}
  .brd-ver{grid-column:1/-1}
  .brd-actions{grid-column:1/-1;justify-self:start}
}

/* ═══ QA Rules (Phase 8) — cool-neutral divided-row rules list ════════════════ */
.qa-hdr,.qa-row{display:grid;grid-template-columns:minmax(0,1.6fr) 130px 120px 110px;gap:14px;padding:12px 16px;align-items:center}
.qa-hdr.owner,.qa-row.owner{grid-template-columns:minmax(0,1.6fr) 130px 120px 110px auto}
.qa-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.qa-row{border-top:1px solid var(--cc-line)} .qa-row:first-of-type{border-top:0}
.qa-rule{display:flex;flex-direction:column;gap:2px;min-width:0}
.qa-id{font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;font-weight:600;color:var(--cc-ink);overflow-wrap:anywhere}
.qa-desc{font-size:12px;color:var(--cc-ink-2);line-height:1.4}
.qa-cell{font-size:13px;color:var(--cc-ink)}
.qa-sev{font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:6px 9px}
.qa-sev:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
.qa-sevbadge{font-size:12px;font-weight:600;color:var(--cc-ink-2)}
.qa-sevbadge.warn{color:var(--cc-warn)} .qa-sevbadge.block{color:var(--cc-danger)}
.qa-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}
.qa-status.on{color:var(--cc-green);background:#E7F0EC} .qa-status.off{color:var(--cc-ink-2);background:#EEF1F4}
.qa-actions{justify-self:end}
@media(max-width:760px){
  .qa-hdr{display:none}
  .qa-row,.qa-row.owner{grid-template-columns:1fr 1fr;gap:6px 12px}
  .qa-rule{grid-column:1/-1}
  .qa-actions{grid-column:1/-1;justify-self:start}
}

/* ═══ Projects (Phase 8) — cool-neutral metrics list ═════════════════════════ */
.prj-hdr,.prj-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 110px 96px 104px 96px 92px;gap:14px;padding:12px 16px;align-items:center}
.prj-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.prj-hdr .num,.prj-cell.num{text-align:right;justify-self:end}
.prj-row{border-top:1px solid var(--cc-line)} .prj-row:first-of-type{border-top:0}
.prj-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.prj-name b{font-size:13.5px;font-weight:600;color:var(--cc-ink);overflow-wrap:anywhere}
.prj-url{font-size:12px;color:var(--teal,#2D6F73);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .prj-url:hover{text-decoration:underline}
.prj-cell{font-size:13px;color:var(--cc-ink);min-width:0;overflow:hidden;text-overflow:ellipsis}
.prj-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;white-space:nowrap}
.prj-status.live{color:var(--cc-green);background:#E7F0EC}
.prj-status.pending,.prj-status.publishing{color:var(--cc-info);background:#E9EFF6}
.prj-status.archived,.prj-status.draft{color:var(--cc-ink-2);background:#EEF1F4}
.prj-status.blocked,.prj-status.error{color:var(--cc-danger);background:#FCF3F2}
@media(max-width:900px){
  .prj-hdr{display:none}
  .prj-row{grid-template-columns:1fr 1fr;gap:6px 12px}
  .prj-name{grid-column:1/-1}
  .prj-cell.num,.prj-hdr .num{justify-self:start;text-align:left}
  .prj-cell::before{content:attr(data-label) " · ";color:var(--cc-ink-3);font-size:11px}
}

/* ═══ API tokens (Phase 7) — divided-row token list + reveal ═════════════════ */
.tok-hdr,.tok-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 150px 120px auto;gap:14px;padding:12px 16px;align-items:center}
.tok-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.tok-row{border-top:1px solid var(--cc-line)} .tok-row:first-of-type{border-top:0}
.tok-name{font-size:13.5px;font-weight:600;color:var(--cc-ink);overflow-wrap:anywhere}
.tok-scopes{font-family:var(--mono,ui-monospace,monospace);font-size:11.5px;color:var(--cc-ink-2);line-height:1.4;overflow-wrap:anywhere}
.tok-cell{font-size:12.5px;color:var(--cc-ink-2)}
.tok-actions{justify-self:end}
.pp-btn.danger{color:var(--cc-danger);border-color:var(--cc-line)} .pp-btn.danger:hover{border-color:var(--cc-danger);background:#FCF3F2}
.tok-modal-deck{font-size:13px;color:var(--cc-ink-2);margin:0 0 14px}
.tok-scopes-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;border:1px solid var(--cc-line);border-radius:8px;padding:6px}
.tok-scope{display:flex;align-items:flex-start;gap:9px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--cc-ink)}
.tok-scope:hover{background:#F7F9FB} .tok-scope input{margin-top:2px}
.tok-scope-id{display:block;font-family:var(--mono,ui-monospace,monospace);font-size:11px;color:var(--cc-ink-3);margin-top:1px}
.tok-secret{display:block;width:100%;height:340px;padding:14px;border:1px solid var(--cc-line);border-radius:8px;background:#FBFCFD;font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;line-height:1.55;color:var(--cc-ink);resize:vertical}
.tok-secret:focus{outline:2px solid var(--cc-green);outline-offset:1px;border-color:var(--cc-green)}
@media(max-width:760px){
  .tok-hdr{display:none}
  .tok-row{grid-template-columns:1fr 1fr;gap:6px 12px}
  .tok-name,.tok-scopes{grid-column:1/-1}
  .tok-actions{grid-column:1/-1;justify-self:start}
}

/* ═══ Access requests (Phase 7) — divided-row approve/decline queue ═══════════ */
.ar-hdr,.ar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.6fr) 120px auto;gap:14px;padding:12px 16px;align-items:center}
.ar-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.ar-row{border-top:1px solid var(--cc-line)} .ar-row:first-of-type{border-top:0}
.ar-site{font-size:13.5px;font-weight:600;color:var(--teal,#2D6F73);text-decoration:none;overflow-wrap:anywhere} .ar-site:hover{text-decoration:underline}
.ar-cell{font-size:13px;color:var(--cc-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ar-actions{display:flex;gap:6px;justify-self:end}
@media(max-width:760px){
  .ar-hdr{display:none}
  .ar-row{grid-template-columns:1fr 1fr;gap:6px 12px}
  .ar-site{grid-column:1/-1}
  .ar-actions{grid-column:1/-1;justify-self:start}
}

/* ═══ Introductions worklist (Phase 4b) — grouped by portfolio company ════════ */
.intro-grp{margin-top:18px} .intro-grp:first-of-type{margin-top:0}
.intro-grp-h{display:flex;align-items:baseline;gap:12px;padding:6px 4px 9px;flex-wrap:wrap}
.intro-grp-h b{font-size:15px;font-weight:650;color:var(--cc-ink)}
.intro-grp-h .c{font-size:12px;color:var(--cc-ink-2)} .intro-grp-h .catbrk{font-size:11.5px;color:#8A929B}
.intro-grp-h .need{font-size:11px;font-weight:600;color:var(--cc-warn);background:#EEF1F4;border-radius:20px;padding:2px 9px}
.intro-hdr,.intro-row{display:grid;grid-template-columns:74px 116px 108px minmax(0,1.2fr) 100px minmax(0,1fr) 108px;gap:12px;padding:10px 16px;align-items:center}
.intro-hdr{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--cc-ink-2);text-transform:uppercase;background:#FAFBFC;border-bottom:1px solid var(--cc-line)}
.intro-row{border-top:1px solid var(--cc-line);cursor:pointer} .intro-row:first-of-type{border-top:0} .intro-row:hover{background:#F7F9FB}
.intro-cell{font-size:12.5px;color:var(--cc-ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intro-cell.mut{color:var(--cc-ink-2)}
.intro-restricted{color:var(--cc-ink-2);font-style:italic;font-size:12px}
.intro-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;justify-self:start;white-space:nowrap}
.intro-status.proposed,.intro-status.ready{color:var(--cc-warn);background:#EEF1F4}
.intro-status.sent,.intro-status.replied,.intro-status.meeting_planned{color:var(--cc-info);background:#E9EFF6}
.intro-status.connected,.intro-status.outcome_recorded{color:var(--cc-green);background:#E7F0EC}
.intro-status.closed,.intro-status.no_response{color:var(--cc-ink-2);background:#EEF1F4}
.intro-cat{font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#EEF1F4;border-radius:5px;padding:2px 7px;justify-self:start;white-space:nowrap}
.intro-tl-row{display:flex;gap:10px;padding:7px 0;border-top:1px solid #EDF0F3;font-size:13px} .intro-tl-row:first-child{border-top:0}
.intro-tl-when{font-size:11.5px;color:var(--cc-ink-2);white-space:nowrap;min-width:84px}
.intro-restricted-box{padding:16px 20px;font-size:13px;color:var(--cc-ink-2);line-height:1.55}
.intro-adv{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
@media (max-width:760px){.intro-hdr{display:none}.intro-row{grid-template-columns:1fr;gap:5px}.intro-status,.intro-cat,.intro-cell{justify-self:start}.intro-cell::before{content:attr(data-label) " · ";color:#646C76;font-size:11px}}

/* Contacts — Imports and sync (Phase 3). Lives inside .pp, so it inherits the cool-neutral --cc-* tokens. */
.imp-controls{margin-top:18px;display:flex;flex-direction:column;gap:10px;max-width:820px}
.imp-source,.imp-label,.imp-text{font:inherit;font-size:14px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:9px 11px}
.imp-text{resize:vertical;min-height:150px;font-family:var(--mono);font-size:13px;line-height:1.5}
.imp-source:focus,.imp-label:focus,.imp-text:focus{outline:2px solid var(--cc-teal);outline-offset:1px;border-color:var(--cc-teal)}
.imp-actions{display:flex;gap:10px;align-items:center}
.imp-preview{background:var(--cc-surface);color:var(--cc-ink);border:1px solid var(--cc-line)}
.imp-preview:hover{border-color:#B9C1CA}
.imp-apply{background:var(--cc-green);color:#fff;border-color:var(--cc-green)}
.imp-apply:hover{opacity:.92} .imp-apply:disabled{opacity:.4;cursor:not-allowed}
.imp-msg{font-size:13px;color:var(--cc-ink-2);min-height:18px}
.imp-file-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cc-ink)}
.imp-file-label{color:var(--cc-ink-2);font-size:13px}
.imp-file{font:inherit;font-size:13px;color:var(--cc-ink)}
.imp-enrich{margin-top:24px;padding-top:18px;border-top:1px solid var(--cc-line);max-width:820px}
.imp-enrich-msg{font-size:13px;color:var(--cc-ink-2);min-height:18px;margin-top:8px}
.imp-result{margin-top:20px}
.imp-tallies{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.imp-tally{font-size:12.5px;color:var(--cc-ink-2);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:6px;padding:5px 10px;font-variant-numeric:tabular-nums}
.imp-tally b{color:var(--cc-ink);font-weight:650}
.imp-rows{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden}
.imp-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 180px;gap:14px;padding:11px 16px;border-top:1px solid var(--cc-line);align-items:center}
.imp-row:first-child{border-top:0}
.imp-row-name{font-size:14px;font-weight:600;color:var(--cc-ink)}
.imp-row-meta{font-size:12.5px;color:var(--cc-ink-2);margin-top:2px}
.imp-row-email{font-size:13px;color:var(--cc-ink-2);font-family:var(--mono);word-break:break-all}
.imp-row-action{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.imp-badge{font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:5px;padding:3px 8px;border:1px solid transparent;white-space:nowrap}
.imp-resolve_existing{color:var(--cc-teal);background:rgba(45,111,115,.10);border-color:rgba(45,111,115,.28)}
.imp-new_person{color:var(--cc-green);background:rgba(23,76,60,.10);border-color:rgba(23,76,60,.28)}
.imp-review_suggestion{color:var(--cc-warn);background:rgba(154,103,0,.10);border-color:rgba(154,103,0,.28)}
.imp-skip_role_mailbox,.imp-reject{color:var(--cc-ink-2);background:#F1F4F6;border-color:var(--cc-line)}
.imp-warn{font-size:11px;color:var(--cc-warn)}
.imp-applied{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:18px}
@media (max-width:640px){.imp-row{grid-template-columns:1fr;gap:6px}}

/* Contacts — person drawer intelligence sections (Phase 7). Inside .pp, inherits --cc-* tokens. */
.pp-cc-row{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-top:1px solid var(--cc-line);font-size:13.5px;color:var(--cc-ink)}
.pp-cc-row:first-child{border-top:0}
.pp-cc-when{min-width:96px;color:var(--cc-ink-2);font-variant-numeric:tabular-nums}
.pp-cc-body{flex:1;min-width:0}
.pp-cc-eng .pp-cc-body{color:var(--cc-ink-2)}
.pp-role-title{font-weight:600}
.pp-df{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid var(--cc-line);font-size:13.5px}
.pp-df:first-child{border-top:0}
.pp-df-k{color:var(--cc-ink-2)}
.pp-df-v{color:var(--cc-ink);text-align:right}
.pp-tag{font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#F1F4F6;border:1px solid var(--cc-line);border-radius:5px;padding:2px 7px;white-space:nowrap}
.pp-tag-cur{color:var(--cc-green);background:rgba(23,76,60,.10);border-color:rgba(23,76,60,.28)}

/* Contacts — directory Last contact cell (Phase 7 slice 2). */
.pp-lc{display:flex;flex-direction:column;line-height:1.25}
.pp-lc-kind{font-size:11px;color:var(--cc-ink-3)}

/* Contacts — universal search (Phase 7 slice 3b). The .cts container sits OUTSIDE the .pp subview, so
   it must carry its own cool-neutral tokens (otherwise the panel background resolves to transparent). */
.cts{--cc-surface:#FFFFFF;--cc-ink:#151A1E;--cc-ink-2:#5E6872;--cc-ink-3:#646C76;--cc-line:#D9DEE4;--cc-teal:#2D6F73;--cc-green:#174C3C}
.cts-search{position:relative;margin-bottom:14px;max-width:560px}
.cts-search-in{width:100%;font:inherit;font-size:14px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:9px 12px}
.cts-search-in:focus{outline:2px solid var(--cc-teal);outline-offset:1px;border-color:var(--cc-teal)}
.cts-search-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;box-shadow:0 8px 28px rgba(21,26,30,.14);max-height:60vh;overflow-y:auto}
.cts-search-panel[hidden]{display:none}
.cts-search-msg{padding:12px 14px;font-size:13px;color:var(--cc-ink-2)}
.cts-search-grp{padding:8px 14px 4px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cc-ink-3)}
.cts-search-row{display:flex;flex-direction:column;gap:1px;padding:8px 14px;text-decoration:none;color:var(--cc-ink);border-top:1px solid var(--cc-line)}
.cts-search-row:hover{background:#F1F4F6}
.cts-search-name{font-size:14px;font-weight:600;color:var(--cc-teal)}
.cts-search-sub{font-size:12.5px;color:var(--cc-ink-2)}

/* Contacts — Lists subtab (Phase 7 slice 4b). Inside .pp, inherits --cc-* tokens. */
.lst-create{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 18px}
.lst-in{font:inherit;font-size:14px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:7px;padding:8px 11px;min-width:200px}
.lst-in:focus{outline:2px solid var(--cc-teal);outline-offset:1px;border-color:var(--cc-teal)}
.lst-create-btn{background:var(--cc-green);color:#fff;border:1px solid var(--cc-green)}
.lst-create-btn:hover{opacity:.92}
.lst-msg{font-size:13px;color:var(--cc-ink-2)}
.lst-index,.lst-members{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden}
.lst-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) 120px;gap:14px;padding:11px 16px;border-top:1px solid var(--cc-line);align-items:center}
.lst-row:first-child{border-top:0}
.lst-name{font-size:14px;font-weight:600;color:var(--cc-teal);text-decoration:none}
.lst-desc{font-size:13px;color:var(--cc-ink-2)}
.lst-count{font-size:12.5px;color:var(--cc-ink-2);text-align:right;font-variant-numeric:tabular-nums}
.lst-back{display:inline-block;margin:2px 0 14px;font-size:13px;color:var(--cc-teal);text-decoration:none}
.lst-detail-h{margin-bottom:14px}
.lst-add{position:relative;max-width:460px;margin-bottom:16px}
.lst-member{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--cc-line)}
.lst-member:first-child{border-top:0}
.lst-member-name{flex:1;font-size:14px;font-weight:600;color:var(--cc-teal);text-decoration:none}
.lst-remove{font:inherit;font-size:12px;color:var(--cc-ink-2);background:#F1F4F6;border:1px solid var(--cc-line);border-radius:6px;padding:4px 10px;cursor:pointer}
.lst-remove:hover{color:var(--cc-danger);border-color:var(--cc-danger)}
@media (max-width:640px){.lst-row{grid-template-columns:1fr;gap:4px}.lst-count{text-align:left}}

/* Contacts — Analytics subtab (Phase 7.8). Inside .pp, inherits --cc-* tokens. */
.an-tiles{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 10px}
.an-tile{flex:0 0 auto;min-width:150px;background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;padding:14px 18px}
.an-tile-n{font-size:26px;font-weight:650;color:var(--cc-ink);line-height:1;font-variant-numeric:tabular-nums}
.an-tile-l{font-size:12.5px;color:var(--cc-ink-2);margin-top:5px}
.an-sec{margin-top:22px}
.an-cap{margin:3px 0 10px}
.an-list{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:10px;overflow:hidden;max-width:560px}
.an-row{display:flex;justify-content:space-between;gap:14px;padding:10px 16px;border-top:1px solid var(--cc-line);font-size:14px}
.an-row:first-child{border-top:0}
.an-row-l{color:var(--cc-ink-2)}
.an-row-n{color:var(--cc-ink);font-weight:600;font-variant-numeric:tabular-nums}
.intro-savedviews{margin:0 0 10px}
.intro-health{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--cc-ink-2);margin:8px 0}
.intro-health-dot{width:8px;height:8px;border-radius:50%;background:var(--cc-green)}
.intro-health-dot.warn{background:var(--cc-warning,#9A6700)}
.intro-health-meta{color:var(--cc-ink-2);opacity:.85}
.intro-import{margin:8px 0 12px;border:1px solid var(--cc-line);border-radius:7px;padding:8px 12px}
.intro-import-ta{width:100%;font:inherit;font-size:13px;border:1px solid var(--cc-line);border-radius:6px;padding:8px;margin:8px 0}
.intro-import-msg{font-size:12px;color:var(--cc-ink-2);min-height:16px;margin-top:6px}
/* CVP_intros_v5 reconciliation surface (imported vs reviewed-canonical, review queue, quality markers) */
.intro-recon{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;margin:2px 0 10px;font-size:12px;color:var(--cc-ink-2)}
.intro-recon-item{display:inline-flex;align-items:baseline;gap:5px}
.intro-recon-item b{font-size:14px;color:var(--cc-ink);font-variant-numeric:tabular-nums}
.intro-recon-item.warn b{color:var(--cc-warn)}
.intro-recon-item.mut b{color:var(--cc-ink-2)}
.intro-flag{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;color:#8A5A00;background:#EEF1F4;border:1px solid #C7CDD3;border-radius:9px;padding:0 6px;vertical-align:middle}
.intro-degraded{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;color:var(--cc-ink-2);background:#F4F6F8;border:1px solid var(--cc-line);border-radius:9px;padding:0 6px;vertical-align:middle;font-style:italic}
.intro-hdr-review,.intro-row-review{grid-template-columns:74px minmax(0,1.4fr) 104px 120px minmax(0,280px)}
.intro-row-review .btn{margin-right:6px}
@media (max-width:760px){.intro-hdr-review{display:none}.intro-row-review{grid-template-columns:1fr;gap:5px}}
.intro-analytics .an-sec{margin:14px 0}
.an-tiles{display:flex;gap:12px;flex-wrap:wrap}
.an-tile{border:1px solid var(--cc-line);border-radius:7px;padding:10px 14px;font-size:13px;color:var(--cc-ink-2)}
.an-scroll{overflow-x:auto}
.an-matrix{border-collapse:collapse;font-size:12px;min-width:100%}
.an-matrix th,.an-matrix td{border:1px solid var(--cc-line);padding:5px 9px;text-align:left}
.an-matrix .an-num{text-align:right;font-variant-numeric:tabular-nums}
.an-bars{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.an-bar{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--cc-ink-2)}
.an-bar-v{font-weight:600;color:var(--cc-ink)}
.an-list{display:flex;flex-direction:column;gap:2px;max-width:420px}
.an-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--cc-line);padding:4px 0;font-size:13px}

/* Systems & Agents directory (C6). Uses the .pp cool-neutral tokens; neutral surfaces, status color
   used only for lifecycle semantics. The wide table scrolls inside .sys-scroll, never the page. */
.sys-body{margin-top:8px}
.sys-loading{color:var(--cc-ink-2);font-size:13px;padding:16px 0}
.sys-sec{margin:16px 0}
.sys-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));border:1px solid var(--cc-line);border-radius:9px;overflow:hidden;background:var(--cc-surface)}
.sys-tile{background:var(--cc-surface);border:0;border-right:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);border-radius:0;padding:15px 17px;min-width:0}
.sys-tile-action{font:inherit;text-align:left;text-decoration:none;cursor:pointer;color:inherit;appearance:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.sys-tile-action:hover{background:var(--cc-canvas);box-shadow:inset 0 -2px 0 var(--cc-green);transform:none}
.sys-tile-action:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px}
.sys-tile-v{font-size:24px;font-weight:650;color:var(--cc-ink);line-height:1.1}
.sys-tile-l{font-size:12px;font-weight:600;color:var(--cc-ink);margin-top:4px}
.sys-tile-s{font-size:11px;color:var(--cc-ink-2);margin-top:2px}
.sys-life{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--cc-ink-2)}
.sys-life-item b{color:var(--cc-ink)}
.sys-scroll{overflow-x:auto}
.sys-table{border-collapse:collapse;width:100%;font-size:13px;min-width:640px}
.sys-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-ink-2);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--cc-line);white-space:nowrap}
.sys-table td{padding:9px 12px;border-bottom:1px solid var(--cc-line);vertical-align:middle}
.sys-name{font-weight:600;color:var(--cc-ink)}
.sys-mut{color:var(--cc-ink-2);font-style:italic}
.sys-pill{display:inline-block;font-size:11px;font-weight:600;color:var(--cc-ink-2);background:#EEF1F4;border:1px solid var(--cc-line);border-radius:5px;padding:1px 7px;white-space:nowrap}
.sys-life-tag{font-size:12px;font-weight:600}
.sys-life-active{color:var(--cc-green)}
.sys-life-specified{color:var(--cc-info)}
.sys-life-available{color:var(--cc-teal)}
.sys-life-disabled,.sys-life-retired{color:var(--cc-ink-2)}
.sys-empty{background:var(--cc-surface);border:1px dashed var(--cc-line);border-radius:8px;padding:22px}
.sys-empty-h{font-weight:650;color:var(--cc-ink)}
.sys-empty-b{font-size:13px;color:var(--cc-ink-2);margin-top:6px;max-width:60ch;line-height:1.5}
.sys-terminal-onboarding{border:1px solid var(--cc-line);border-radius:8px;background:var(--cc-surface);padding:14px 16px}
.sys-terminal-onboarding-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.sys-terminal-onboarding-head .pp-sec-h{margin:0 0 3px}
.sys-terminal-setup{margin-top:14px;padding-top:14px;border-top:1px solid var(--cc-line)}
.sys-terminal-steps{margin:0 0 12px;padding-left:20px;color:var(--cc-ink-2);font-size:13px;line-height:1.55}
.sys-terminal-prompt{white-space:pre-wrap;max-height:none;margin-bottom:10px}
.sys-change-source{font-size:11px;color:var(--cc-ink-2);white-space:nowrap}
/* Scan provenance + Sasha synchronization (inventory refresh). */
.sys-prov{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:8px 12px}
.sys-prov-dot{width:8px;height:8px;border-radius:50%;flex:none}
.sys-prov-dot.ok{background:var(--cc-green)} .sys-prov-dot.warn{background:var(--cc-warn)}
.sys-prov-err{color:var(--cc-danger);font-weight:600}
.sys-prov-dot.err{background:var(--cc-danger)}
.sys-prov-dot.idle{background:var(--cc-ink-3)}
.sys-prov-dot.run{background:var(--cc-teal)}
.sys-refresh{margin-left:auto}
/* Inventory-scan dispatch control (P2.1): state dot + status line + Run button + View run link. */
.sys-scan-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--cc-ink)}
.sys-scan-status{min-width:0}
.sys-scan-run{white-space:nowrap}
/* Busy state keeps the button focusable (aria-disabled + guard, not the disabled attribute). */
.sys-scan-run.is-busy{opacity:.6;cursor:default}
.sys-scan-view{white-space:nowrap}
.sys-attn-scan{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sys-attn-scan .sys-scan-status{font-size:12px}
/* Agent usage telemetry drilldown (P2.2): the detail-view usage block. el() inserts no whitespace, so
   spacing/alignment must come from here. Figures are tabular so per-window digits align. */
.sys-usage-state{font-size:13px}
.sys-usage-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px}
.sys-usage-win,.sys-usage-rel{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;padding:7px 0;border-top:1px solid var(--cc-line);font-variant-numeric:tabular-nums}
.sys-usage-wl{flex:0 0 68px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-ink-2);font-weight:600}
/* Dense directory (req 10): filter bar, sortable headers, active-filter chips. */
.sys-dir-filters{flex-wrap:wrap;gap:8px;align-items:center}
.sys-in,.sys-sel{font:inherit;font-size:13px;color:var(--cc-ink);background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:6px;padding:5px 8px}
.sys-in{min-width:180px}
.sys-sel{cursor:pointer}
.sys-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sys-savedviews{margin:0}
.sys-active-chip{font:inherit;font-size:12px;color:var(--cc-ink-2);background:var(--cc-canvas);border:1px solid var(--cc-line);border-radius:999px;padding:3px 10px;cursor:pointer}
.sys-active-chip:hover{border-color:var(--cc-green);color:var(--cc-ink)}
.sys-active-x{opacity:.6}
.sys-dir-table th.sys-th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.sys-dir-table th.sys-th-sort:hover{color:var(--cc-green)}
.sys-dir-table th.sys-th-sort.on{color:var(--cc-green)}
.sys-sort-caret{font-size:10px}
.sys-purpose-cell{max-width:280px}
.sys-health-tag.bad{background:rgba(180,35,24,.10);color:var(--cc-danger)}
/* Release compare (req 14). */
.sys-rel-path{margin-left:6px;opacity:.7}
.sys-rel-compare{margin-top:14px;padding-top:12px;border-top:1px solid var(--cc-line)}
.sys-sub-h{font-size:13px;font-weight:600;color:var(--cc-ink);margin:0 0 8px}
.sys-rel-compare-head{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.sys-rel-compare-head label{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--cc-ink-2)}
.sys-rel-cmp-table td,.sys-rel-cmp-table th{font-size:13px}
.sys-rel-cmp-diff td{background:rgba(154,103,0,.08)}
.sys-rel-cmp-note{margin-top:8px}
/* Repository directory + detail (req 15/16). */
.sys-repo-table th.sys-th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.sys-repo-table th.sys-th-sort:hover,.sys-repo-table th.sys-th-sort.on{color:var(--cc-green)}
.sys-row-click{cursor:pointer}
.sys-row-click:hover td{background:var(--cc-canvas)}
.sys-row-click:focus-visible{outline:2px solid var(--cc-green);outline-offset:-2px}
.sys-back{display:inline-block;font-size:13px;margin-bottom:4px}
.sys-repo-role{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sys-sasha{background:var(--cc-surface);border:1px solid var(--cc-line);border-left:3px solid var(--cc-accent,#8A6D2B);border-radius:8px;padding:12px 14px}
.sys-sasha-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;padding:4px 0;border-top:1px solid var(--cc-line)}
.sys-sasha-row:first-of-type{border-top:0}
.sys-sasha-tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:10px}
.sys-sasha-tag.ok{color:var(--cc-green);background:#E9F5EF;border:1px solid #BFE3D2}
.sys-sasha-tag.warn{color:#8A5A00;background:#EEF1F4;border:1px solid #C7CDD3}
.sys-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow-wrap:anywhere}
.sys-sasha-note{margin-top:8px;line-height:1.5;max-width:70ch}

/* Systems & Agents detail drill-down (C7). */
.sys-link{color:var(--cc-green);text-decoration:none;font-weight:600}
.sys-link:hover{text-decoration:underline}
.sys-back{display:inline-block;font-size:12px;margin-bottom:8px}
.sys-ident{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sys-ident-owner{font-size:13px;color:var(--cc-ink)}
.sys-desc{font-size:14px;color:var(--cc-ink);max-width:80ch;line-height:1.55}
.sys-prov-detail{display:grid;grid-template-columns:170px 1fr;gap:8px 18px;margin:0;font-size:13px}
.sys-prov-detail dt{color:var(--cc-ink-2);font-weight:600}
.sys-prov-detail dd{margin:0;color:var(--cc-ink);word-break:break-word}
.sys-paths{display:flex;flex-direction:column;gap:4px}
.sys-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#EEF1F4;border:1px solid var(--cc-line);border-radius:5px;padding:1px 6px;color:var(--cc-ink)}
.sys-rel{display:flex;flex-direction:column;gap:6px}
.sys-rel-row{display:flex;gap:10px;align-items:baseline;font-size:13px}
.sys-rel-type{color:var(--cc-ink-2);min-width:120px}
.sys-skills-intro{margin:-3px 0 14px;max-width:76ch}
.sys-skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border-top:1px solid var(--cc-line)}
.sys-skill-group{min-width:0;padding-top:12px}
.sys-skill-group-wide{grid-column:1/-1}
.sys-skill-group-h{margin:0 0 3px;font-size:12px;font-weight:700;color:var(--cc-ink);letter-spacing:0}
.sys-skill-list{min-width:0}
.sys-skill-group-wide .sys-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.sys-skill-row{position:relative;display:grid;grid-template-columns:minmax(130px,.34fr) minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:10px 2px;border-bottom:1px solid var(--cc-line);color:inherit;text-decoration:none}
.sys-skill-row:hover .sys-skill-name,.sys-skill-row:focus-visible .sys-skill-name{color:var(--cc-green)}
.sys-skill-row:focus-visible{outline:2px solid var(--cc-green);outline-offset:2px;border-radius:3px}
.sys-skill-name{font-size:13px;font-weight:700;color:var(--cc-ink)}
.sys-skill-desc{font-size:12px;line-height:1.45;color:var(--cc-ink-2)}
.sys-skill-open{font-size:11px;font-weight:650;color:var(--cc-green)}
.sys-skill-empty{padding:10px 2px;border-bottom:1px solid var(--cc-line);font-size:12px}
.sys-aff-note{margin:2px 0 12px;max-width:70ch}
.sys-aff{display:flex;flex-direction:column;gap:10px;max-width:720px}
.sys-aff-row{border:1px solid var(--cc-line);border-radius:8px;background:var(--cc-surface);padding:11px 13px}
.sys-aff-label{font-size:12px;font-weight:700;color:var(--cc-ink);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.sys-aff-tag{font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:none;color:#8A5A00;background:#EEF1F4;border:1px solid #C7CDD3;border-radius:4px;padding:1px 6px}
.sys-aff-body{display:flex;align-items:flex-start;gap:10px}
.sys-cmd{flex:1;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#0F1A16;color:#E7F0EC;border-radius:7px;padding:9px 12px;white-space:pre-wrap;word-break:break-word;overflow-x:auto}
.sys-copy{flex:0 0 auto}
.sys-aff-text{font-size:13px;color:var(--cc-ink-2);line-height:1.5}
.sys-aff-planned .sys-aff-body{font-size:13px;color:var(--cc-ink-2);line-height:1.5}

/* Systems & Agents — Team terminals (C4). Neutral cards; state color used only for status semantics. */
.sys-tabs{margin:16px 0 0}
.sys-page-head{margin-bottom:0}
.sys-workspace-context{display:flex;align-items:baseline;gap:14px;padding:11px 0 12px;border-bottom:1px solid var(--cc-line)}
.sys-context-label{flex:none;color:var(--cc-green);font-size:10.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.sys-context-question{color:var(--cc-ink-2);font-size:13px;line-height:1.45}
@media(max-width:760px){
  .sys-workspace-context{align-items:flex-start;flex-direction:column;gap:5px}
  .sys-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sys-prov-detail{grid-template-columns:1fr;gap:3px}
  .sys-prov-detail dd{margin:0 0 8px}
  .sys-skill-groups{grid-template-columns:1fr;gap:16px}
  .sys-skill-group-wide .sys-skill-list{grid-template-columns:1fr}
  .sys-skill-row{grid-template-columns:minmax(110px,.35fr) minmax(0,1fr) auto;gap:10px}
}
.sys-term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.sys-term-card{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:14px 15px}
.sys-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.sys-term-who{font-weight:650;color:var(--cc-ink);font-size:14px}
.sys-term-client{font-size:12px;color:var(--cc-ink-2)}
.sys-term-axes{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.sys-axis-l{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-ink-2);font-weight:600}
.sys-axis-v{font-size:13px;font-weight:600;margin-top:1px}
.sys-term-foot{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:11px;padding-top:9px;border-top:1px solid var(--cc-line);font-size:12px;color:var(--cc-ink)}
.sys-term-action{margin-top:9px}
.sys-term-link{font-size:12px;font-weight:600;color:var(--cc-accent,#8A6D2B);text-decoration:none}
.sys-term-link:hover{text-decoration:underline}
.sys-term-action-due{padding:7px 10px;background:var(--cc-canvas,#F4F6F8);border-radius:6px}
/* status semantics */
.sys-st-connected,.sys-st-passed,.sys-st-current{color:var(--cc-green)}
.sys-st-auth_expired,.sys-st-failed,.sys-st-inaccessible,.sys-st-not_installed{color:var(--cc-danger)}
.sys-st-update_available,.sys-st-local_override,.sys-st-pending{color:var(--cc-warn)}
.sys-st-offline_last_known_good{color:var(--cc-info)}
.sys-st-unverified,.sys-st-unknown{color:var(--cc-ink-2)}

/* Systems & Agents — Knowledge provenance (C5). */
.sys-kn-list{display:flex;flex-direction:column;gap:12px}
.sys-kn-card{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:13px 15px}
.sys-kn-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}
.sys-kn-cid{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.sys-kn-summary{font-size:14px;color:var(--cc-ink);font-weight:600}
.sys-kn-reason{font-size:13px;color:var(--cc-ink-2);margin-top:3px;line-height:1.5}
.sys-kn-redacted{font-size:13px;color:#8A5A00;background:#EEF1F4;border:1px solid #C7CDD3;border-radius:7px;padding:8px 11px}
.sys-kn-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:9px;font-size:12px;color:var(--cc-ink)}
.sys-kn-ev{color:var(--cc-ink-2)}
.sys-kn-targets{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.sys-kn-target{background:#EEF1F4}
.sys-kn-chain{margin-top:8px;font-size:12px}
.sys-kn-proposed{color:var(--cc-ink-2)} .sys-kn-in_review{color:var(--cc-info)}
.sys-kn-applied{color:var(--cc-green)} .sys-kn-rejected{color:var(--cc-danger)} .sys-kn-superseded{color:var(--cc-ink-2)}
.sys-conf-public{color:var(--cc-ink-2)} .sys-conf-internal{color:var(--cc-ink-2)}
.sys-conf-restricted,.sys-conf-l0{color:var(--cc-warn);background:#EEF1F4}
.sys-kn-form{margin:2px 0 8px;border:1px solid var(--cc-line);border-radius:8px;background:var(--cc-surface);padding:10px 13px}
.sys-kn-form summary{cursor:pointer;font-weight:650;color:var(--cc-ink);font-size:13px}
.sys-kn-form-body{display:flex;flex-direction:column;gap:9px;margin-top:11px;max-width:560px}
.sys-kn-field{display:flex;flex-direction:column;gap:4px}
.sys-kn-field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-ink-2);font-weight:600}
.sys-kn-ta{min-height:60px;resize:vertical;font:inherit}
.sys-kn-form-note{margin-top:2px}

/* Systems & Agents — Repositories detail rows (C6). */
.sys-repo-prov{display:block;margin-top:8px}
.sys-repo-row{display:flex;gap:12px;align-items:baseline;padding:3px 0;font-size:13px}
.sys-repo-row dt{color:var(--cc-ink-2);min-width:120px;font-weight:600}
.sys-repo-row dd{margin:0;color:var(--cc-ink)}

/* Systems & Agents — release verification states (C2). */
.sys-ver-passed{color:var(--cc-green)} .sys-ver-failed{color:var(--cc-danger)} .sys-ver-pending{color:var(--cc-warn)} .sys-ver-unknown{color:var(--cc-ink-2)}

/* Contact create/edit form (D1). */
.cf-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(520px,92vw);max-height:88vh;overflow:auto;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:12px;box-shadow:0 18px 50px rgba(15,26,22,.22)}
.cf-body{padding:16px 18px;display:flex;flex-direction:column;gap:11px}
.cf-field{display:flex;flex-direction:column;gap:4px}
.cf-field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-ink-2,#5E6872);font-weight:600}
.cf-in{font:inherit;font-size:13px;padding:8px 11px;border:1px solid var(--cc-line,#D9DEE4);border-radius:7px;color:var(--cc-ink,#151A1E);background:#fff}
.cf-in:focus{outline:2px solid var(--cc-green,#174C3C);outline-offset:1px;border-color:var(--cc-green,#174C3C)}
.cf-err{color:var(--cc-danger,#B42318);font-size:12.5px;min-height:1em}
.cf-err:empty{display:none}
.cf-prov{font-size:12px;color:var(--cc-ink-2,#5E6872);line-height:1.5;border-top:1px solid var(--cc-line,#D9DEE4);padding-top:10px}
.pp-dhead-actions{display:flex;align-items:center;gap:8px}

/* Organization management modal (D2). */
.om-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(640px,94vw);max-height:88vh;overflow:auto;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:12px;box-shadow:0 18px 50px rgba(15,26,22,.22)}
.om-body{padding:14px 18px;display:flex;flex-direction:column;gap:18px}
.om-sec{display:flex;flex-direction:column;gap:8px}
.om-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.om-domain{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--cc-ink,#151A1E);min-width:180px}
.om-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.om-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cc-ink,#151A1E)}
.om-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.sys-pill.on{color:var(--cc-accent,#8A6D1E);background:#EEF1F4;border-color:#D9DEE4}
.sp-sec{margin:8px 0 4px;padding:8px 0 2px;border-top:1px solid var(--cc-line,#E3E7EB)}
.sp-sec:first-of-type{border-top:none}
.sp-h{font-size:12px;font-weight:700;color:var(--cc-ink,#151A1E);margin-bottom:6px;letter-spacing:.02em}
.sp-row .sp-rm{margin-left:auto;padding:1px 8px;font-size:11px}
.sp-add{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}
.sp-add .sp-key{max-width:190px}
.sp-add .sp-val{flex:1;min-width:120px}

/* Co-investment analytics workspace (D11a) */
.an-cofilters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}
.an-cofilters .cf-in{max-width:200px}
.an-cofilters .pp-btn{margin-left:auto}
.an-cochips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}
.an-cotable{width:100%;border-collapse:collapse;font-size:13px}
.an-cotable th,.an-cotable td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--cc-line,#E3E7EB)}
.an-coth{font-size:11px;font-weight:700;color:var(--cc-ink-2,#5A6570);letter-spacing:.02em;cursor:pointer;user-select:none;white-space:nowrap}
.an-coth.on{color:var(--cc-accent,#8A6D1E)}
.an-conum{text-align:right;font-variant-numeric:tabular-nums;color:var(--cc-ink,#151A1E)}
.an-cofirm{font-weight:600;color:var(--cc-ink,#151A1E)}
.an-cotr{cursor:pointer}
.an-cotr:hover{background:#F4F6F8}
.an-codrill{margin-top:12px}
.an-drill-h{font-size:12px;font-weight:700;color:var(--cc-ink,#151A1E);margin-bottom:6px}
.an-drill-row{display:flex;gap:10px;align-items:center;padding:4px 0;border-bottom:1px solid var(--cc-line,#EEF1F4)}
.an-drill-pc{min-width:220px;font-size:13px;color:var(--cc-ink,#151A1E)}

/* Network-growth bars (D11b) */
.an-ngbars{display:flex;gap:4px;align-items:flex-end;height:120px;margin:10px 0;overflow-x:auto;padding-bottom:2px}
.an-ngbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:34px;height:100%;background:none;border:none;cursor:pointer;padding:0}
.an-ngbar-fill{width:20px;min-height:2px;background:var(--cc-accent,#8A6D1E);border-radius:2px 2px 0 0;transition:opacity .12s}
.an-ngbar:hover .an-ngbar-fill{opacity:.75}
.an-ngbar-x{font-size:10px;color:var(--cc-ink-2,#5A6570);font-variant-numeric:tabular-nums}

/* Composition small-multiples + firm-coverage matrix (D11c) */
.an-smgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:10px 0}
.an-smcard{border:1px solid var(--cc-line,#E3E7EB);border-radius:8px;padding:10px 12px;background:var(--cc-surface,#fff)}
.an-smh{font-size:11px;font-weight:700;color:var(--cc-ink-2,#5A6570);letter-spacing:.02em;margin-bottom:8px;text-transform:uppercase}
.an-smrow{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;padding:3px 0;text-align:left}
.an-smrow:hover .an-smbar{opacity:.75}
.an-smlabel{flex:0 0 44%;font-size:12.5px;color:var(--cc-ink,#151A1E);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-smbarwrap{flex:1;height:8px;background:#EEF1F4;border-radius:4px;overflow:hidden}
.an-smbar{display:block;height:100%;background:var(--cc-accent,#8A6D1E);border-radius:4px}
.an-smn{flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--cc-ink-2,#5A6570);min-width:22px;text-align:right}
.an-fcfirm{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-bottom:1px solid var(--cc-line,#EEF1F4);cursor:pointer;padding:7px 0;text-align:left}
.an-fcfirm:hover{background:#F4F6F8}
.an-fcmatrix{overflow-x:auto;margin:6px 0 12px}
.an-fctable td,.an-fctable th{padding:4px 8px;text-align:center;font-size:12px}
.an-fcth{white-space:nowrap;font-size:10px}
.an-fccell{color:var(--cc-line,#C7CDD3);font-variant-numeric:tabular-nums}
.an-fccell.on{color:var(--cc-ink,#151A1E);font-weight:600;background:#EEF1F4;cursor:pointer;border-radius:3px}
.an-fccell.on:hover{background:#E3E8EE}

/* Coordinated analytics filter bar (D11d) */
.an-sharedbar{align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--cc-line,#E3E7EB);margin-bottom:6px}
.an-sharedbar .cf-in{max-width:180px}
.an-sharedbar .pp-btn{margin-left:auto}
.an-shl{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--cc-ink-2,#5A6570)}







/* Contacts compound filter bar (D3). */
.pp-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 14px}
.pp-filter-sel,.pp-filter-in{font:inherit;font-size:12.5px;padding:6px 10px;border:1px solid var(--cc-line,#D9DEE4);border-radius:7px;background:var(--cc-surface,#fff);color:var(--cc-ink,#151A1E)}
.pp-filter-in{min-width:130px}
.pp-filter-chk{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--cc-ink-2,#5E6872)}
.pp-filter-active{font-size:12px;color:var(--cc-ink-2,#5E6872);margin-left:2px}
.pp-filter-clear{font-size:12px}

/* Saved views + export strip (D4). */
.pp-views{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}

/* Contacts search — inline rapid actions (D5). */
.cts-search-item{display:flex;align-items:center;gap:8px;justify-content:space-between}
.cts-search-actions{display:flex;gap:4px;flex-shrink:0;padding-right:8px}
.cts-act{font:inherit;font-size:11.5px;font-weight:600;color:var(--cc-green,#174C3C);background:transparent;border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;padding:3px 8px;cursor:pointer;white-space:nowrap}
.cts-act:hover{border-color:var(--cc-green,#174C3C);background:rgba(23,76,60,.06)}

/* LPCRM source-health strip (D6). */
.cts-lpcrm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:12.5px}
.cts-lpcrm-pill{font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--cc-line,#D9DEE4)}
.cts-lpcrm-meta{color:var(--cc-ink-2,#5E6872)}
.lpc-healthy{color:var(--cc-green,#174C3C);background:#E7F0EC}
.lpc-stale,.lpc-partial{color:var(--cc-warn,#9A6700);background:#EEF1F4}
.lpc-source_missing,.lpc-not_configured{color:var(--cc-ink-2,#5E6872);background:#EEF1F4}
.lpc-failed{color:var(--cc-danger,#B42318);background:#FBEBE9}

/* Interaction-inclusion review modal (D7). */
.ir-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(620px,94vw);max-height:88vh;overflow:auto;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:12px;box-shadow:0 18px 50px rgba(15,26,22,.22)}
.ir-body{padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.ir-lsc{margin-bottom:6px}
.ir-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--cc-line,#D9DEE4);font-size:13px}
.ir-when{color:var(--cc-ink-2,#5E6872);font-size:12px}
.ir-acts{display:flex;gap:6px}

/* Reconciliation conflict review (D8). */
.pp-conflicts{background:#EEF1F4;border:1px solid #C7CDD3;border-radius:9px;padding:10px 12px}
.pp-conflicts-h{font-size:12.5px;font-weight:600;color:#8A5A00;margin-bottom:6px}
.pp-conflict-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px}
.pp-conflict-field{font-size:12px;color:var(--cc-ink,#151A1E);min-width:100px;text-transform:capitalize}

/* Weekly review (E10, journey 10) - a composed picture with per-section health + drill-through. */
.rv-body{padding:0}
.rv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 16px}
.rv-asof{font-size:12.5px}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.rv-card{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:12px}
.rv-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-card-h{font-size:14px;font-weight:650;margin:0;color:var(--cc-ink,#151A1E)}
.rv-health{font-size:11px;font-weight:650;padding:2px 8px;border-radius:999px;white-space:nowrap}
.rv-h-ok{background:#E6F4EC;color:#174C3C}
.rv-h-warn{background:#FBF1DC;color:#7A5B12}
.rv-h-bad{background:#FBE6E6;color:#8A2020}
.rv-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 14px}
.rv-metric-v{font-size:22px;font-weight:680;line-height:1.1;color:var(--cc-ink,#151A1E)}
.rv-metric-l{font-size:11.5px;color:var(--cc-ink-2,#5E6872);margin-top:2px}
.rv-note{font-size:12px;line-height:1.4}
.rv-empty{font-size:13px}
.rv-drill{margin-top:auto;padding-top:4px}
.rv-link{font-size:12.5px;font-weight:600;color:var(--cc-accent,#8A6D2B);text-decoration:none}
.rv-link:hover{text-decoration:underline}
@media (max-width:760px){ .rv-grid{grid-template-columns:1fr} }

/* Introduction detail leverage handoffs (E21): links to canonical records + inline outcome editor. */
.pp-link{color:var(--cc-accent,#8A6D2B);font-weight:600;text-decoration:none}
.pp-link:hover{text-decoration:underline}
.pp-input{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--cc-line,#D9DEE4);border-radius:6px;background:var(--cc-surface,#fff);color:var(--cc-ink,#151A1E)}
textarea.pp-input{resize:vertical}
.intro-resolve{margin-left:10px}

/* Command Center health -> recovery handoff (E21): an unhealthy source offers a recovery route + owner. */
.cc-recover{display:inline-flex;align-items:center;gap:8px;margin-left:8px}
.cc-recover-link{font-size:11.5px;font-weight:650;color:var(--cc-green);text-decoration:none}
.cc-recover-link:hover{text-decoration:underline}
.cc-recover-owner{font-size:11px}

/* E20 interaction standard: muted inline labels use a token, not a hardcoded signal color. */
.op-edit-lbl{font-size:12px;color:var(--cc-ink-2,#5E6872);align-self:center}

/* Slice F - Portfolio module (directory + module tabs). Dense, calm, tokened. */
.portfolio-module-body{margin-top:4px}
.portfolio-table-wrap{overflow-x:auto}
.portfolio-table{width:100%}
.portfolio-name{font-weight:600;color:var(--cc-accent,#8A6D2B);text-decoration:none}
.portfolio-name:hover{text-decoration:underline}
.portfolio-mut{color:var(--cc-ink-2,#5E6872)}
.portfolio-empty{padding:24px 4px;display:flex;flex-direction:column;gap:6px;color:var(--cc-ink-2,#5E6872)}
.portfolio-empty strong{color:var(--cc-ink,#151A1E)}

/* Slice F inc3 - directory operating strip + toolbar. */
.portfolio-strip{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}
.portfolio-strip-item{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 12px;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:8px;cursor:pointer;font:inherit;text-align:left}
.portfolio-strip-item.act{border-color:var(--cc-accent,#8A6D2B);box-shadow:inset 0 0 0 1px var(--cc-accent,#8A6D2B)}
.portfolio-strip-n{font-size:18px;font-weight:680;color:var(--cc-ink,#151A1E)}
.portfolio-strip-l{font-size:11.5px;color:var(--cc-ink-2,#5E6872)}
.portfolio-savedviews{margin-bottom:10px}
.portfolio-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.portfolio-search{min-width:260px;flex:1}
@media (max-width:760px){ .portfolio-search{min-width:0} }

/* Slice F inc4 - company workspace. Dense, calm, tokened; one primary action per panel. */
.portfolio-back{font-size:12.5px;font-weight:600;color:var(--cc-accent,#8A6D2B);text-decoration:none}
.portfolio-back:hover{text-decoration:underline}
.portfolio-ws-head{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.portfolio-ws-id{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.portfolio-ws-tab{font-size:12.5px;color:var(--cc-ink-2,#5E6872)}
.portfolio-ws-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;align-items:center}
.portfolio-factsrc{color:var(--cc-ink-2,#5E6872);background:var(--cc-canvas,#F4F6F8);border-radius:999px;padding:2px 8px}
.portfolio-switch-wrap{display:inline-flex;align-items:center;gap:8px;font-size:12px}
.portfolio-switcher{min-width:180px}
.portfolio-ws-body{margin-top:12px}
.portfolio-ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.portfolio-sec{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.portfolio-sec-h{font-size:13px;font-weight:650;margin:0 0 4px;color:var(--cc-ink,#151A1E)}
.portfolio-kv{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;border-top:1px solid var(--cc-line,#eef1f4);padding-top:6px}
.portfolio-kv:first-of-type{border-top:0;padding-top:0}
.portfolio-kv-l{color:var(--cc-ink-2,#5E6872)}
.portfolio-kv-v{text-align:right;color:var(--cc-ink,#151A1E)}
.portfolio-tablink{margin-top:4px;font-size:12px}
.portfolio-status{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--cc-canvas,#F4F6F8);color:var(--cc-ink-2,#5E6872)}
.portfolio-status-available{background:#E6F4EC;color:#174C3C}
.portfolio-status-not-uploaded,.portfolio-status-not-reviewed{background:#FBF1DC;color:#7A5B12}
.portfolio-status-restricted{background:#EEE;color:#5E6872}
.portfolio-board-card{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}
.portfolio-board-h{display:flex;justify-content:space-between;align-items:baseline}

/* Slice F inc5 - metrics register write UI. */
.portfolio-addmetric,.portfolio-addobs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;align-items:center}
.portfolio-unit{max-width:150px}
.portfolio-metric-card{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.portfolio-metric-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.portfolio-metric-head strong{flex:1}
.portfolio-metric-row{display:flex;gap:24px;flex-wrap:wrap}
.portfolio-proposed{border-top:1px solid var(--cc-line,#eef1f4);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.portfolio-proposed-row{display:flex;align-items:center;gap:10px;font-size:12.5px}
.portfolio-proposed-row span{flex:1}

/* Slice F inc6 - materials upload + actions. */
.portfolio-upload{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.portfolio-doc-actions{display:flex;gap:6px;flex-wrap:wrap}

/* Slice F inc7 - board notes editor + actions. */
.portfolio-addmeeting,.portfolio-board-actrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}
.portfolio-notes-wrap{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.portfolio-notes-head{display:flex;justify-content:space-between;align-items:center}
.portfolio-notes{width:100%;box-sizing:border-box}
.portfolio-savestate{font-size:11.5px}
.portfolio-board-actions{border-top:1px solid var(--cc-line,#eef1f4);padding-top:8px;margin-top:6px}
/* Slice F inc10 - scope-aware Portfolio search. Provenance is part of every row, not hidden detail. */
.portfolio-global-search{margin:12px 0 16px;border-top:1px solid var(--cc-line,#D9DEE4);border-bottom:1px solid var(--cc-line,#D9DEE4);padding:12px 0}
.portfolio-global-search-label{display:block;margin-bottom:6px;font-size:12px;font-weight:650;color:var(--cc-ink,#151A1E)}
.portfolio-global-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.portfolio-global-search-input{min-width:0;width:100%}
.portfolio-global-search-submit{min-width:84px;min-height:38px}
.portfolio-global-search-state{min-height:20px;padding-top:6px;font-size:11.5px;color:var(--cc-ink-2,#5E6872)}
.portfolio-global-search-state.error{color:var(--cc-danger,#9B2C2C)}
.portfolio-global-search-results{display:flex;flex-direction:column;gap:14px}
.portfolio-search-company{border-top:1px solid var(--cc-line,#D9DEE4);padding-top:10px}
.portfolio-search-company:first-child{border-top:0;padding-top:0}
.portfolio-search-company-name{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--cc-ink,#151A1E)}
.portfolio-search-type{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;border-top:1px solid var(--cc-line,#EEF1F4);padding:8px 0}
.portfolio-search-type-name{margin:2px 0 0;font-size:11px;font-weight:650;color:var(--cc-ink-2,#5E6872)}
.portfolio-search-list{display:flex;flex-direction:column}
.portfolio-search-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,230px);gap:14px;padding:7px 4px;border-bottom:1px solid var(--cc-line,#EEF1F4);color:var(--cc-ink,#151A1E);text-decoration:none}
.portfolio-search-result:last-child{border-bottom:0}
.portfolio-search-result:hover{background:var(--cc-canvas,#F4F6F8)}
.portfolio-search-result:focus-visible{outline:2px solid var(--cc-accent,#8A6D2B);outline-offset:2px}
.portfolio-search-result-main{display:flex;min-width:0;flex-direction:column;gap:2px}
.portfolio-search-result-title{font-size:12.5px;overflow-wrap:anywhere}
.portfolio-search-result-snippet{font-size:11.5px;line-height:1.35;color:var(--cc-ink-2,#5E6872);overflow-wrap:anywhere}
.portfolio-search-result-meta{font-size:10.5px;line-height:1.35;text-align:right;color:var(--cc-ink-2,#5E6872);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.portfolio-search-focus{outline:2px solid var(--cc-accent,#8A6D2B);outline-offset:2px}
@media (max-width:760px){
  .portfolio-global-search-form{grid-template-columns:minmax(0,1fr)}
  .portfolio-global-search-submit{width:100%;min-height:44px}
  .portfolio-search-type{grid-template-columns:minmax(0,1fr);gap:4px}
  .portfolio-search-result{grid-template-columns:minmax(0,1fr);gap:4px;padding:9px 2px}
  .portfolio-search-result-meta{text-align:left}
}

/* Slice F inc9 - staging form */
.portfolio-addstaging{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}

/* Historical archive (CVP_Handoff, L0). Restrained, institutional; reuses the portfolio palette. */
.portfolio-arch-summary{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;margin:0 0 14px;padding:8px 12px;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-left:3px solid var(--cc-accent,#8A6D2B);border-radius:8px;font-size:12.5px;color:var(--cc-ink,#151A1E)}
.portfolio-arch-summary-h{font-weight:650}
.portfolio-arch{margin-top:22px;border-top:1px solid var(--cc-line,#D9DEE4);padding-top:16px}
.portfolio-arch-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:10px}
.portfolio-arch-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.portfolio-chip{font:inherit;font-size:12px;padding:4px 10px;border-radius:14px;border:1px solid var(--cc-line,#D9DEE4);background:var(--cc-surface,#fff);color:var(--cc-ink-2,#5E6872);cursor:pointer}
.portfolio-chip:hover{border-color:var(--cc-accent,#8A6D2B);color:var(--cc-ink,#151A1E)}
.portfolio-chip.act{background:var(--cc-accent,#8A6D2B);border-color:var(--cc-accent,#8A6D2B);color:#fff;font-weight:600}
.portfolio-arch-table td{vertical-align:top}
.portfolio-arch-subj{font-size:12.5px;color:var(--cc-ink,#151A1E);overflow-wrap:anywhere}
.portfolio-arch-att{font-size:11px}
.portfolio-arch-badges{display:flex;flex-wrap:wrap;gap:4px}
.portfolio-arch-badge{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:10px;white-space:nowrap;border:1px solid var(--cc-line,#D9DEE4);color:var(--cc-ink-2,#5E6872);background:#F4F6F8}
/* The common states (stored / extracted / external) stay quiet neutral so the states that need operator
   action — original_needed (amber), priority (red), degraded (grey italic) — are the only ones wearing color. */
.portfolio-arch-badge.av-stored_file{color:#5E6872;border-color:#D9DEE4;background:#F4F6F8}
.portfolio-arch-badge.av-extracted_update{color:#5E6872;border-color:#D9DEE4;background:#F4F6F8}
.portfolio-arch-badge.av-external_link{color:#5E6872;border-color:#D9DEE4;background:#F4F6F8}
.portfolio-arch-badge.av-original_needed{color:#8A5A00;border-color:#C7CDD3;background:#EEF1F4}
.portfolio-arch-badge.av-priority{color:#B42318;border-color:#F0C7C2;background:#FBEDEB}
.portfolio-arch-badge.av-degraded{color:#5E6872;border-color:#D9DEE4;background:#fff;font-style:italic}
.portfolio-ext{white-space:nowrap}
/* Read-update / upload modal */
.portfolio-modal-back{position:fixed;inset:0;z-index:1300;background:rgba(21,26,30,.42);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}
.portfolio-modal-card{background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:12px;box-shadow:0 12px 40px rgba(21,26,30,.24);max-width:760px;width:100%;padding:18px 20px}
.portfolio-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.portfolio-modal-h{font-size:15px;font-weight:650;margin:0;color:var(--cc-ink,#151A1E);overflow-wrap:anywhere}
.portfolio-md-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--cc-ink-2,#5E6872);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--cc-line,#D9DEE4)}
.portfolio-md{font-size:13px;line-height:1.55;color:var(--cc-ink,#151A1E)}
.portfolio-md-h{font-size:15px;font-weight:650;margin:14px 0 6px}
.portfolio-md h3.portfolio-md-h{font-size:16px;margin:18px 0 7px}
.portfolio-md h4.portfolio-md-h{font-size:13.5px;margin:12px 0 5px}
.portfolio-md h5.portfolio-md-h{font-size:12px;color:var(--cc-ink-2,#5E6872);text-transform:uppercase;letter-spacing:.03em;margin:10px 0 4px}
.portfolio-md-p{margin:0 0 9px}
.portfolio-md-ul{margin:0 0 9px 18px;padding:0}
.portfolio-upload-col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
@media (max-width:760px){
  .portfolio-arch-summary{flex-direction:column;gap:4px}
  .portfolio-modal-card{padding:14px}
}

/* portco@ inbox review panel (L0) in the Portfolio directory. */
.portfolio-inbox-review{margin:0 0 14px;padding:10px 12px;background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-left:3px solid var(--cc-warn,#9A6700);border-radius:8px}
.portfolio-inbox-h{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:8px;font-size:12.5px}
.portfolio-inbox-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--cc-line,#D9DEE4);font-size:12.5px}
.portfolio-inbox-subj{flex:1 1 240px;min-width:180px;overflow-wrap:anywhere}

/* Portfolio rounds & co-investors (R4). */
.portfolio-rounds-table{width:100%;font-size:12px}
.portfolio-rounds-table td,.portfolio-rounds-table th{padding:4px 8px;white-space:nowrap}
.portfolio-rounds-table td:nth-child(6){white-space:normal;min-width:160px}
.portfolio-rounds-conflict{background:#EEF1F4}
.portfolio-rounds-flag{font-size:10.5px;font-weight:600;color:#8A5A00;background:#EEF1F4;border:1px solid #C7CDD3;border-radius:9px;padding:0 6px}
.portfolio-rounds-co{margin-top:8px;font-size:12px;line-height:1.5}

/* Portfolio Files: List/Thumbnails toggle + thumbnail grid + Latest marker (R5). */
.portfolio-fileview{display:inline-flex;margin-left:auto;border:1px solid var(--cc-line,#D9DEE4);border-radius:7px;overflow:hidden}
.portfolio-fileview-btn{font:inherit;font-size:12px;padding:4px 12px;background:var(--cc-surface,#fff);border:0;border-left:1px solid var(--cc-line,#D9DEE4);color:var(--cc-ink-2,#5E6872);cursor:pointer}
.portfolio-fileview-btn:first-child{border-left:0}
.portfolio-fileview-btn.act{background:var(--cc-accent,#8A6D2B);color:#fff;font-weight:600}
.portfolio-latest{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.02em;color:#174C3C;background:#E9F5EF;border:1px solid #BFE3D2;border-radius:9px;padding:0 6px;vertical-align:middle}
.portfolio-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:6px}
.portfolio-thumb{display:flex;flex-direction:column;gap:6px;border:1px solid var(--cc-line,#D9DEE4);border-radius:10px;padding:10px;background:var(--cc-surface,#fff)}
.portfolio-thumb-preview{height:96px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#F4F6F8;border:1px solid var(--cc-line,#D9DEE4)}
.portfolio-thumb-preview.av-original_needed{background:#EEF1F4;border-color:#C7CDD3}
.portfolio-thumb-preview.av-external_link{background:#EBF2FB;border-color:#C9DAF0}
.portfolio-thumb-kind{font-family:var(--mono,ui-monospace,monospace);font-size:13px;font-weight:700;color:var(--cc-ink-2,#5E6872);letter-spacing:.04em}
.portfolio-thumb-title{font-size:12.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.portfolio-thumb-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--cc-ink-2,#5E6872)}
.portfolio-thumb-act{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}
@media (max-width:760px){.portfolio-thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.portfolio-fileview{margin-left:0}}

/* Agent purposes dropdown (R3.4). */
.sys-purpose-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.sys-purpose-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cc-ink-2)}
.sys-purpose-select{min-width:240px}
.sys-purpose-panel{background:var(--cc-surface);border:1px solid var(--cc-line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.sys-purpose-plain{font-size:13.5px;font-weight:600;margin:0}
.sys-purpose-kv{display:flex;gap:10px;font-size:12.5px;line-height:1.5}
.sys-purpose-k{flex:0 0 130px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-ink-2)}
.sys-purpose-invoke{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--cc-line)}
.sys-invoke{background:#F4F6F8;border:1px solid var(--cc-line);border-radius:6px;padding:3px 8px;font-size:12.5px}

/* Sasha contribution proof (R3.6). */
.sys-sasha-tag.mut{color:var(--cc-ink-2,#5E6872);background:#F4F6F8;border:1px solid var(--cc-line,#D9DEE4)}
.sys-sasha-contribs{margin-top:10px;padding-top:8px;border-top:1px solid var(--cc-line,#D9DEE4);display:flex;flex-direction:column;gap:5px}
.sys-sasha-contrib-h{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-ink-2,#5E6872)}
.sys-sasha-contrib{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}

/* Systems & Agents — R3.5/R3.8 detail workspace: health badges, installations, update-history timeline */
.sys-health-tag { display:inline-block; font-size:11px; line-height:1; padding:4px 7px; border-radius:6px;
  border:1px solid var(--cc-line,#D9DEE4); margin-left:6px; vertical-align:middle; letter-spacing:.02em; }
.sys-health-tag.ok   { color:#116149; border-color:#BFE3D2; background:#E9F5EF; }
.sys-health-tag.warn { color:#7A5A12; border-color:var(--cc-line,#D9DEE4); background:var(--cc-surface-2,#F4F6F8); }
.sys-health-tag.mut  { color:var(--cc-ink-3,#6B7480); background:var(--cc-surface-2,#F4F6F8); }
.sys-timeline { list-style:none; margin:8px 0 0; padding:0; border-left:2px solid var(--cc-line,#D9DEE4); }
.sys-tl-item { position:relative; padding:0 0 14px 16px; }
.sys-tl-item::before { content:""; position:absolute; left:-5px; top:4px; width:8px; height:8px; border-radius:50%;
  background:var(--cc-ink-3,#6B7480); }
.sys-tl-meta { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; font-size:12px; }
.sys-tl-who { font-weight:600; color:var(--cc-ink-2,#3A424C); }
.sys-tl-subj { font-size:13px; color:var(--cc-ink,#1D2530); margin-top:2px; }
.sys-repo-hist-foot { margin-top:10px; }
.sys-repo-hist { display:none; margin-top:10px; }
.sys-repo-hist.open { display:block; }

/* Systems & Agents — R3.3 attention surface */
.sys-attn-list { display:grid; grid-template-columns:1fr; gap:0;border:1px solid var(--cc-line,#D9DEE4);border-radius:9px;overflow:hidden;background:var(--cc-surface,#FFF); }
.sys-attn-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center;color:inherit;
  border:0;border-bottom:1px solid var(--cc-line,#D9DEE4);border-radius:0;padding:15px 16px 15px 18px;background:var(--cc-surface,#FFF); }
.sys-attn-item:last-child{border-bottom:0}
.sys-attn-item.sev-warn { border-left:3px solid var(--cc-warn); }
.sys-attn-item.sev-info { border-left:3px solid var(--cc-ink-2); }
.sys-attn-item.sev-critical, .sys-attn-item.sev-danger { border-left:3px solid var(--cc-danger); }
.sys-attn-copy{min-width:0}
.sys-attn-top { display:flex; gap:9px; align-items:baseline; }
.sys-attn-count { font-weight:700; font-size:16px; color:var(--cc-ink,#1D2530); min-width:1.2em; }
.sys-attn-msg { font-size:13.5px;font-weight:650;color:var(--cc-ink,#1D2530); }
.sys-attn-why { margin-top:6px; font-size:12px; color:var(--cc-ink-2,#5E6872); }
.sys-attn-next { margin-top:5px;font-size:12px;color:var(--cc-ink-2,#5E6872); }
.sys-attn-lbl { font-weight:600; color:var(--cc-ink-2,#5E6872); }
.sys-attn-actions{display:flex;align-items:center;justify-content:flex-end}
.sys-attn-action{display:inline-flex;align-items:center;justify-content:center;min-width:142px;text-decoration:none;white-space:nowrap}
.sys-attn-ok { display:flex; gap:10px; align-items:center; }
@media (max-width:720px){
  .sys-attn-item{grid-template-columns:minmax(0,1fr);gap:12px}
  .sys-attn-actions{justify-content:flex-start}
  .sys-attn-action{width:100%}
}

/* R5.1: real page-1 preview image in portfolio Files thumbnail tiles */
.portfolio-thumb-preview.has-img { padding:0; overflow:hidden; background:var(--cc-surface-2,#F4F6F8); }
.portfolio-thumb-img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }

/* R5.4: portfolio Files bulk-correction bar + record edit modal */
.portfolio-bulkbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:10px 12px; margin:8px 0;
  border:1px solid var(--cc-line,#D9DEE4); border-radius:8px; background:var(--cc-surface-2,#F4F6F8); }
.portfolio-bulkbar[hidden] { display:none; }
.portfolio-selbox { margin-right:8px; vertical-align:middle; }
.portfolio-thumb-sel { position:absolute; top:8px; left:8px; z-index:2; }
.portfolio-editmodal { position:fixed; inset:0; background:rgba(20,26,33,.45); display:flex; align-items:center;
  justify-content:center; z-index:1000; }
.portfolio-editmodal-card { background:var(--cc-surface,#FFF); border:1px solid var(--cc-line,#D9DEE4);
  border-radius:12px; padding:18px 20px; min-width:min(520px,92vw); max-width:92vw; box-shadow:0 8px 30px rgba(0,0,0,.18); }
.portfolio-editmodal-h { font-weight:600; margin-bottom:12px; }
.portfolio-editrow { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

/* R3.5/R3.6: agent compare + diff */
.sys-cmp { border:1px solid var(--cc-line,#D9DEE4); border-radius:8px; padding:10px 12px; margin:8px 0; }
.sys-cmp-h { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sys-cmp-acts { display:flex; gap:8px; align-items:center; margin-top:8px; flex-wrap:wrap; }
.sys-diff { margin-top:8px; max-height:420px; overflow:auto; font-size:12px; line-height:1.5; background:var(--cc-surface-2,#F4F6F8);
  border-radius:6px; padding:8px 10px; white-space:pre-wrap; }
.sys-diff[hidden] { display:none; }
.sys-diff-add { color:#116149; }
.sys-diff-del { color:#8A2E2E; }
.sys-diff-same { color:var(--cc-ink-3,#6B7480); }

/* R5: Firm Operations record domains (quarterly / newsletters / Fund II closings) */
.firm-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.firm-table { width:100%; }
.firm-mut { color:var(--cc-ink-3,#6B7480); }
.firm-overdue { color:#8A2E2E; font-weight:600; }
.firm-total { margin:6px 0 12px; padding:8px 12px; border:1px solid var(--cc-line,#D9DEE4); border-radius:8px; background:var(--cc-surface-2,#F4F6F8); }
.firm-total-l { color:var(--cc-ink-3,#6B7480); }
.firm-modal { position:fixed; inset:0; background:rgba(20,26,33,.45); display:flex; align-items:center; justify-content:center; z-index:1000; padding:20px; }
.firm-modal-card { background:var(--cc-surface,#FFF); border:1px solid var(--cc-line,#D9DEE4); border-radius:12px; padding:18px 20px; min-width:min(560px,94vw); max-width:94vw; max-height:88vh; overflow:auto; box-shadow:0 8px 30px rgba(0,0,0,.18); }
.firm-modal-h { font-weight:700; font-size:16px; margin-bottom:10px; }
.firm-modal-h2 { font-weight:600; margin:14px 0 6px; border-top:1px solid var(--cc-line,#D9DEE4); padding-top:10px; }
.firm-modal-acts { display:flex; gap:8px; margin-top:14px; }
.firm-l { display:block; font-size:12px; color:var(--cc-ink-3,#6B7480); margin:8px 0 2px; }
.firm-modal-card .input, .firm-modal-card .select { width:100%; }
.firm-invlist { display:flex; flex-direction:column; gap:4px; }
.firm-inv { display:flex; justify-content:space-between; gap:12px; padding:4px 0; border-bottom:1px solid var(--cc-line,#D9DEE4); }

/* R2.4: Command Center operating calendar */
.cc-cal-nav { display:flex; align-items:center; gap:10px; margin:8px 0; }
.cc-cal-month { font-weight:600; }
.cc-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.cc-cal-dow { font-size:11px; color:var(--cc-ink-3,#6B7480); text-align:center; padding:2px 0; }
.cc-cal-cell { min-height:44px; border:1px solid var(--cc-line,#D9DEE4); border-radius:6px; padding:3px; display:flex; flex-direction:column; gap:2px; }
.cc-cal-cell.empty { border:none; }
.cc-cal-cell.today { outline:2px solid var(--cc-accent,#8A6D2B); }
.cc-cal-daynum { font-size:11px; color:var(--cc-ink-3,#6B7480); }
.cc-cal-dot { display:inline-block; height:6px; border-radius:3px; width:100%; }
.cc-cal-dot.sz-2 { height:9px; } .cc-cal-dot.sz-3 { height:12px; }
.cc-cal-dot.cal-event { background:#5B7FB9; } .cc-cal-dot.cal-lp { background:#B4402E; }
.cc-cal-dot.cal-news { background:#116149; } .cc-cal-dot.cal-close { background:#8A6D2B; } .cc-cal-dot.cal-other { background:#6B7480; }
.cc-cal-agenda { margin-top:10px; display:flex; flex-direction:column; gap:4px; }
.cc-cal-ag-row { display:flex; gap:8px; align-items:baseline; text-decoration:none; color:inherit; padding:3px 0; border-bottom:1px solid var(--cc-line,#D9DEE4); }
.cc-cal-ag-row:hover { background:var(--cc-surface-2,#F4F6F8); }
.cc-cal-ag-date { min-width:56px; color:var(--cc-ink-3,#6B7480); font-size:12px; }
.cc-cal-ag-type { font-size:11px; padding:1px 6px; border-radius:4px; color:#fff; }
.cc-cal-ag-type.cal-event { background:#5B7FB9; } .cc-cal-ag-type.cal-lp { background:#B4402E; }
.cc-cal-ag-type.cal-news { background:#116149; } .cc-cal-ag-type.cal-close { background:#8A6D2B; } .cc-cal-ag-type.cal-other { background:#6B7480; }
.cc-cal-ag-title { font-size:13px; }
@media (max-width: 640px) { .cc-cal-grid { display:none; } }

/* R4.2 Overview reporting-cadence source note: quiet provenance line under reconciled archive dates. */
.portfolio-src-note { margin-top: 8px; font-size: 11px; color: var(--cc-mut, #6B7580); font-style: italic; }

/* R4.1 Source reconciliation panel: a collapsible review worklist above the portfolio directory. */
.portfolio-recon { margin: 12px 0; border: 1px solid var(--cc-line, #D9DEE4); border-radius: 8px; background: var(--cc-surface, #fff); }
.portfolio-recon-h { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 16px; background: none; border: 0; cursor: pointer; text-align: left; font: inherit; }
.portfolio-recon-h b { font-size: 13px; }
.portfolio-recon-badge { margin-left: auto; font-size: 11px; padding: 2px 10px; border-radius: 999px; }
.portfolio-recon-badge.ok { background: var(--cc-ok-bg, #E7F4EC); color: var(--cc-ok, #1E7A46); }
.portfolio-recon-badge.warn { background: var(--cc-warn-bg, #EEF1F4); color: var(--cc-warn, #8A5A00); }
.portfolio-recon-detail { padding: 0 16px 16px; }
.portfolio-recon-worklist { margin-top: 14px; }
.portfolio-recon-wl-h { font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.portfolio-recon-wl-row { display: flex; gap: 12px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--cc-line-soft, #EEF1F4); font-size: 12px; }
.portfolio-recon-kind { font-variant: small-caps; letter-spacing: .04em; color: var(--cc-accent, #8A5A00); white-space: nowrap; }

/* R2.1 Command Center -> weekly review entry point. */
.cc-review-link { display: block; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--cc-green); text-decoration: none; }
.cc-review-link:hover { text-decoration: underline; }

/* R3.2 Slide engagement (deck analytics). */
.slides-toolbar { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-size: 12px; }
.slides-eng-n { display: inline-block; margin-left: 8px; font-size: 11px; color: var(--cc-mut, #6B7580); }
.card-subh { font-size: 13px; font-weight: 600; margin: 18px 0 8px; }
.slides-funnel .funnel-row { display: flex; align-items: center; gap: 10px; padding: 3px 0; font-size: 12px; }
.slides-funnel .funnel-label { flex: 0 0 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slides-funnel .funnel-bar { flex: 1; height: 8px; background: var(--cc-line-soft, #EEF1F4); border-radius: 4px; overflow: hidden; }
.slides-funnel .funnel-bar > span { display: block; height: 100%; background: var(--cc-accent, #8A5A00); }
.slides-funnel .funnel-n { flex: 0 0 120px; text-align: right; color: var(--cc-mut, #6B7580); font-variant-numeric: tabular-nums; }
.slides-journeys .journey-row { display: flex; justify-content: space-between; padding: 4px 0; border-top: 1px solid var(--cc-line-soft, #EEF1F4); font-size: 12px; }
.slides-journeys .journey-n { color: var(--cc-mut, #6B7580); }

/* ── Talent candidate-email campaigns ─────────────────────────────────── */
/* Flex toolbar so the send actions wrap cleanly alongside the filters. */
.talent-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.talent-toolbar .input[type="search"]{flex:1 1 260px;min-width:220px}
.talent-toolbar .select{flex:0 0 auto}
.talent-sel-count{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;margin-left:2px}
.talent-selection-bar{position:sticky;top:72px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 6px 14px rgba(19,43,34,.04)}
.talent-selection-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.talent-selection-copy strong{font-size:13px;color:var(--ink)}
.talent-selection-copy .talent-sel-count{font-family:inherit;font-size:12px;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.talent-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.talent-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-top:1px solid var(--line);background:var(--paper)}
.talent-pagination-copy{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--ink-3)}
.talent-pagination-copy strong{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.talent-pagination-actions{display:flex;gap:8px}
.talent-table tbody tr{transition:background-color .08s ease}
.talent-table tbody tr:hover{background:rgba(21,78,64,.035)}

/* Pill state variants (honest delivery states in the campaign views). */
.pill-ok{background:var(--green-soft);color:var(--green)}
.pill-info{background:var(--cc-canvas);color:var(--cc-teal)}
.pill-err{background:var(--redline-soft);color:var(--redline)}
.pill-muted{background:rgba(27,61,47,0.06);color:var(--ink-2)}

.talent-compose{display:flex;flex-direction:column;gap:14px}
.talent-compose-body{font-family:inherit;line-height:1.5;resize:vertical;min-height:140px}
.talent-radio{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);margin-top:6px}
.talent-radio input{margin-top:2px}
.talent-stepper{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 2px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.talent-stepper li{position:relative;display:flex;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:600;color:var(--ink-3)}
.talent-stepper li:not(:last-child)::after{content:"";position:absolute;left:calc(100% - 10px);right:10px;top:11px;height:1px;background:var(--line)}
.talent-stepper li.complete:not(:last-child)::after{background:var(--teal)}
.talent-step-number{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.talent-stepper li.active{color:var(--ink)}
.talent-stepper li.active .talent-step-number{border-color:var(--teal);background:var(--teal);color:#fff}
.talent-stepper li.complete .talent-step-number{border-color:var(--teal);color:var(--teal)}
.talent-reply-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.talent-reply-choice{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);cursor:pointer}
.talent-reply-choice:has(input:checked){border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:rgba(23,90,75,.035)}
.talent-reply-choice input{margin-top:2px;accent-color:var(--teal)}
.talent-reply-choice span{display:flex;flex-direction:column;gap:2px;min-width:0}
.talent-reply-choice strong{font-size:13px;color:var(--ink)}
.talent-reply-choice small{font-size:11.5px;line-height:1.35;color:var(--ink-3)}
.talent-modal{max-height:calc(100vh - 24px)}
.talent-modal>.modal-actions{bottom:0;margin-left:0;margin-right:0;padding:12px 0 0;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--paper) 10px)}

.talent-aud-counts{display:flex;gap:14px}
.talent-aud-stat{flex:1;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.talent-aud-stat strong{font-size:26px;font-weight:600;line-height:1}
.talent-aud-stat span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.talent-aud-stat.ok{border-color:var(--green);background:var(--green-soft)}
.talent-aud-stat.ok strong{color:var(--green)}
.talent-aud-excl h4,.talent-aud-will h4{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}
.talent-aud-excl ul,.talent-aud-sample{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.talent-aud-excl li,.talent-aud-sample li{font-size:13px;color:var(--ink-2)}

.talent-preview-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.talent-preview-meta dt{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-self:center}
.talent-preview-meta dd{margin:0;font-size:13.5px;color:var(--ink)}
.talent-preview-frame{width:100%;min-height:340px;border:1px solid var(--line);border-radius:10px;background:#fff}
.talent-confirm p{margin:0;font-size:14px}

.talent-campaign-list{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.talent-campaign-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 4px;cursor:pointer}
.talent-campaign-row:hover{background:rgba(27,61,47,0.03)}
.talent-campaign-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.talent-campaign-name{font-weight:600;color:var(--ink)}
.talent-campaign-sub{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talent-campaign-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}
.talent-state-chips{display:flex;flex-wrap:wrap;gap:6px}

/* Talent candidate-email — review fixes (Nigel): secondary hierarchy + honest color */
.muted{color:var(--ink-3)}
.talent-aud-stat.muted strong{color:var(--ink-2)}
.talent-preview-meta dd{overflow-wrap:anywhere}
.talent-bounced{color:var(--redline);font-weight:600}
.talent-table .table-sub.err{color:var(--redline);white-space:normal;max-width:none}

@media(max-width:760px){
  .talent-selection-bar{top:58px;align-items:flex-start;flex-direction:column;gap:10px;padding:11px 12px}
  .talent-selection-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .talent-pagination{padding:12px;align-items:flex-end}
  .talent-stepper li{gap:4px;font-size:9px}
  .talent-step-number{width:20px;height:20px;flex-basis:20px}
  .talent-stepper li:not(:last-child)::after{top:10px}
  .talent-reply-choices{grid-template-columns:1fr}
  .talent-compose-body{min-height:130px}
}

/* ── Relationships to act on (Command Center) ── bound to the .cc slate palette ── */
.ra{margin:18px 0 8px}
.ra-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.ra-chip{font-size:12px;padding:5px 11px;border:1px solid var(--cc-line);border-radius:6px;background:var(--cc-surface);color:var(--cc-ink-2);cursor:pointer}
.ra-chip:hover{border-color:var(--cc-ink-3,#646C76)}
.ra-chip.on{background:rgba(23,76,60,.08);border-color:var(--cc-green);color:var(--cc-green);font-weight:600}
.ra-check{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--cc-ink-2)}
.ra-body{margin-top:6px}
.ra-tbl{display:flex;flex-direction:column;border:1px solid var(--cc-line);border-radius:8px;overflow:hidden;background:var(--cc-surface)}
.ra-hr,.ra-row{display:grid;grid-template-columns:1.6fr 2fr 1.6fr 0.9fr 1.3fr 44px;gap:12px;align-items:center;padding:10px 14px}
.ra-hr{background:var(--cc-canvas);border-bottom:1px solid var(--cc-line);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-ink-3,#646C76)}
.ra-row{border-bottom:1px solid var(--cc-line);cursor:pointer;transition:background .08s}
.ra-row:last-child{border-bottom:0}
.ra-row:hover{background:var(--cc-canvas)}
.ra-row:focus-visible{outline:2px solid var(--cc-green);outline-offset:-2px}
.ra-c{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--cc-ink)}
.ra-name{font-weight:600}
.ra-sub{font-size:11.5px;color:var(--cc-ink-3,#646C76);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ra-reason{font-weight:600;color:var(--cc-ink)}
.ra-matter{font-size:12px;color:var(--cc-ink-2)}
.ra-next{font-size:12.5px;color:var(--cc-ink);font-weight:600}
.ra-next.ra-overdue{color:var(--cc-danger)}
.ra-unassigned{color:var(--cc-ink-2);font-weight:500}
.ra-actions{align-items:flex-end}
.ra-stale{display:inline-block;margin-left:8px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--cc-warn);border-radius:4px;padding:1px 6px;vertical-align:middle}
/* relationship brief in the person drawer */
.ra-brief{background:var(--cc-canvas);border:1px solid var(--cc-line);border-radius:8px}
.ra-brief-lead{font-size:13.5px;color:var(--cc-ink);line-height:1.5;margin-bottom:6px}
.ra-brief-list{margin:2px 0 8px;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.ra-brief-list li{font-size:12.5px;color:var(--cc-ink-2)}
.ra-brief-next{font-size:13px;color:var(--cc-green);font-weight:600}
@media (max-width:820px){
  .ra-hr{display:none}
  .ra-row{grid-template-columns:1fr;gap:6px;padding:12px 14px}
  .ra-actions{align-items:flex-start}
  .ra-c[data-label]::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--cc-ink-3,#646C76);margin-bottom:1px}
}

/* Systems & Agents — Overview control-plane summary */
.sys-ov-head{display:flex;flex-direction:column;gap:8px}
.sys-ov-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--cc-line);border-radius:9px;overflow:hidden;background:var(--cc-surface)}
.sys-ov-fact{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:0;border-right:1px solid var(--cc-line);background:var(--cc-surface);text-decoration:none;color:var(--cc-ink);transition:background .08s,box-shadow .08s}
.sys-ov-fact:hover{background:var(--cc-canvas);box-shadow:inset 0 -2px 0 var(--cc-green)}
.sys-ov-fact.warn{border-left:3px solid var(--cc-warn)}
.sys-ov-fact.danger{border-left:3px solid var(--cc-danger)}
.sys-ov-fact.ok{border-left:3px solid var(--cc-green)}
.sys-ov-fv{font-size:20px;font-weight:600;line-height:1.1}
.sys-ov-fl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cc-ink-3)}
.sys-slv-list{display:flex;flex-direction:column;gap:2px}
.sys-slv-item{display:flex;justify-content:space-between;gap:12px;padding:9px 4px;border-bottom:1px solid var(--cc-line);text-decoration:none;color:var(--cc-ink);font-size:13px}
.sys-slv-item:last-child{border-bottom:0}
.sys-slv-item:hover{background:var(--cc-canvas)}

/* Systems & Agents — Use this agent + horizontal lineage */
.sys-use{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sys-use-btn{padding:9px 16px;border:1px solid var(--cc-green);border-radius:8px;background:var(--cc-green);color:#fff;font-weight:600;font-size:13px;cursor:pointer}
.sys-use-btn:hover{filter:brightness(1.06)}
.sys-use-btn.disabled{background:var(--cc-canvas);color:var(--cc-ink-3);border-color:var(--cc-line);cursor:not-allowed}
.sys-lineage{overflow-x:auto}
.sys-lin-strip{display:flex;gap:0;align-items:stretch;min-width:640px}
.sys-lin-col{flex:1;min-width:120px;display:flex;flex-direction:column;gap:6px;padding:0 12px;border-right:1px solid var(--cc-line);position:relative}
.sys-lin-col:last-child{border-right:0}
.sys-lin-h{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-ink-3);margin-bottom:2px}
.sys-lin-node{font-size:12.5px;padding:5px 8px;border:1px solid var(--cc-line);border-radius:6px;background:var(--cc-surface);color:var(--cc-ink);text-decoration:none}
a.sys-lin-node:hover{border-color:var(--cc-ink-3);background:var(--cc-canvas)}
.sys-lin-node.self{border-color:var(--cc-green);color:var(--cc-green);font-weight:600}
.sys-lin-empty{font-size:12px;color:var(--cc-ink-3)}
.sys-lin-more{font-size:11px;color:var(--cc-ink-3)}

/* Systems & Agents — Team Setup one-row-per-installation table */
.sys-term-table td{padding:10px 12px;border-bottom:1px solid var(--cc-line);vertical-align:top;font-size:12.5px}
.sys-term-row:hover{background:var(--cc-canvas)}
.sys-term-who{font-weight:600;color:var(--cc-ink)}
.sys-term-cell .sys-axis-v{display:block;font-weight:600}
.sys-term-cl{display:none}
.sys-term-actcell{white-space:nowrap}
.sys-term-table{min-width:820px}

/* Systems & Agents — context-aware terminal action prompt */
.sys-term-primary{margin-bottom:6px}
.sys-term-prompt-wrap{margin:6px 0}
.sys-term-prompt2{white-space:pre-wrap;max-width:520px}

/* Systems & Agents — Changes saved views */
.sys-saved-views{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}

/* Systems & Agents — propagation section */
.sys-prop-table{min-width:480px}
.sys-prop-sec .sys-propagation{margin-bottom:8px}

/* Shared sortable table-header affordance (dom.makeSortable). */
th.th-sort{cursor:pointer;user-select:none;white-space:nowrap}
th.th-sort:hover{color:var(--cc-ink)}
th.th-sort:focus-visible{outline:2px solid var(--cc-teal);outline-offset:-2px}
.th-caret{opacity:.75;font-size:.85em}

/* R1: contact-source freshness banner (honest sync state + retry). */
.an-freshness{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;margin:0 0 16px;border:1px solid var(--cc-line);border-left:3px solid var(--cc-green);border-radius:8px;background:#fff;font-size:12.5px;color:var(--cc-ink-2)}
.an-freshness-warn{border-left-color:var(--cc-warn,#9A6700)}
.an-freshness-l{font-weight:500;color:var(--cc-ink)}
.an-freshness-err{color:var(--cc-danger,#B42318)}
.an-freshness .btn{margin-left:auto}

/* R4 step-2: board-meeting proposals (candidates reconciled from cited archive evidence) */
.portfolio-proposals{margin:8px 0 16px}
.portfolio-proposals-h{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--cc-ink)}
.portfolio-proposal-card{background:var(--cc-canvas);border:1px dashed var(--cc-line,#D9DEE4);border-radius:10px;padding:12px 14px;margin:8px 0;display:flex;flex-direction:column;gap:5px}
.portfolio-proposal-h{display:flex;align-items:center;gap:10px}
.portfolio-proposal-actions{display:flex;gap:8px;margin-top:6px}
.portfolio-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--cc-ink-3,#646C76);background:var(--cc-surface,#fff);border:1px solid var(--cc-line,#D9DEE4);border-radius:999px;padding:1px 8px}

/* R4 personal navigation: pin control is hidden at rest so the sidebar's
   established look is unchanged (P2); it appears on row hover/focus only. */
.sb-item-row { display: flex; align-items: center; }
.sb-item-row .sb-item { flex: 1 1 auto; }
.sb-pin { flex: 0 0 auto; background: none; border: 0; cursor: pointer; padding: 0 8px;
  font-size: 12px; line-height: 1; color: var(--ink-40, #9a9a95); opacity: 0; transition: opacity .12s; }
.sb-item-row:hover .sb-pin, .sb-pin:focus-visible, .sb-pin.on { opacity: 1; }
.sb-pin.on { color: var(--accent, #1f5136); }

/* R4 universal command menu (Cmd/Ctrl-K). Overlay palette, keyboard-first. */
.cmdk-scrim { position: fixed; inset: 0; background: rgba(20,30,26,.28); display: flex;
  align-items: flex-start; justify-content: center; padding-top: 12vh; z-index: 10000; }
.cmdk { width: min(620px, 92vw); max-height: 66vh; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--ink-15, #e4e6e5); border-radius: 12px;
  box-shadow: 0 24px 60px rgba(20,30,26,.22); overflow: hidden; }
.cmdk-input { font: inherit; font-size: 15px; padding: 14px 16px; border: 0;
  border-bottom: 1px solid var(--ink-10, #eef0ef); outline: none; }
.cmdk-list { overflow-y: auto; padding: 6px; }
.cmdk-group { font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--ink-40, #9a9a95); padding: 8px 10px 4px; }
.cmdk-opt { display: flex; align-items: baseline; gap: 10px; padding: 8px 10px;
  border-radius: 8px; cursor: pointer; }
.cmdk-opt.act { background: var(--wash, #f2f5f3); }
.cmdk-opt-label { font-size: 13.5px; color: var(--ink, #1a1a1a); }
.cmdk-opt-sub { font-size: 11.5px; color: var(--ink-40, #9a9a95); margin-left: auto; }
.cmdk-empty { padding: 16px; color: var(--ink-40, #9a9a95); font-size: 13px; }

/* R4 mobile command trigger in the nav drawer. */
.nav-drawer-cmd { display: block; width: calc(100% - 24px); margin: 4px 12px 10px; text-align: left;
  font: inherit; font-size: 13px; color: var(--ink-60, #5b5b57); background: var(--wash, #f2f5f3);
  border: 1px solid var(--ink-10, #eef0ef); border-radius: 8px; padding: 10px 12px; cursor: pointer; }

/* RM4 personal-navigation: folders + organize mode. Restrained, cool-neutral, preserves the
   canonical sidebar width/typography (P2). Organize controls are compact and secondary. */
.sb-section-h-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sb-org-toggle { font-size:11px; color:var(--ink-3,#6b7280); background:transparent; border:0;
  cursor:pointer; padding:0 2px; }
.sb-org-toggle[aria-pressed="true"] { color:var(--cc-green,#137a4b); font-weight:600; }
.sb-folder-h { display:flex; align-items:center; justify-content:space-between; gap:6px;
  font-size:11px; letter-spacing:.02em; color:var(--ink-3,#6b7280); padding:4px 6px 2px 14px; }
.sb-org-btn { font-size:11px; line-height:1; color:var(--ink-3,#6b7280); background:transparent;
  border:1px solid var(--line-2,#e5e7eb); border-radius:4px; cursor:pointer; padding:1px 5px; margin-left:4px; }
.sb-org-btn:hover { background:var(--surface-2,#f3f4f6); }
.sb-org-tools { display:flex; flex-wrap:wrap; gap:6px; padding:6px 6px 2px 14px; }
.sb-fav-folder { font-size:11px; max-width:110px; margin-left:4px; }

/* RM4 command-menu server-search states (calm, secondary). */
.cmdk-note { padding:8px 14px; font-size:12px; color:var(--ink-3,#6b7280); }
.cmdk-note.cmdk-err { color:var(--warn,#b45309); }

/* RM6 admin-config firm-wide category editors (restrained, structured; no page builder). */
.acfg-section-h { font-size:15px; font-weight:600; color:var(--ink,#111827); margin:20px 0 6px; }
.acfg-fields { display:flex; flex-direction:column; gap:8px; padding:8px 0; }
.acfg-field { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
.acfg-field .acfg-num { width:90px; }
.acfg-field .acfg-txt { flex:1 1 auto; max-width:360px; }
.acfg-check { display:flex; align-items:center; gap:6px; font-size:13px; }
.acfg-sub { font-size:12px; color:var(--ink-3,#6b7280); }
.acfg-locked { font-size:12px; color:var(--ink-3,#6b7280); font-style:italic; }
.acfg-catlist { display:flex; flex-direction:column; gap:4px; }
.acfg-catrow { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.acfg-catrow.retired span { color:var(--ink-40,#9a9a95); text-decoration:line-through; }
.acfg-addrow { display:flex; gap:6px; margin-top:4px; }
.acfg-btn { font-size:12px; border:1px solid var(--line-2,#e5e7eb); border-radius:4px; background:transparent; cursor:pointer; padding:2px 8px; }
.acfg-btn:hover { background:var(--surface-2,#f3f4f6); }
.acfg-note { font-size:12px; color:var(--ink-3,#6b7280); margin-top:16px; padding-top:8px; border-top:1px solid var(--line-2,#e5e7eb); }

/* Connections: evidence-first account roster. Deliberately uses divided rows rather than a card wall. */
#view-connections{--conn-green:#18724D;--conn-yellow:#A66A00;--conn-red:#B42318;--conn-gray:#7A848D;max-width:1240px;margin:0 auto;padding:36px 42px 64px}
.conn-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.conn-header h1{margin:5px 0 7px;font-size:34px;line-height:1.1;letter-spacing:0;color:var(--ink)}
.conn-header p{max-width:720px;margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.conn-asof{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap;font-size:11px;color:var(--ink-3)}
.conn-asof strong{font-size:12px;color:var(--ink-2);font-weight:600}
.conn-legend{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:14px 0 15px;border-bottom:1px solid var(--line)}
.conn-legend-item{display:flex;align-items:flex-start;gap:8px;min-width:150px;color:var(--ink-2)}
.conn-legend-item>span:last-child{display:flex;flex-direction:column;gap:1px;font-size:11px}
.conn-legend-item strong{color:var(--ink);font-size:11.5px;font-weight:600}
.conn-legend-item small{color:var(--ink-3);font-size:10.5px}
.conn-dot{display:inline-block;width:10px;height:10px;min-width:10px;border-radius:50%;margin-top:2px;box-shadow:0 0 0 3px rgba(122,132,141,.1)}
.conn-dot.green{background:var(--conn-green,#18724D)}
.conn-dot.yellow{background:var(--conn-yellow,#A66A00)}
.conn-dot.red{background:var(--conn-red,#B42318)}
.conn-dot.gray{background:var(--conn-gray,#7A848D)}
.conn-section{margin-top:32px}
.conn-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:10px}
.conn-section-head h2{margin:0 0 3px;font-size:18px;letter-spacing:0;color:var(--ink)}
.conn-section-head p{margin:0;color:var(--ink-3);font-size:12.5px;line-height:1.45}
.conn-roster{border-top:1px solid var(--line)}
.conn-row{display:grid;grid-template-columns:42px minmax(250px,1.5fr) minmax(150px,.75fr) minmax(175px,.85fr) minmax(100px,auto);align-items:center;gap:18px;min-height:96px;padding:14px 8px;border-bottom:1px solid var(--line);background:#fff}
.conn-row:hover{background:#FAFBFB}
.conn-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#F5F7F7;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.04em}
.conn-mark-github{background:#191C1E;color:#fff;border-color:#191C1E}
.conn-mark-claude-code{background:#F4ECE7;color:#7C3F28;border-color:#E8D8CD}
.conn-mark-codex{background:#E7F2ED;color:#155A3E;border-color:#CFE3D9}
.conn-mark-outlook{background:#EAF2FF;color:#185ABD;border-color:#D0E0F7}
.conn-mark-luma{background:#EEEAFB;color:#5938A3;border-color:#DDD5F4}
.conn-mark-lpcrm-graph{background:#EAF2FF;color:#185ABD;border-color:#D0E0F7}
.conn-main{min-width:0}
.conn-name{font-size:14px;font-weight:650;color:var(--ink)}
.conn-purpose{margin-top:2px;color:var(--ink-2);font-size:12.5px;line-height:1.35}
.conn-detail{margin-top:5px;color:var(--ink-3);font-size:11.5px;line-height:1.35}
.conn-identity{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11.5px;color:var(--ink-2);overflow-wrap:anywhere}
.conn-label{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.conn-status{display:grid;grid-template-columns:12px 1fr;gap:8px;align-items:start}
.conn-status-copy{display:flex;flex-direction:column;gap:3px}
.conn-status-copy strong{font-size:11.5px;color:var(--ink);font-weight:650}
.conn-status-copy span{font-size:10.5px;color:var(--ink-3);line-height:1.3}
.conn-action{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 11px;border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--ink);text-decoration:none;font-size:11.5px;font-weight:600;white-space:nowrap}
.conn-action:hover{border-color:#AEB8B3;background:#F7F9F8}
.conn-action-muted{color:var(--ink-3);font-weight:500;border-color:transparent;background:transparent}
.conn-partial,.conn-empty,.conn-loading,.conn-fatal{margin-top:18px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--conn-yellow);background:#FFFCF5;color:var(--ink-2);font-size:12.5px;line-height:1.45}
.conn-loading{border-left-color:var(--conn-gray);background:#FAFBFB}
.conn-empty{margin:0;border-left:0;background:#FAFBFB;text-align:center;color:var(--ink-3)}
.conn-fatal{max-width:580px;margin:48px auto;background:#fff;border-left-color:var(--conn-red)}
.conn-fatal h1{margin:0 0 8px;font-size:24px}.conn-fatal p{margin:0 0 16px}
.conn-team-list{border-top:1px solid var(--line)}
.conn-team-row{border-bottom:1px solid var(--line);background:#fff}
.conn-team-row>summary{display:grid;grid-template-columns:34px minmax(200px,1fr) minmax(280px,1.5fr) 24px;align-items:center;gap:12px;padding:13px 8px;cursor:pointer;list-style:none}
.conn-team-row>summary::-webkit-details-marker{display:none}
.conn-team-row>summary:hover{background:#FAFBFB}
.conn-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#E7EEEB;color:#184E3C;font-size:11px;font-weight:700}
.conn-team-person{display:flex;flex-direction:column;gap:2px;min-width:0}.conn-team-person strong{font-size:12.5px;color:var(--ink)}.conn-team-person small{font-size:10.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.conn-team-summary{font-size:11.5px;color:var(--ink-2)}
.conn-disclosure{justify-self:end;color:var(--ink-3);font-size:18px;font-weight:300}
.conn-team-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:4px 44px 14px;background:#FAFBFB;border-top:1px solid #EDF0EF}
.conn-team-connection{display:grid;grid-template-columns:12px minmax(90px,1fr) minmax(100px,1fr);align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #E7EBE9;font-size:11.5px;color:var(--ink-2)}
.conn-team-connection strong{font-size:11.5px;color:var(--ink)}.conn-team-connection small{grid-column:2/-1;color:var(--ink-3);font-size:10px}

@media(max-width:760px){
  #view-connections{padding:24px 18px 48px}
  .conn-header{align-items:flex-start;flex-direction:column;gap:12px}.conn-header h1{font-size:28px}.conn-asof{align-items:flex-start}
  .conn-legend{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px}
  .conn-row{grid-template-columns:38px minmax(0,1fr);gap:10px 12px;padding:15px 4px;min-height:0}
  .conn-mark{grid-row:1/3}.conn-main{grid-column:2}.conn-identity{grid-column:2}.conn-status{grid-column:2}.conn-action{grid-column:2;justify-self:start}
  .conn-team-row>summary{grid-template-columns:32px minmax(0,1fr) 20px}.conn-team-summary{grid-column:2}.conn-disclosure{grid-column:3;grid-row:1/3}
  .conn-team-detail{grid-template-columns:1fr;padding:4px 14px 14px 54px}
}

/* P2.3 reviewed contribution workflow */
.sys-kn-cid { text-decoration: none; }
.sys-kn-cid:hover { text-decoration: underline; }
.sys-kn-term, .sys-kn-install, .sys-kn-rnote-shown { display: block; }
.sys-kn-ev, .sys-kn-install, .sys-kn-chain, .sys-kn-rnote-shown { overflow-wrap: anywhere; }
.sys-kn-review-wrap { margin-top: 8px; }
.sys-kn-review { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.sys-kn-review .pp-search { flex: 1 1 220px; min-width: 0; }
.sys-kn-focus { outline: 2px solid var(--cc-accent); outline-offset: 2px; transition: outline-color .3s ease; }
.sys-arch-group{margin:14px 0 6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cc-mut,#6B7580)}
.sys-arch-summary{margin-top:4px}
.sys-arch-type{white-space:nowrap}

/* Final Data Architecture command-bar contract. Keep this after legacy responsive rules so scope,
   company, and saved-view controls always own separate grid areas. */
.sys-data-scopebar{
  grid-template-columns:minmax(350px,max-content) minmax(150px,220px) minmax(460px,1fr);
  grid-template-areas:"scope company views";
}
.sys-data-scopebar>.sys-data-scope-buttons{grid-area:scope;min-width:0;max-width:100%}
.sys-data-scopebar>.sys-data-company{grid-area:company;min-width:0}
.sys-data-scopebar>.sys-data-savedviews{grid-area:views;min-width:0;max-width:100%;justify-self:end;overflow:visible}
.sys-data-scopebar>.sys-data-savedviews .sv-bar{width:100%;grid-template-columns:minmax(160px,210px) auto minmax(0,1fr)}

@media (max-width:1320px) and (min-width:761px){
  .sys-data-scopebar{
    grid-template-columns:minmax(350px,1fr) minmax(180px,240px);
    grid-template-areas:"scope company" "views views";
    align-items:center;
  }
  .sys-data-scopebar>.sys-data-scope-buttons{justify-self:start;overflow-x:auto}
  .sys-data-scopebar>.sys-data-savedviews{justify-self:start;width:100%}
  .sys-data-scopebar>.sys-data-savedviews .sv-bar{grid-template-columns:minmax(180px,260px) auto minmax(0,1fr);justify-content:start}
}

@media (max-width:760px){
  .sys-data-scopebar{grid-template-columns:minmax(0,1fr);grid-template-areas:"scope" "company" "views"}
  .sys-data-scopebar>.sys-data-scope-buttons{width:100%;justify-self:stretch;overflow-x:auto}
  .sys-data-scopebar>.sys-data-company{width:100%}
  .sys-data-scopebar>.sys-data-savedviews{width:100%;justify-self:stretch}
  .sys-data-scopebar>.sys-data-savedviews .sv-bar{grid-template-columns:minmax(0,1fr)}
}
/* Fund Documents (fund administrator archive) */
.fund-docs .pp-sub{max-width:70ch}
.fund-entitybar{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.fund-entity .fund-count{opacity:.7;font-variant-numeric:tabular-nums;margin-left:4px}
.fund-docs-tools{margin:0 0 12px}
.fund-docs-search{padding:7px 10px;border:1px solid var(--cc-line);border-radius:8px;background:var(--cc-surface,#fff);color:var(--cc-ink);font-size:13px;min-width:260px;max-width:100%}
.fund-cat{border:1px solid var(--cc-line);border-radius:10px;margin:0 0 10px;background:var(--cc-surface,#fff);overflow:hidden}
.fund-cat-h{cursor:pointer;padding:10px 12px;font-weight:600;font-size:13px;color:var(--cc-ink);list-style:none}
.fund-cat-h::-webkit-details-marker{display:none}
.fund-cat-h .fund-count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--cc-surface-2,#F4F6F8);color:var(--cc-mut,#6B7580);font-size:11px;font-weight:600}
.fund-folder{padding:8px 12px 2px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-mut,#6B7580)}
.fund-table{width:100%;border-collapse:collapse;font-size:13px}
.fund-table th{text-align:left;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--cc-mut,#6B7580);font-weight:600;padding:6px 12px;border-bottom:1px solid var(--cc-line-soft,#EEF1F4)}
.fund-table td{padding:8px 12px;border-bottom:1px solid var(--cc-line-soft,#EEF1F4);vertical-align:top}
.fund-doc-title{display:block;color:var(--cc-ink);font-weight:500}
.fund-doc-file{display:block;font-size:11px;color:var(--cc-mut,#6B7580);word-break:break-word}
.fund-scan{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}
.fund-scan.ok{background:var(--cc-ok-bg,#E7F4EC);color:var(--cc-ok,#1E7A46)}
.fund-scan.warn{background:var(--cc-warn-bg,#EEF1F4);color:var(--cc-warning,#9A6700)}
.fund-scan.bad{background:#FBE9E9;color:#B42318}
.fund-upload{border:1px dashed var(--cc-line);border-radius:10px;margin:0 0 14px;padding:0}
.fund-upload-h{cursor:pointer;padding:10px 12px;font-weight:600;font-size:13px;color:var(--cc-ink)}
.fund-upload-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 12px 12px}
.fund-upload-status{font-size:12px;color:var(--cc-mut,#6B7580)}
@media (max-width:760px){.fund-upload-form{flex-direction:column;align-items:stretch}.fund-upload-form>*{width:100%}.fund-docs-search{min-width:0;width:100%}}
/* Analytics workbench (firm-wide operating analytics) */
.an-modebar{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 4px;border-bottom:1px solid var(--cc-line,#E3E7EB)}
.an-mode{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 12px;font-size:13px;font-weight:600;color:var(--cc-mut,#6B7580);cursor:pointer;white-space:nowrap}
.an-mode:hover{color:var(--cc-ink,#1a2733)}
.an-mode.act{color:var(--cc-green,#1E7A46);border-bottom-color:var(--cc-green,#1E7A46)}
.an-mode:focus-visible{outline:2px solid var(--cc-green,#1E7A46);outline-offset:-2px;border-radius:4px}
.an-controlbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 4px}
.an-controlbar-l{display:flex;align-items:center;gap:8px}
.an-controlbar-lbl{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cc-mut,#6B7580)}
.an-controlbar .an-range{margin:0}
.an-controlbar .an-export{margin-left:auto}
.an-firm{display:block}
.an-fo-sec{padding:16px 0;border-bottom:1px solid var(--cc-line-soft,#EEF1F4)}
.an-fo-sec:last-child{border-bottom:0}
.an-fo-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.an-fo-head h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--cc-ink,#1a2733)}
.an-fo-drill{font-size:12px;font-weight:600;color:var(--cc-green,#1E7A46);text-decoration:none;white-space:nowrap}
.an-fo-drill:hover{text-decoration:underline}
.an-fo-strip{display:flex;flex-wrap:wrap;gap:20px 32px}
.an-fo-stat{min-width:96px}
.an-fo-val{font-size:22px;font-weight:650;line-height:1.1;color:var(--cc-ink,#1a2733);font-variant-numeric:tabular-nums}
.an-fo-stat.warn .an-fo-val{color:var(--cc-warning,#9A6700)}
.an-fo-lbl{font-size:12px;color:var(--cc-mut,#6B7580);margin-top:3px}
.an-fo-sub{font-size:11px;color:var(--cc-mut,#6B7580);opacity:.85}
.an-fo-delta{font-size:11px;margin-top:3px;color:var(--cc-mut,#6B7580);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.an-compare{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--cc-ink,#1a2733);cursor:pointer;white-space:nowrap}
.an-compare input{margin:0;cursor:pointer}
.an-fo-note{margin:12px 0 0;font-size:12px;color:var(--cc-mut,#6B7580);max-width:80ch}
.an-fo-empty{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--cc-surface-2,#F4F6F8);border-radius:8px;font-size:13px}
.an-fo-empty strong{color:var(--cc-ink,#1a2733)}
.an-fo-empty span{color:var(--cc-mut,#6B7580);font-size:12px}
.an-src{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}
.an-src.ok{background:var(--cc-ok-bg,#E7F4EC);color:var(--cc-ok,#1E7A46)}
.an-src.warn{background:var(--cc-warn-bg,#FBF3E2);color:var(--cc-warning,#9A6700)}
.an-src.bad{background:#FBE9E9;color:#B42318}
.an-asof{margin:16px 0 0;font-size:11px;color:var(--cc-mut,#6B7580)}
@media (max-width:760px){.an-fo-strip{gap:14px 20px}.an-fo-val{font-size:19px}.an-modebar{overflow-x:auto;flex-wrap:nowrap}}
/* C4: sticky headers + numeric alignment for workbench tables inside their scroll region (safe, scoped) */
.an-table-wrap{max-height:60vh;overflow:auto}
.an-table-wrap table.analytics-table thead th,.an-table-wrap table.tbl thead th,.an-firm .an-table-wrap th{position:sticky;top:0;z-index:1;background:var(--cc-surface,#fff)}
.an-firm .tbl td.num,.an-firm .analytics-table td.num,.an-firm .tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
