/* ORA engagement collection and Kearney cockpit.
   Uses the existing ORA paper, lavender and serif/sans design language. */

#engagementRoot {
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow: auto;
  color: var(--ink);
  background:
    radial-gradient(1000px 640px at 95% -10%, rgba(167, 139, 250, .24), transparent 62%),
    linear-gradient(165deg, #f8f6fc 0%, #f3eff9 100%);
}
#engagementRoot[hidden] { display: none; }
body.engagement-active { overflow: hidden; }

/* Step 3 — Share Inputs */
#intakeRoot .wrap.wrap-wide {
  width: min(1440px, calc(100vw - 64px));
  max-width: none;
  margin: 0 auto;
  padding: 112px 0 48px;
}
.si-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin: 20px 0 26px;
}
.si-eyebrow {
  display: block;
  color: var(--lav-600);
  font: 800 11px/1.2 var(--sans);
  letter-spacing: 2.1px;
  text-transform: uppercase;
}
.si-head h1 {
  margin: 8px 0 7px;
  color: var(--ink);
  font: 800 clamp(34px, 4vw, 54px)/1.02 var(--serif);
  letter-spacing: -1.6px;
}
.si-head p {
  max-width: 760px;
  margin: 0;
  color: var(--mute);
  font-size: 15px;
}
.si-summary {
  display: grid;
  min-width: 132px;
  padding: 17px 20px;
  border: 1px solid rgba(124, 58, 237, .16);
  border-radius: 18px;
  background: rgba(255, 255, 255, .65);
  box-shadow: 0 16px 38px -28px rgba(76, 29, 149, .45);
}
.si-summary strong { color: var(--ink); font: 800 30px/1 var(--serif); }
.si-summary span { margin-top: 6px; color: var(--mute); font-size: 12px; }
.si-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.si-card {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  padding: 20px;
  border: 1px solid rgba(76, 29, 149, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 18px 42px -34px rgba(76, 29, 149, .48);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.si-card:hover {
  border-color: rgba(124, 58, 237, .3);
  box-shadow: 0 20px 44px -30px rgba(76, 29, 149, .42);
  transform: translateY(-1px);
}
.si-card.is-declined { background: rgba(248, 247, 250, .72); }
.si-card-top { display: grid; grid-template-columns: 31px 1fr auto; gap: 11px; align-items: start; }
.si-number {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 9px;
  background: var(--lav-100);
  color: var(--lav-600);
  font-size: 11px;
  font-weight: 800;
}
.si-copy h3 {
  margin: 1px 0 6px;
  color: var(--ink);
  font: 750 15px/1.3 var(--sans);
}
.si-copy p { margin: 0; color: var(--mute); font-size: 12.5px; line-height: 1.45; }
.si-availability {
  padding: 5px 8px;
  border-radius: 999px;
  background: #f4f1f8;
  color: var(--mute);
  font-size: 10.5px;
  white-space: nowrap;
}
.si-useful {
  margin: 16px 0;
  padding: 11px 12px;
  border-radius: 11px;
  background: rgba(242, 238, 248, .7);
  color: var(--mute);
  font-size: 11.5px;
  line-height: 1.45;
}
.si-useful span {
  display: block;
  margin-bottom: 3px;
  color: var(--lav-600);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.si-actions { display: flex; align-items: center; gap: 10px; margin-top: auto; }
.si-upload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--lav-600);
  color: #fff;
  padding: 9px 12px;
  font-size: 11.5px;
  font-weight: 750;
  cursor: pointer;
}
.si-upload:hover { background: var(--lav-500); }
.si-upload.is-disabled { opacity: .4; cursor: not-allowed; }
.si-upload input { display: none; }
.si-none {
  border: 0;
  background: transparent;
  color: var(--mute);
  padding: 7px 2px;
  font: 600 11px/1.3 var(--sans);
  cursor: pointer;
}
.si-none:hover,
.si-none.is-on { color: var(--lav-600); }
.si-progress {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  color: var(--lav-600);
  font-size: 11.5px;
}
.si-progress-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lav-500);
  animation: siPulse 1.1s ease-in-out infinite;
}
.si-progress button,
.si-durable-status button {
  margin-left: auto;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font: 750 10px var(--sans);
  cursor: pointer;
}
.si-progress button:hover:not(:disabled),
.si-durable-status button:hover:not(:disabled) { background: var(--lav-50); color: var(--lav-700); }
.si-progress button:disabled,
.si-durable-status button:disabled { cursor: wait; opacity: .6; }
.si-durable-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 10px 12px;
  border: 1px solid #e2d9e9;
  border-radius: 9px;
  color: #5f4d6f;
  background: #fbf9fc;
  font: 650 10.5px/1.45 var(--sans);
}
.si-durable-status span { display: inline-flex; align-items: center; gap: 6px; }
@keyframes siPulse { 50% { opacity: .35; transform: scale(.82); } }
.si-files { display: grid; gap: 8px; margin-top: 14px; }
.si-file {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(76, 29, 149, .11);
  border-radius: 11px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 7px 18px -18px rgba(76, 29, 149, .55);
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.si-file:hover {
  border-color: rgba(124, 58, 237, .23);
  background: #fff;
  box-shadow: 0 11px 24px -20px rgba(76, 29, 149, .52);
}
.si-file-type {
  display: grid;
  width: 38px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(124, 58, 237, .12);
  border-radius: 9px;
  background: var(--lav-50);
  color: var(--lav-600);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .45px;
}
.si-file-main {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.si-file-main:focus-visible,
.si-file-actions button:focus-visible,
.si-modal button:focus-visible {
  outline: 2px solid var(--lav-400);
  outline-offset: 2px;
}
.si-file-name {
  display: block;
  overflow: hidden;
  color: var(--ink-2);
  font-size: 11.5px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.si-file-main:hover .si-file-name { color: var(--lav-600); }
.si-file-meta {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: var(--mute-2);
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.si-state {
  border-radius: 999px;
  background: #f1eef5;
  color: var(--mute);
  padding: 4px 7px;
  font-size: 9.5px;
  white-space: nowrap;
}
.si-state.state-ready,
.si-state.state-included_in_assessment { background: #e8f7ef; color: #16734a; }
.si-state.state-failed { background: #fff0f0; color: #b42318; }
.si-file-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 3px; }
.si-file-actions button {
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--mute);
  padding: 6px 7px;
  font: 700 9.5px var(--sans);
  cursor: pointer;
}
.si-file-actions button:hover:not(:disabled) { background: var(--lav-50); color: var(--lav-600); }
.si-file-actions button:disabled { cursor: wait; opacity: .5; }

/* File detail dialog — a calm document-management surface within Share Inputs. */
.si-modal {
  position: fixed;
  inset: 0;
  z-index: 240;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(24, 20, 35, .46);
  backdrop-filter: blur(8px);
  animation: siModalIn .16s ease both;
}
/* The intake screen retains an identity transform after its entrance animation.
   A transformed ancestor becomes the containing block for fixed descendants,
   so remove it only while the modal is open and keep the dialog viewport-bound. */
.ix-share:has(.si-modal) {
  transform: none !important;
  animation: none !important;
}
.si-modal-panel {
  width: min(520px, calc(100vw - 32px));
  max-height: min(620px, calc(100vh - 48px));
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 18px;
  background: #fbfafc;
  box-shadow: 0 30px 90px -30px rgba(24, 16, 42, .62);
  animation: siPanelIn .18s cubic-bezier(.2, .75, .2, 1) both;
}
.si-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px 14px;
  border-bottom: 1px solid rgba(76, 29, 149, .09);
}
.si-modal-eyebrow {
  display: block;
  color: var(--lav-600);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}
.si-modal-head h2 {
  margin: 3px 0 0;
  color: var(--ink);
  font: 780 19px/1.18 var(--serif);
  letter-spacing: -.2px;
}
.si-modal-close {
  border: 1px solid rgba(76, 29, 149, .12);
  border-radius: 9px;
  background: #fff;
  color: var(--mute);
  padding: 6px 9px;
  font: 700 9.5px var(--sans);
  cursor: pointer;
}
.si-modal-close:hover { border-color: rgba(124, 58, 237, .28); color: var(--lav-600); }
.si-modal-file {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px 20px 12px;
}
.si-modal-type {
  display: grid;
  width: 40px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(124, 58, 237, .15);
  border-radius: 10px;
  background: var(--lav-50);
  color: var(--lav-600);
  font-size: 8.5px;
  font-weight: 850;
  letter-spacing: .5px;
}
.si-modal-file-copy { min-width: 0; }
.si-modal-file-title {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.si-modal-file strong {
  overflow: hidden;
  color: var(--ink-2);
  font-size: 13.5px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.si-modal-category {
  display: block;
  margin-top: 2px;
  color: var(--mute);
  font-size: 10px;
}
.si-modal-status-note {
  margin: 8px 0 0;
  color: var(--mute);
  font-size: 10.5px;
  line-height: 1.42;
}
.si-modal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 20px 11px 72px;
}
.si-modal-meta > span {
  border: 1px solid rgba(76, 29, 149, .07);
  border-radius: 999px;
  background: #f2f0f5;
  color: var(--mute-2);
  padding: 4px 7px;
  font-size: 9px;
  font-weight: 650;
  line-height: 1;
}
.si-modal-meta > .si-meta-security.is-passed { background: #edf7f1; color: #33765a; }
.si-modal-access {
  margin: 0 20px 16px 72px;
  color: var(--mute-2);
  font-size: 9.25px;
}
.si-remove-confirm {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 20px 14px;
  padding: 11px 12px;
  border: 1px solid #f1c7c3;
  border-radius: 11px;
  background: #fff6f5;
}
.si-remove-confirm > div:first-child { display: grid; gap: 3px; }
.si-remove-confirm strong { color: #7e2119; font-size: 11px; }
.si-remove-confirm span { max-width: 350px; color: #8f4b45; font-size: 10px; line-height: 1.4; }
.si-remove-confirm > div:last-child { display: flex; flex: none; gap: 6px; }
.si-remove-confirm button {
  border: 1px solid #e3b8b4;
  border-radius: 8px;
  background: #fff;
  color: #74302a;
  padding: 7px 9px;
  font: 700 9.5px var(--sans);
  cursor: pointer;
}
.si-remove-confirm button.is-danger { border-color: #b42318; background: #b42318; color: #fff; }
.si-modal-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 20px;
  border-top: 1px solid rgba(76, 29, 149, .09);
  background: rgba(247, 245, 250, .75);
}
.si-modal-actions > div { display: flex; align-items: center; gap: 8px; }
.si-modal-actions button {
  border-radius: 9px;
  padding: 8px 11px;
  font: 750 10.5px var(--sans);
  cursor: pointer;
}
.si-modal-actions button:disabled { cursor: default; opacity: .5; }
.si-modal-remove {
  border: 0;
  background: transparent;
  color: #9b2c23;
}
.si-modal-remove:hover:not(:disabled) { background: #fff0ef; }
.si-secondary-action {
  border: 1px solid rgba(76, 29, 149, .14);
  background: #fff;
  color: var(--ink-2);
}
.si-secondary-action:hover { border-color: rgba(124, 58, 237, .3); }
.si-primary-action {
  border: 1px solid var(--lav-600);
  background: var(--lav-600);
  color: #fff;
}
.si-primary-action:hover:not(:disabled) { background: var(--lav-500); }
@keyframes siModalIn { from { opacity: 0; } }
@keyframes siPanelIn { from { opacity: 0; transform: translateY(8px) scale(.988); } }
.si-alert {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid #f3c7c3;
  border-radius: 11px;
  background: #fff6f5;
  color: #912018;
  font-size: 12px;
}
.si-test-gate {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: -8px 0 20px;
  padding: 13px 15px;
  border: 1px solid #e7ce91;
  border-radius: 12px;
  background: #fff9e9;
  color: #71571f;
  font-size: 12px;
  cursor: pointer;
}
.si-test-gate input { margin-top: 3px; accent-color: var(--lav-600); }
.si-test-gate strong { display: block; margin-bottom: 2px; color: #5d4515; }
.si-loading,
.ec-loading {
  min-height: 280px;
  display: grid;
  place-items: center;
  color: var(--mute);
}
.ec-loading {
  align-content: center;
  gap: 9px;
  font-size: 11px;
}
.ec-loading > i,
.ec-journey-loading > i {
  color: var(--lav-600);
  font-size: 24px;
  animation: ec-loading-spin 900ms linear infinite;
}
@keyframes ec-loading-spin { to { transform: rotate(360deg); } }
.si-footer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding: 17px 0;
}
.si-footer > span { color: var(--mute); font-size: 11.5px; text-align: right; }

/* Kearney Engagement Cockpit */
.ec-shell { min-height: 100vh; }
.ec-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 66px;
  padding: 0 34px;
  border-bottom: 1px solid rgba(76, 29, 149, .12);
  background: rgba(250, 249, 252, .88);
  backdrop-filter: blur(18px) saturate(150%);
}
.ec-header > div { display: flex; align-items: baseline; gap: 13px; }
.ec-brand { color: var(--ink); font: 800 22px/1 var(--serif); }
.ec-product { color: var(--mute); font-size: 12px; }
.ec-header button {
  border: 0;
  background: transparent;
  color: var(--lav-600);
  font: 700 12px var(--sans);
  cursor: pointer;
}
.ec-main { width: min(1480px, calc(100vw - 64px)); margin: 0 auto; padding: 38px 0 64px; }
.ec-tabs {
  display: flex;
  gap: 3px;
  margin: 30px 0 24px;
  padding: 4px;
  border: 1px solid rgba(76, 29, 149, .1);
  border-radius: 13px;
  background: rgba(255, 255, 255, .45);
  width: fit-content;
}
.ec-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--mute);
  padding: 9px 16px;
  font: 700 12px var(--sans);
  cursor: pointer;
}
.ec-tabs button.active { background: #fff; color: var(--lav-600); box-shadow: 0 4px 12px rgba(76, 29, 149, .1); }
.ec-tabs button.planned {
  border-left: 1px solid rgba(76, 29, 149, .08);
  border-radius: 0;
  color: rgba(71, 75, 96, .5);
  cursor: not-allowed;
}
.ec-tabs button.planned:first-of-type { margin-left: 3px; }
.ec-tabs button.planned small {
  border-radius: 999px;
  background: rgba(71, 75, 96, .07);
  color: rgba(71, 75, 96, .52);
  padding: 3px 6px;
  font: 700 8px/1 var(--sans);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ec-journey-host {
  position: relative;
  min-height: var(--ec-journey-content-height, 520px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* The tab's glyph, its name and its steps: the same picture the journey
   shows once it takes over (JourneyConnectionState.jsx). */
.ec-journey-loading {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  border-radius: 0;
  background: transparent;
  color: var(--mute);
  text-align: center;
}
.ec-journey-loading[hidden] { display: none; }
.ec-journey-loading > div {
  display: grid;
  justify-items: center;
  gap: 6px;
}
.ec-journey-loading strong {
  color: var(--ink);
  font-size: 16px;
}
.ec-journey-loading .og-steps { font-size: 12.5px; }
.ec-journey-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  /* The embedded Baseline owns its house fills. Leave the iframe canvas clear
     so its transparent outer assessment surface picks up the cockpit canvas. */
  background: transparent;
  box-shadow: none;
}
.ec-journey-frame.is-expanded {
  position: fixed;
  z-index: 1200;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.ec-journey-modal-active {
  overflow: hidden;
}

body.ec-cockpit-modal-active {
  overflow: hidden;
}
.ec-panel {
  overflow: hidden;
  border: 1px solid rgba(76, 29, 149, .13);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 24px 54px -40px rgba(76, 29, 149, .48);
}
.ec-panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 23px;
  border-bottom: 1px solid rgba(76, 29, 149, .1);
}
.ec-panel-head h2 { margin: 0; font: 760 21px/1.2 var(--serif); }
.ec-panel-head p { max-width: 720px; margin: 4px 0 0; color: var(--mute); font-size: 11px; }
.ec-panel-head > span { max-width: 420px; color: var(--mute); font-size: 11px; text-align: right; }
.ec-panel-head > .btn { flex: none; }
.ec-lens-list i {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #ebe7ef;
}
.ec-lens-list b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--lav-500);
}
.ec-roster { display: grid; }
.ec-roster > div {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 20px;
  border-bottom: 1px solid rgba(76, 29, 149, .08);
}
.ec-roster > div:last-child { border-bottom: 0; }
.ec-person-mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--lav-100);
  color: var(--lav-600);
  font-size: 10px;
  font-weight: 800;
}
.ec-person strong,
.ec-person small { display: block; }
.ec-person strong { font-size: 12px; }
.ec-person small { color: var(--mute); font-size: 10.5px; }
.ec-person > i { display: block; margin-top: 3px; color: var(--mute-2); font: 650 7.5px var(--sans); }
.ec-access-drawer-wrap {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  background: rgba(27,18,39,.18);
  backdrop-filter: blur(2px);
}
.ec-access-drawer {
  width: min(430px, 100vw);
  height: 100%;
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(76,29,149,.14);
  background: #fcfbfe;
  box-shadow: -24px 0 60px rgba(40,23,68,.12);
  animation: ec-access-in .2s ease both;
}
@keyframes ec-access-in {
  from { transform: translateX(24px); opacity: .55; }
  to { transform: translateX(0); opacity: 1; }
}
.ec-access-drawer > header {
  min-height: 90px;
  padding: 20px 24px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(76,29,149,.1);
}
.ec-access-drawer > header h2 { margin: 0; color: var(--ink); font: 760 21px/1.2 var(--serif); }
.ec-access-drawer > header p { margin: 4px 0 0; color: var(--mute); font-size: 9.5px; }
.ec-access-drawer > header button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--mute);
  font-size: 9px;
  font-weight: 750;
  cursor: pointer;
}
.ec-access-drawer-body { padding: 18px 20px 28px; overflow-y: auto; }
.ec-access-link-card {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid rgba(76,29,149,.11);
  border-radius: 12px;
  background: #fff;
}
.ec-access-link-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ec-access-link-card > div:first-child span { color: var(--ink-2); font: 720 15px/1.2 var(--serif); }
.ec-access-link-card > div:first-child strong { padding: 4px 7px; border-radius: 999px; color: #245e91; background: #e9f4fc; font-size: 7px; text-transform: capitalize; }
.ec-access-link-card dl { margin: 16px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ec-access-link-card dl div { padding: 9px; border-radius: 8px; background: #f8f6fa; }
.ec-access-link-card dt { color: #8b8492; font-size: 7px; text-transform: uppercase; }
.ec-access-link-card dd { margin: 4px 0 0; color: #5d5664; font-size: 9px; }
.ec-access-link-card > p { color: var(--mute); font-size: 8.5px; line-height: 1.5; }
.ec-access-link-card label { display: block; color: var(--ink-2); font-size: 9px; font-weight: 750; }
.ec-access-link-card label input,
.ec-copy-link input {
  width: 100%;
  min-height: 38px;
  margin-top: 7px;
  padding: 0 10px;
  border: 1px solid rgba(76,29,149,.14);
  border-radius: 8px;
  background: #fff;
  color: var(--ink-2);
  font-size: 9px;
}
.ec-copy-link { display: grid !important; grid-template-columns: 1fr auto; gap: 7px !important; align-items: end !important; }
.ec-access-link-actions { margin-top: 10px; display: flex !important; justify-content: flex-start !important; gap: 7px !important; }
.ec-danger { color: #b4232d !important; border-color: #efc9cc !important; }
.ec-preview-participant { width: 100%; margin-top: 14px; }
.ec-access-privacy { margin: 8px 0 0; color: var(--mute); font-size: 8px; text-align: center; }
.ec-access-person-list { display: grid; gap: 7px; }
.ec-access-person-list > button {
  min-height: 63px;
  padding: 10px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(76,29,149,.1);
  border-radius: 10px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.ec-access-person-list strong,
.ec-access-person-list small { display: block; }
.ec-access-person-list strong { color: var(--ink-2); font-size: 10px; }
.ec-access-person-list small { margin-top: 3px; color: var(--mute); font-size: 8px; }
.ec-access-person-list em { color: var(--lav-600); font-size: 7.5px; font-style: normal; font-weight: 750; text-transform: capitalize; }
.assessment-empty { padding: 54px; text-align: center; }
.assessment-empty h2 { max-width: 720px; margin: 11px auto 8px; font: 800 32px/1.14 var(--serif); }
.assessment-empty > p { max-width: 720px; margin: 0 auto 23px; color: var(--mute); }
.assessment-empty .btn { display: inline-block; text-decoration: none; }
.assessment-loading .og-stage { margin: 4px auto 14px; }

.ec-workspace-modal {
  position: fixed;
  z-index: 60;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(31, 24, 38, .46);
  backdrop-filter: blur(7px);
}
.ec-workspace-panel {
  width: min(1120px, 100%);
  max-height: calc(100vh - 48px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  background: #fcfbfd;
  box-shadow: 0 32px 90px rgba(31, 20, 42, .25);
}
.ec-workspace-panel.ec-briefing-panel { width: min(1220px, 100%); }
.ec-workspace-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px 14px;
  border-bottom: 1px solid rgba(76, 29, 149, .09);
  background: #fff;
}
.ec-workspace-head h2 { margin: 0; color: var(--ink); font: 780 22px/1.18 var(--serif); }
.ec-workspace-head p { margin: 3px 0 0; color: var(--mute); font-size: 10.5px; }
.ec-workspace-head > button {
  flex: none;
  border: 1px solid rgba(76, 29, 149, .13);
  border-radius: 8px;
  background: #fff;
  color: var(--mute);
  padding: 6px 9px;
  font: 700 9.5px var(--sans);
  cursor: pointer;
}
.ec-workspace-head > button:hover { border-color: rgba(124, 58, 237, .28); color: var(--lav-600); }
.ec-workspace-body {
  max-height: calc(100vh - 118px);
  overflow: auto;
  padding: 16px 20px 20px;
}
.ec-overlay-loading {
  display: grid;
  min-height: 260px;
  place-items: center;
  color: var(--mute);
  font-size: 11px;
}
.ec-stakeholder-layout { display: grid; gap: 10px; }
.ec-brief-section {
  border: 1px solid rgba(76, 29, 149, .1);
  border-radius: 11px;
  background: #fff;
}
.ec-brief-section { padding: 13px; }
.ec-brief-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.ec-brief-section-head h3 { margin: 0; color: var(--ink-2); font-size: 12px; }
.ec-brief-section-head > span {
  display: grid;
  min-width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 999px;
  background: #f0edf3;
  color: var(--mute);
  font-size: 9px;
}
.ec-muted-empty { margin: 7px 0 0; color: var(--mute-2); font-size: 10px; }
.ec-gap-pills > span {
  padding: 5px 7px;
  border-radius: 7px;
  background: #f1eef4;
  color: #665e6c;
  font-size: 8.5px;
  font-style: normal;
}
.ec-stakeholder-hero {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid rgba(76, 29, 149, .1);
  border-radius: 11px;
  background: #fff;
}
.ec-stakeholder-hero > div { padding: 13px 15px; border-right: 1px solid rgba(76, 29, 149, .08); }
.ec-stakeholder-hero > div:last-child { border-right: 0; }
.ec-stakeholder-hero span { color: var(--mute); font-size: 9px; }
.ec-stakeholder-hero strong { display: block; margin-top: 5px; color: var(--ink); font: 800 25px/1 var(--serif); }
.ec-stakeholder-hero strong small { color: var(--mute); font: 600 10px var(--sans); }
.ec-stakeholder-hero p { margin: 5px 0 0; color: var(--mute-2); font-size: 9px; }
.ec-stakeholder-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.ec-stakeholder-gaps { grid-column: 1 / -1; }
.ec-lens-list,
.ec-divergence-list { display: grid; gap: 7px; }
.ec-lens-list > div {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(70px, .75fr) 30px;
  gap: 9px;
  align-items: center;
  padding: 7px 0;
  border-top: 1px solid rgba(76, 29, 149, .07);
}
.ec-lens-list > div:first-child { border-top: 0; }
.ec-lens-list span strong,
.ec-lens-list span small { display: block; }
.ec-lens-list span strong { color: var(--ink-2); font-size: 10px; }
.ec-lens-list span small { margin-top: 2px; color: var(--mute-2); font-size: 8px; }
.ec-lens-list em { color: var(--mute); font-size: 9.5px; font-style: normal; text-align: right; }
.ec-divergence-list > div { padding: 8px 9px; border-radius: 8px; background: #f8f7f9; }
.ec-divergence-list strong { display: block; color: var(--ink-2); font-size: 10px; }
.ec-divergence-list p { margin: 3px 0 0; color: var(--mute); font-size: 9px; line-height: 1.4; }
.ec-gap-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.ec-gap-pills > span { display: grid; gap: 2px; max-width: 260px; }
.ec-gap-pills strong { color: var(--ink-2); font-size: 8.5px; }
.ec-gap-pills small { color: var(--mute-2); font-size: 7.5px; }
.ec-modal-actions { display: flex; justify-content: flex-end; margin-top: 12px; }

.ei-modal {
  position: fixed;
  z-index: 70;
  inset: 0;
  padding: 22px;
  background: rgba(30, 23, 37, .46);
  backdrop-filter: blur(9px);
}
.ei-drawer {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1480px, 100%);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(76, 29, 149, .13);
  border-radius: 20px;
  background: #fbfafc;
  box-shadow: 0 34px 100px rgba(29, 18, 39, .28);
}
.ei-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  padding: 13px 18px 13px 22px;
  border-bottom: 1px solid rgba(76, 29, 149, .1);
  background: rgba(255, 255, 255, .94);
}
.ei-head > div:first-child { min-width: 0; }
.ei-head nav { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ei-head nav button,
.ei-head nav strong {
  overflow: hidden;
  max-width: 340px;
  border: 0;
  background: transparent;
  color: #776d7e;
  font: 700 9.5px var(--sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ei-head nav button { padding: 4px 7px; border-radius: 6px; cursor: pointer; }
.ei-head nav button:hover { background: #f1ecf6; color: #5b267c; }
.ei-head nav button + button,
.ei-head nav button + strong { border-left: 1px solid rgba(76, 29, 149, .12); border-radius: 0; padding-left: 12px; }
.ei-head > div:first-child > p {
  margin: 4px 0 0 7px;
  color: #6e2ca4;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ei-head > div:last-child { display: flex; gap: 7px; align-items: center; }
.ei-head > div:last-child button {
  min-height: 34px;
  border: 1px solid rgba(76, 29, 149, .14);
  border-radius: 9px;
  background: #fff;
  color: #5f5665;
  padding: 7px 11px;
  font: 750 9.5px var(--sans);
  cursor: pointer;
}
.ei-head > div:last-child button:first-child:not(:last-child) { border-color: rgba(109, 40, 168, .2); color: #6d28a8; }
.ei-head > div:last-child button:hover { background: #f7f3fb; }
/* L2 and L3 each own one vertical scroll surface; embedded panes expand within it. */
.ei-drawer > .ei-scroll {
  min-height: 0;
  overflow: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.ei-l3-overlay {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 28px 34px;
  border-radius: inherit;
  background: rgba(34, 23, 42, .3);
  backdrop-filter: blur(2.5px);
}
.ei-l3-panel {
  display: grid;
  width: min(1390px, 100%);
  height: 100%;
  max-height: 100%;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(76, 29, 149, .16);
  border-radius: 17px;
  background: #fbfafc;
  box-shadow: 0 34px 86px rgba(28, 17, 36, .34), 0 0 0 1px rgba(255, 255, 255, .58) inset;
}
.ei-l3-head {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(76, 29, 149, .11);
  background: rgba(255, 255, 255, .97);
}
.ei-l3-head > div { display: flex; min-width: 0; align-items: center; gap: 13px; }
.ei-l3-head > div:first-child { flex: 1; }
.ei-l3-head > div:first-child > div { min-width: 0; }
.ei-l3-head p {
  margin: 0 0 3px;
  color: #6d2ca4;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ei-l3-head strong {
  display: block;
  overflow: hidden;
  color: #34293b;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ei-l3-back,
.ei-l3-download {
  min-height: 36px;
  border: 1px solid rgba(109, 40, 168, .2);
  border-radius: 9px;
  background: #fff;
  color: #6425ae;
  font: 780 9px var(--sans);
  cursor: pointer;
}
.ei-l3-back { display: inline-flex; flex: none; align-items: center; gap: 6px; padding: 8px 11px; }
.ei-l3-back i { font-size: 13px; }
.ei-l3-download { flex: none; padding: 8px 11px; }
.ei-l3-back:hover,
.ei-l3-download:hover { border-color: rgba(109, 40, 168, .42); background: #f8f3fd; }
.ei-l3-scroll { min-height: 0; overflow: auto; overflow-x: hidden; overscroll-behavior: contain; background: #fbfafc; }

/* Process Reality is an editable Baseline working view. Generated evidence and
   consultant overlays remain visually distinct throughout the workspace. */
.btn.btn-ora { display:flex; align-items:center; gap:7px; min-height:34px; padding:0 13px; border:1px solid #7d39c7; border-radius:10px; color:#fff; background:linear-gradient(135deg,#7c35d0,#6423b4); box-shadow:0 7px 18px rgba(102,38,178,.2); font:780 9px var(--sans); cursor:pointer; }

/* Living evidence prototype: the production Evidence modal with a governed story projection. */

.lev-library { overflow: visible; }
.lev-category-copy { min-width: 0; }
.lev-category-copy strong { display: block; color: #302738; font-size: 10.5px; }
.lev-category-copy span { display: block; margin-top: 2px; color: #6f6677; font-size: 9px; }
.lev-category-copy small { display: block; margin-top: 5px; color: #9a8fa2; font-size: 8px; }
.lev-explore { justify-self: end; }
.lev-explore { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: #6827be; padding: 7px 0; font: 800 8.5px var(--sans); cursor: pointer; }

/* Risk, service and mixed briefs. */

.ec-panel-head > div + div { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.ec-workspace-panel.ec-briefing-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1180px, calc(100vw - 72px));
  height: min(860px, calc(100dvh - 56px));
  max-height: none;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 38px 110px rgba(27, 18, 36, .3), 0 8px 26px rgba(66, 32, 91, .12);
}
.ec-briefing-head { align-items: center; padding: 20px 26px 18px; }
.ec-briefing-head > div { display: flex; align-items: center; gap: 17px; min-width: 0; }
.ec-briefing-head .ec-briefing-wordmark { color: #17121e; font: 820 22px/1 var(--serif); letter-spacing: -.04em; }
.ec-briefing-head h2 { font-size: 25px; letter-spacing: -.025em; }
.ec-briefing-head p { margin-top: 4px; font-size: 11px; }
.ec-briefing-head-actions { display: flex; flex: none; align-items: center; gap: 8px; }
.ec-briefing-head-actions > button {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(76,29,149,.13);
  border-radius: 17px;
  background: #fff;
  color: #655b6c;
  padding: 0 11px;
  font: 700 9.5px var(--sans);
  cursor: pointer;
}
.ec-briefing-head-actions > button:hover,
.ec-briefing-head-actions > button[aria-expanded="true"] { border-color: rgba(124,58,237,.3); background: #f8f4fd; color: #6f35bd; }
.ec-briefing-head-actions > button:last-child { width: 34px; padding: 0; border-radius: 50%; font-size: 17px; }
.ec-briefing-head-actions b { display: grid; min-width: 17px; height: 17px; place-items: center; border-radius: 999px; background: #eee6f8; color: #6f35bd; font-size: 8px; }
.ec-briefing-body,
.ec-briefing-conversation { min-width: 0; min-height: 0; overflow: hidden; }
.ec-briefing-body { display: grid; }
.ec-briefing-body.with-history { grid-template-columns: minmax(230px,280px) minmax(0,1fr); }
.ec-briefing-conversation { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: linear-gradient(180deg,#fdfcfe 0,#fff 130px); }
.ec-briefing-history {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(0,1fr);
  border-right: 1px solid rgba(76,29,149,.09);
  background: #faf8fc;
}
.ec-briefing-history > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 17px 15px 13px; border-bottom: 1px solid rgba(76,29,149,.08); }
.ec-briefing-history > header strong { display: block; color: #342b3a; font-size: 10.5px; }
.ec-briefing-history > header span { display: block; margin-top: 3px; color: #8a818f; font-size: 8px; line-height: 1.35; }
.ec-briefing-history > header button { display: flex; flex: none; align-items: center; gap: 4px; border: 1px solid rgba(124,58,237,.18); border-radius: 8px; background: #fff; color: #7134bc; padding: 6px 8px; font: 700 8.5px var(--sans); cursor: pointer; }
.ec-briefing-history-list { min-height: 0; overflow: auto; padding: 9px; }
.ec-briefing-history-list > p { margin: 12px; color: var(--mute); font-size: 9.5px; }
.ec-briefing-history-item { display: grid; width: 100%; gap: 4px; margin: 0 0 7px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: inherit; padding: 10px; text-align: left; cursor: pointer; }
.ec-briefing-history-item:hover { border-color: rgba(124,58,237,.15); background: #fff; }
.ec-briefing-history-item.is-current { border-color: rgba(124,58,237,.2); background: #f5f0ff; }
.ec-briefing-history-item strong { overflow: hidden; color: #493e50; font-size: 9.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.ec-briefing-history-item span { overflow: hidden; color: #756b7b; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.ec-briefing-history-item small { color: #99909f; font-size: 8px; }
.ec-briefing-history-empty { display: grid; min-height: 190px; place-content: center; justify-items: center; padding: 20px; text-align: center; }
.ec-briefing-history-empty i { margin-bottom: 8px; color: #9b75ce; font-size: 22px; }
.ec-briefing-history-empty strong { color: #55495d; font-size: 10px; }
.ec-briefing-history-empty span { max-width: 190px; margin-top: 4px; color: #8a818f; font-size: 8.5px; line-height: 1.4; }
.ec-briefing-filters {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(160px,.85fr) minmax(160px,.85fr) minmax(190px,1fr) minmax(270px,1.25fr);
  gap: 10px;
  align-items: end;
  padding: 13px 26px;
  border-bottom: 1px solid rgba(76,29,149,.09);
  background: #faf8fc;
}
.ec-briefing-filters > label > span,
.ec-briefing-filters legend { display: block; margin: 0 0 6px; color: #7c7381; font: 760 8.5px/1 var(--sans); letter-spacing: .04em; text-transform: uppercase; }
.ec-briefing-filters select { width: 100%; height: 38px; border: 1px solid rgba(76,29,149,.13); border-radius: 9px; background: #fff; color: #403647; padding: 0 31px 0 10px; font: 680 10px var(--sans); }
.ec-briefing-filters fieldset {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-template-rows: auto 38px;
  column-gap: 7px;
  align-items: end;
  margin: 0;
  padding: 0;
  border: 0;
}
.ec-briefing-filters fieldset legend { position: static; grid-column: 1/-1; transform: none; }
.ec-briefing-filters fieldset label { position: relative; display: flex; flex: 1; height: 38px; align-items: center; cursor: pointer; }
.ec-briefing-filters fieldset input { position: absolute; opacity: 0; }
.ec-briefing-filters fieldset span { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(76,29,149,.13); border-radius: 9px; background: #fff; color: #63586a; font: 700 9.5px var(--sans); }
.ec-briefing-filters fieldset input:checked + span { border-color: rgba(124,58,237,.34); background: #f5f0ff; color: #6f35bd; box-shadow: inset 0 0 0 1px rgba(124,58,237,.07); }
.ec-briefing-filters fieldset input:focus-visible + span,
.ec-briefing-filters select:focus-visible { outline: 3px solid rgba(124,58,237,.15); outline-offset: 1px; }
.ec-briefing-thread { overflow: auto; overscroll-behavior: contain; padding: 24px max(26px,calc((100% - 1000px)/2)); scroll-behavior: smooth; scrollbar-gutter: stable; }
.ec-briefing-welcome { display: grid; max-width: 760px; min-height: 100%; margin: 0 auto; padding: 20px 0; place-content: center; text-align: center; }
.ec-briefing-welcome-icon { display: grid; width: 44px; height: 44px; margin: 0 auto 14px; place-items: center; border-radius: 14px; background: #f1e8fd; color: #7134bc; font-size: 20px; }
.ec-briefing-welcome > strong { color: var(--ink); font: 790 26px/1.16 var(--serif); }
.ec-briefing-welcome > p { max-width: 520px; margin: 8px auto 20px; color: var(--mute); font-size: 11px; line-height: 1.5; }
.ec-briefing-welcome > div { display: grid; gap: 8px; }
.ec-briefing-welcome button,
.ec-briefing-followups button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid rgba(124,58,237,.14); border-radius: 10px; background: #fff; color: #594d62; padding: 10px 12px; font: 650 10.5px/1.35 var(--sans); text-align: left; cursor: pointer; }
.ec-briefing-welcome button:hover,
.ec-briefing-followups button:hover { border-color: rgba(124,58,237,.35); background: #fbf9fe; color: var(--lav-600); }
.ec-briefing-message { max-width: min(820px,94%); margin: 0 0 18px; }
.ec-briefing-message.user { max-width: min(700px,82%); margin-left: auto; }
.ec-briefing-speaker { display: flex; align-items: center; gap: 6px; margin: 0 5px 6px; color: var(--mute-2); font: 770 9px var(--sans); text-transform: uppercase; letter-spacing: .06em; }
.ec-briefing-speaker i { color: #7b3bd2; font-size: 14px; }
.ec-briefing-prose { margin: 0; border: 1px solid rgba(76,29,149,.1); border-radius: 14px 14px 14px 4px; background: #faf9fb; color: #4d4453; padding: 13px 15px; font-size: 11.5px; line-height: 1.58; white-space: pre-wrap; }
.ec-briefing-message.user .ec-briefing-prose { border-radius: 14px 14px 4px 14px; border-color: rgba(124,58,237,.18); background: #f7f2ff; color: #4c3e58; }
.ec-briefing-message.is-thinking .ec-briefing-prose { color: var(--mute); font-style: italic; }
.ec-briefing-answer { overflow: hidden; border: 1px solid rgba(76,29,149,.11); border-radius: 15px 15px 15px 4px; background: #fff; box-shadow: 0 5px 18px rgba(59,35,74,.05); }
.ec-briefing-summary { margin: 0; padding: 14px 16px; border-bottom: 1px solid rgba(76,29,149,.08); background: #fbf9fd; color: #44384b; font-size: 12px; font-weight: 680; line-height: 1.55; }
.ec-briefing-summary > p { margin: 0; }
.ec-briefing-insights { display: grid; margin: 0; padding: 0 0 0 31px; list-style-position: outside; }
.ec-briefing-insights > li { padding: 13px 16px; border-top: 1px solid rgba(76,29,149,.07); color: #743ad0; }
.ec-briefing-insights > li:first-child { border-top: 0; }
.ec-briefing-insights > li::marker { font-size: 10px; }
.ec-briefing-insights h4 { margin: 0; color: #241b29; font-size: 11px; }
.ec-briefing-insights p { margin: 4px 0 0; color: #5f5565; font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
.ec-briefing-citations { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.ec-briefing-citation { display: inline-flex; max-width: 270px; align-items: center; gap: 7px; overflow: hidden; border: 1px solid #e5dced; border-radius: 9px; background: #fff; color: #5f5566; padding: 6px 8px; font: 620 8.5px var(--sans); cursor: pointer; }
.ec-briefing-citation:hover { border-color: #cdb7dc; background: #fcf9fe; }
.ec-briefing-citation > i { flex: none; color: #7c3bc3; font-size: 15px; }
.ec-briefing-citation.kind-interview > i { color: #397187; }
.ec-briefing-citation > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ec-briefing-citation b { margin-right: 5px; color: #8a7e91; font-size: 7.5px; text-transform: uppercase; }
.ec-briefing-followups { display: grid; gap: 6px; margin-top: 9px; }
.ec-briefing-followups > span { margin: 3px 2px 0; color: #877c8d; font: 760 8px var(--sans); letter-spacing: .05em; text-transform: uppercase; }
.ec-briefing-followups button { padding: 8px 10px; font-size: 9.5px; }
.ec-briefing-composer { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; align-items: center; margin: 0 max(24px,calc((100% - 1040px)/2)) 17px; padding: 8px; border: 1px solid rgba(76,29,149,.15); border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(49,27,63,.1); }
.ec-briefing-composer textarea { min-height: 42px; max-height: 96px; resize: none; border: 0; background: transparent; color: var(--ink); padding: 10px 9px; font: 11.5px/1.4 var(--sans); }
.ec-briefing-composer textarea:focus { outline: 0; }
.ec-briefing-talk { display: inline-flex; height: 38px; align-items: center; gap: 7px; border: 1px solid #7134c6; border-radius: 10px; background: linear-gradient(135deg,#7436d0,#925deb); color: #fff; padding: 0 12px; font: 760 9.5px var(--sans); cursor: pointer; box-shadow: 0 4px 12px rgba(109,49,189,.2); }
.ec-briefing-talk i { font-size: 16px; }
.ec-briefing-talk.is-active { border-color: #5d2aa5; background: #7137be; color: #fff; }
.ec-briefing-send { display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 10px; background: linear-gradient(135deg,#7d3ce3,#9561ee); color: #fff; font-size: 16px; cursor: pointer; box-shadow: 0 4px 12px rgba(109,49,189,.24); }
.ec-briefing-talk:disabled,
.ec-briefing-send:disabled { opacity: .42; cursor: default; }
.ec-briefing-jump { position: absolute; z-index: 2; right: 30px; bottom: 88px; display: none; align-items: center; gap: 5px; border: 1px solid rgba(76,29,149,.14); border-radius: 999px; background: #fff; color: #665b6c; padding: 7px 10px; font: 700 8.5px var(--sans); box-shadow: 0 5px 18px rgba(42,25,53,.12); cursor: pointer; }
.ec-briefing-jump.is-visible { display: inline-flex; }
.ec-briefing-error { position: absolute; right: 24px; bottom: 82px; max-width: 390px; border: 1px solid #ead9ad; border-radius: 9px; background: #fffaf0; color: #71551c; padding: 8px 10px; font-size: 9px; box-shadow: 0 5px 16px rgba(69,52,23,.09); }
.ec-briefing-evidence-popover { position: fixed; z-index: 90; max-height: min(410px,calc(100vh - 32px)); overflow: auto; border: 1px solid #ded2e6; border-radius: 14px; background: #fff; padding: 14px; box-shadow: 0 22px 60px rgba(31,20,42,.24); }
.ec-briefing-evidence-popover[hidden] { display: none; }
.ec-briefing-evidence-popover header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ec-briefing-evidence-popover header span { display: flex; align-items: center; gap: 6px; color: #7e7186; font: 760 8px var(--sans); letter-spacing: .05em; text-transform: uppercase; }
.ec-briefing-evidence-popover header span i { color: #7b3bc5; font-size: 15px; }
.ec-briefing-evidence-popover header button { display: grid; width: 26px; height: 26px; place-items: center; border: 0; border-radius: 50%; background: #f5f1f7; color: #6d6272; cursor: pointer; }
.ec-briefing-evidence-popover h3 { margin: 12px 0 6px; color: #2d2332; font: 790 15px/1.3 var(--serif); }
.ec-briefing-evidence-popover p { margin: 0; border-radius: 8px; background: #fff4cc; color: #5f512c; padding: 9px 10px; font-size: 10.5px; line-height: 1.55; }
.ec-briefing-evidence-popover small { display: block; margin-top: 9px; color: #8b8190; font-size: 8.5px; }
.ec-briefing-evidence-popover > button { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-top: 13px; border: 0; border-radius: 9px; background: #f2eafd; color: #6b30b5; padding: 9px 10px; font: 760 9px var(--sans); cursor: pointer; }

@media (max-width: 1100px) {
  .ei-l3-overlay { padding: 20px; }
  .ec-briefing-body.with-history { position: relative; grid-template-columns: minmax(0,1fr); }
  .ec-briefing-history { position: absolute; z-index: 4; inset: 0 auto 0 0; width: min(300px,86%); box-shadow: 14px 0 38px rgba(31,20,42,.16); }
  .ec-briefing-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ec-briefing-filters fieldset { grid-column: 1 / -1; }
  .si-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1260px) and (min-width: 761px) {
  .si-file { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .si-file-actions { grid-column: 2 / -1; }
}
@media (max-width: 760px) {
  .lev-explore { grid-column: 3; grid-row: 1 / span 2; }
  .ix-share .ix-shell,
  .ec-main { width: min(100% - 30px, 720px); }
  .si-head,
  .ec-panel-head { align-items: stretch; flex-direction: column; }
  .si-summary { width: 110px; }
  .si-grid,
  .si-footer { grid-template-columns: auto 1fr; }
  .si-footer > span { display: none; }
  .ec-tabs { width: 100%; overflow-x: auto; }
  .ec-tabs button { flex: none; }
  .ec-panel-head > span { text-align: left; }
  .ec-panel-head > div + div { justify-content: flex-start; }
  .ec-access-drawer { width: min(100vw, 480px); }
  .ei-modal { padding: 8px; }
  .ei-drawer { border-radius: 14px; }
  .ei-l3-overlay { padding: 7px; }
  .ei-l3-panel { border-radius: 12px; }
  .ei-l3-head { min-height: 60px; gap: 8px; padding: 9px; }
  .ei-l3-head > div { gap: 7px; }
  .ei-l3-head > div:first-child > div { display: none; }
  .ei-l3-back { padding: 7px 9px; }
  .ei-l3-download { padding: 7px 8px; }
  .ei-head { align-items: flex-start; min-height: 66px; padding: 10px 12px; }
  .ei-head nav strong { display: none; }
  .ei-head > div:last-child button:first-child:not(:last-child) { display: none; }
  .assessment-empty { padding: 36px 20px; }
  .ec-workspace-modal { padding: 12px; }
  .ec-workspace-panel { max-height: calc(100vh - 24px); border-radius: 14px; }
  .ec-workspace-head { align-items: stretch; flex-direction: column; }
  .ec-workspace-panel.ec-briefing-panel { width: 100%; height: calc(100dvh - 24px); max-height: none; }
  .ec-briefing-head { flex-direction: row; align-items: center; padding: 15px; }
  .ec-briefing-head > div { gap: 10px; }
  .ec-briefing-head .ec-briefing-wordmark { display: none; }
  .ec-briefing-head h2 { font-size: 21px; }
  .ec-briefing-head p { max-width: 260px; font-size: 9px; }
  .ec-briefing-head-actions { gap: 6px; }
  .ec-briefing-head-actions > button:first-child { width: 34px; padding: 0; }
  .ec-briefing-head-actions > button:first-child span,
  .ec-briefing-head-actions > button:first-child b { display: none; }
  .ec-briefing-body.with-history { position: relative; grid-template-columns: minmax(0,1fr); }
  .ec-briefing-history { position: absolute; z-index: 4; inset: 0 auto 0 0; width: min(320px,92%); box-shadow: 14px 0 38px rgba(31,20,42,.16); }
  .ec-briefing-filters { display: flex; max-height: none; overflow-x: auto; overflow-y: hidden; gap: 8px; padding: 11px 13px 9px; scrollbar-width: thin; }
  .ec-briefing-filters > label { flex: 0 0 165px; }
  .ec-briefing-filters fieldset { flex: 0 0 250px; margin-top: 0; }
  .ec-briefing-thread { padding: 16px 13px; }
  .ec-briefing-message,
  .ec-briefing-message.user { max-width: 96%; }
  .ec-briefing-citation { width: 100%; max-width: 100%; box-sizing: border-box; }
  .ec-briefing-composer { grid-template-columns: minmax(0,1fr) auto; margin: 0 12px 12px; }
  .ec-briefing-talk { width: 38px; justify-content: center; padding: 0; }
  .ec-briefing-talk span { display: none; }
  .ec-briefing-send { display: none; }
  .ec-briefing-jump { right: 16px; bottom: 78px; }
  .ec-workspace-body { max-height: calc(100vh - 96px); padding: 13px; }
  .ec-stakeholder-layout { grid-template-columns: 1fr; }
  .ec-stakeholder-gaps { grid-column: auto; }
  .ec-stakeholder-hero { grid-template-columns: 1fr; }
  .ec-stakeholder-hero > div { border-right: 0; border-bottom: 1px solid rgba(76, 29, 149, .08); }
  .ec-stakeholder-hero > div:last-child { border-bottom: 0; }
  .si-file { grid-template-columns: 38px minmax(0, 1fr); }
  .si-file .si-state { grid-column: 2; width: fit-content; }
  .si-file-actions { grid-column: 2; justify-content: flex-start; }
  .si-modal { padding: 16px; }
  .si-modal-panel { width: min(100%, 560px); max-height: calc(100vh - 32px); border-radius: 16px; }
  .si-modal-head,
  .si-modal-file,
  .si-modal-actions { padding-left: 17px; padding-right: 17px; }
  .si-modal-meta,
  .si-modal-access,
  .si-remove-confirm { margin-left: 17px; margin-right: 17px; }
  .si-modal-file { grid-template-columns: 42px minmax(0, 1fr); }
  .si-remove-confirm,
  .si-modal-actions { align-items: stretch; flex-direction: column; }
  .si-modal-actions > div { width: 100%; }
  .si-modal-actions > div button { flex: 1; }
}

/* Evidence and interview cockpit — compact, client-readable production views. */
.ec-evidence-subtabs {
  display: flex;
  width: fit-content;
  gap: 4px;
  margin: -14px 0 20px;
  padding: 4px;
  border: 1px solid rgba(76, 29, 149, .1);
  border-radius: 11px;
  background: rgba(255,255,255,.54);
}
.ec-evidence-subtabs button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--mute);
  padding: 7px 11px;
  font: 750 10px var(--sans);
  cursor: pointer;
}
.ec-evidence-subtabs button i { font-size: 15px; }
.ec-evidence-subtabs button.active {
  background: #fff;
  color: var(--lav-600);
  box-shadow: 0 3px 10px rgba(76,29,149,.1);
}
.ec-evidence-subtabs button:focus-visible,
.lev-category-card:focus-visible {
  outline: 2px solid var(--lav-400);
  outline-offset: 2px;
}

.lev-library > .ec-panel-head { border-bottom: 0; padding-bottom: 16px; }
.lev-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0 20px 20px;
}
.lev-category-card {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  gap: 9px;
  border: 1px solid rgba(76,29,149,.11);
  border-radius: 16px;
  background: #fff;
  padding: 11px;
  box-shadow: 0 17px 34px -31px rgba(60,28,83,.48);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.lev-category-card.is-clickable { cursor: pointer; }
.lev-category-card:hover {
  border-color: rgba(124,58,237,.25);
  box-shadow: 0 24px 48px -31px rgba(64,28,90,.52);
  transform: translateY(-2px);
}
.lev-category-art {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(76,29,149,.08);
  border-radius: 12px;
  background: #f7f3fc;
}
.lev-category-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.lev-category-card:hover .lev-category-art img { transform: scale(1.015); }
.lev-category-card .lev-category-copy .lev-category-count {
  flex: none;
  margin: 0 0 0 auto !important;
  color: #62566f;
  padding: 0;
  font: 760 8.5px/1.2 var(--sans);
  white-space: nowrap;
}
.lev-category-body { display: grid; min-width: 0; grid-template-rows: 1fr auto; gap: 12px; padding: 4px 4px 2px; }
.lev-category-card .lev-category-copy { display: grid; align-content: start; gap: 5px; }
.lev-category-card .lev-category-copy strong { color: var(--ink); font: 800 15px/1.25 var(--serif); }
.lev-category-card .lev-category-copy span { color: var(--mute); font-size: 10px; line-height: 1.42; }
.lev-category-card footer { min-height: 34px; }
.lev-category-actions {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  align-items: center;
}
.lev-category-actions.has-review { grid-template-columns: minmax(0, 1fr); }
.lev-category-card .lev-explore {
  display: inline-flex;
  min-width: 0;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 8.5px;
}
.lev-category-card .lev-explore { border: 1px solid rgba(105, 43, 173, .14); background: rgba(255,255,255,.52); }
.lev-library-head-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 16px; }
.lev-add-documents { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.lev-add-documents i { font-size: 14px; }

.ei-category-head-actions { display: flex; flex: 0 1 330px; min-width: 0; align-items: center; justify-content: flex-end; gap: 8px; }
.ei-l3-remove,.ei-l3-download { display: inline-flex; align-items: center; gap: 6px; }
.ei-l3-remove { border: 0; background: transparent; color: #9b3d45; cursor: pointer; }
.ei-l3-remove:disabled { opacity: .55; cursor: not-allowed; }
.ei-remove-confirm { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid rgba(154,57,67,.16); background: rgba(255,240,241,.82); padding: 12px 18px; }
.ei-remove-confirm > i { color: #a53f47; font-size: 22px; }.ei-remove-confirm strong { color: #6e2930; font-size: 10px; }.ei-remove-confirm p { margin: 3px 0 0; color: #76565a; font-size: 8.5px; line-height: 1.45; }.ei-remove-confirm span { display: block; margin-top: 5px; color: #a12f39; font-size: 8.5px; }
.ei-remove-confirm > div:last-child { display: flex; gap: 7px; }.ei-remove-confirm button { border: 1px solid rgba(102,46,171,.14); border-radius: 8px; background: #fff; color: var(--ink-2); padding: 7px 9px; font: 750 8px var(--sans); cursor: pointer; }.ei-remove-confirm button.is-destructive { border-color: #a23a43; background: #a23a43; color: #fff; }

/* A participant's status is native interview truth only; uploaded evidence is nested in the person record. */

/* Assessment-owned interview-guide editor. Source pins remain read-only; only the
   explicitly scoped draft fields expose controls. */
.ec-guide-modal { z-index: 80; }
.ec-guide-library-panel { width: min(1180px, calc(100vw - 38px)); }
.ec-guide-library-body { display: grid; gap: 14px; }
.ec-guide-error { display: grid; gap: 5px; border: 1px solid #e4d4b1; border-radius: 10px; background: #fffaf0; color: #704711; padding: 11px 12px; font-size: 10px; line-height: 1.45; }
.ec-guide-error { margin: 18px; }
.ec-guide-error p { margin: 0; }
.ec-guide-error .btn { justify-self: start; margin-top: 3px; }
.ec-guide-library-tools > label { display: grid; gap: 4px; color: #5c4c66; font: 800 10px var(--sans); }
.ec-guide-library-tools input, .ec-guide-library-tools select { width: 100%; box-sizing: border-box; border: 1px solid #d9cfe0; border-radius: 7px; background: #fff; color: var(--ink-2); padding: 8px 9px; font: 500 11px var(--sans); }
.ec-guide-empty { display: grid; gap: 5px; margin: 18px; border: 1px dashed #d8cde0; border-radius: 9px; color: var(--mute); padding: 15px; text-align: center; }
.ec-guide-empty strong { color: var(--ink-2); font-size: 10px; }
.ec-guide-empty p { margin: 0; font-size: 10px; line-height: 1.45; }
.ec-guide-library-tools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 300px); gap: 10px; }
.ec-guide-library-search, .ec-guide-library-topic-filter { display: flex; min-height: 42px; align-items: center; gap: 8px; border: 1px solid #dfd4e8; border-radius: 10px; background: rgba(255,255,255,.84); color: #6931ae; padding: 0 11px; }
.ec-guide-library-search input, .ec-guide-library-topic-filter select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink-2); font: 600 11px var(--sans); }
.ec-guide-library-topic-filter select { cursor: pointer; }
.ec-guide-library-list { display: grid; gap: 7px; }
.ec-guide-library-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #e4dce9; border-radius: 9px; background: #fff; padding: 11px; }
.ec-guide-library-list article > div { min-width: 0; }
.ec-guide-library-question-type { display: flex; align-items: center; gap: 6px; color: #6931ae; font: 700 10px var(--sans); }
.ec-guide-library-question-type i { font-size: 15px; }
.ec-guide-library-list h3 { margin: 7px 0 0; color: var(--ink-2); font-size: 11px; line-height: 1.4; }
.ec-guide-library-list p { margin: 4px 0 0; color: var(--mute); font-size: 9.5px; line-height: 1.4; }
.ec-guide-library-list small { display: block; margin-top: 6px; color: #5b4a63; font-size: 9px; line-height: 1.4; }
.ec-guide-library-list .btn { flex: none; }
@media (max-width: 620px) {
  .ec-guide-library-tools { grid-template-columns: 1fr; }
}
.ec-guide-modal button:focus-visible, .ec-guide-modal summary:focus-visible, .ec-guide-modal input:focus-visible, .ec-guide-modal select:focus-visible, .ec-guide-modal textarea:focus-visible { outline: 3px solid rgba(107,48,181,.32); outline-offset: 2px; }
.ec-guide-modal .btn-primary { border-color: #67319d; background: #67319d; color: #fff; box-shadow: none; }
.ec-guide-modal .btn-primary:hover { border-color: #53277f; background: #53277f; color: #fff; }
.ec-guide-modal .btn-primary:disabled { border-color: #c8b8d4; background: #c8b8d4; color: #fff; }
.ec-guide-evidence-drawer { position: absolute; z-index: 12; top: 0; right: 0; display: flex; width: min(360px,100%); height: 100%; border-left: 1px solid #ddd4e3; background: #fff; padding: 22px; box-shadow: -18px 0 48px #2d1d351f; flex-direction: column; }
.ec-guide-evidence-drawer header { display: flex; align-items: start; justify-content: space-between; gap: 14px; border-bottom: 1px solid #ebe5ee; padding-bottom: 13px; }
.ec-guide-evidence-drawer h3 { margin: 0; color: #352a3a; font-size: 15px; }
.ec-guide-evidence-drawer header p { margin: 3px 0 0; color: #7a6e7e; font-size: 10.5px; }
.ec-guide-evidence-drawer header button { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #ded5e4; border-radius: 50%; background: #fff; color: #5e5065; cursor: pointer; font-size: 18px; }
.ec-guide-evidence-index { display: grid; gap: 5px; max-height: 168px; overflow: auto; border-bottom: 1px solid #ebe5ee; padding: 10px 0; }
.ec-guide-evidence-index button { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 1px 8px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #4d414f; padding: 7px; text-align: left; cursor: pointer; }
.ec-guide-evidence-index button.active { border-color: #d9cbe4; background: #f7f3fa; }
.ec-guide-evidence-index button > span { grid-row: 1 / 3; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #ece3f4; color: #663499; font-size: 9px; font-weight: 800; }
.ec-guide-evidence-index strong { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.ec-guide-evidence-index small { overflow: hidden; color: #86798a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.ec-guide-evidence-source { display: grid; gap: 3px; border-bottom: 1px solid #ebe5ee; padding: 18px 0 14px; }
.ec-guide-evidence-source strong { color: #3d3242; font-size: 12px; }
.ec-guide-evidence-source span { color: #817585; font-size: 10px; }
.ec-guide-evidence-drawer blockquote { min-height: 0; overflow: auto; margin: 14px 0; border: 0; border-left: 3px solid #7041a1; background: #f8f5fa; color: #403545; padding: 15px; font: 650 14px/1.65 var(--serif); flex: 1; }
.ec-guide-evidence-relationship { display: grid; gap: 3px; margin: 12px 0 0; border-left: 3px solid #bb8b38; background: #fffaf0; color: #625365; padding: 9px 11px; font-size: 10.5px; line-height: 1.45; }
@media (max-width: 760px) {
  .ec-guide-evidence-drawer { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; }
}

@media (max-width: 820px) {
  .ec-guide-library-panel { width: min(100vw, 680px); }
}

@media (max-width: 1120px) {
  .lev-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ec-evidence-subtabs { width: 100%; margin: -14px 0 16px; }
  .ec-evidence-subtabs button { flex: 1; justify-content: center; }
  .lev-category-grid { grid-template-columns: 1fr; gap: 13px; padding: 0 13px 13px; }
  .lev-category-card { min-height: 0; }
  .lev-category-actions .lev-explore { grid-column: auto; grid-row: auto; }
  .ec-guide-modal { align-items: stretch; padding: 0; }
  .ec-guide-modal .ec-workspace-panel { width: 100vw; min-height: 100vh; border-radius: 0; }
  .ec-guide-library-list article { align-items: flex-start; flex-direction: column; }
  .ec-guide-library-list .btn { width: 100%; }
}

/* Refreshed interview brief: source-owned process scope, compact question master,
   and a persistent Ask ORA companion. */
.ec-guide-ask-companion { position: relative; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto auto; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: #fff; box-shadow: 0 32px 90px rgba(31,20,42,.25); }
.ec-guide-ask-companion > header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding: 19px 18px 13px; }
.ec-guide-ask-companion > header > div { display: flex; align-items: start; gap: 8px; }
.ec-guide-ask-companion > header > div:first-child > i { color: #682ab3; font-size: 18px; }
.ec-guide-ask-companion h3 { margin: 0; color: #30233a; font: 790 17px var(--serif); }
.ec-guide-ask-companion header span { display: block; margin-top: 3px; color: #796d80; font-size: 9px; }
.ec-guide-ask-companion header button { display: grid; width: 28px; height: 28px; place-items: center; border: 0; background: transparent; color: #66596e; cursor: pointer; font-size: 15px; }
.ec-guide-ask-thread { min-height: 0; overflow: auto; border-top: 1px solid #eee9f0; padding: 12px 15px; }
.ec-guide-ask-thread .ec-briefing-message { padding: 8px 0 12px; }
.ec-guide-ask-thread .ec-briefing-message + .ec-briefing-message { border-top: 1px solid #eee9f0; }
.ec-guide-ask-thread .ec-briefing-speaker { font-size: 9px; }
.ec-guide-ask-thread .ec-briefing-prose,.ec-guide-ask-thread .ec-briefing-answer p { font-size: 11px; line-height: 1.5; }
.ec-guide-ask-thread .ec-briefing-citations { display: grid; gap: 2px; margin-top: 7px; }
.ec-guide-ask-thread .ec-briefing-citation { justify-content: flex-start; min-height: 0; border: 0; background: transparent; color: #5c239d; padding: 2px 0; text-align: left; box-shadow: none; }
.ec-guide-ask-thread .ec-briefing-citation span { display: inline; font-size: 8.5px; text-decoration: underline; text-underline-offset: 2px; }
.ec-guide-ask-thread .ec-briefing-citation b { display: inline; margin-right: 4px; font-size: 8.5px; }
.ec-guide-ask-welcome { display: grid; justify-items: center; gap: 6px; margin: 24px 8px; color: #756a7a; text-align: center; }
.ec-guide-ask-welcome > i { color: #682ab3; font-size: 23px; }
.ec-guide-ask-welcome strong { color: #3d3044; font: 760 14px var(--serif); }
.ec-guide-ask-welcome p { margin: 0; font-size: 9.5px; line-height: 1.45; }
.ec-guide-ask-companion > .ec-briefing-history { position: absolute; z-index: 4; top: 68px; right: 14px; width: min(320px,calc(100% - 28px)); max-height: 70%; overflow: auto; border: 1px solid #dcd2e3; border-radius: 10px; background: #fff; box-shadow: 0 18px 46px rgba(42,25,55,.2); }
@media (max-width: 900px) {
  .ec-guide-ask-companion { position: absolute; z-index: 20; top: 0; right: 0; width: min(380px,92vw); height: 100%; }
}
@media (max-width: 760px) {
  .ec-guide-ask-companion { position: fixed; inset: 0; width: 100vw; height: 100vh; border-radius: 0; }
}
.ec-content-state{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;line-height:1.2;color:#747a8f;white-space:nowrap;}.ec-content-state.is-ready,.ec-content-state.is-published{color:#27715b;}.ec-content-state.is-review{color:#9b6414;}.ec-content-state.is-blocked,.ec-content-state.is-unavailable{color:#a14943;}.ec-content-state.is-stale{color:#8263a6;}.ec-content-state.is-loading .ph{animation:ec-content-spin 1s linear infinite;}@keyframes ec-content-spin{to{transform:rotate(360deg)}}
.lev-category-spinner{margin-left:auto;color:#6240bd;animation:ec-content-spin 1s linear infinite;}

/* ORA cockpit v2: a single translucent work canvas, with glass reserved for shell,
   navigation and temporary layers rather than repeated decorative cards. */
#engagementRoot {
  background:
    radial-gradient(980px 620px at 8% -12%, rgba(201,180,255,.38), transparent 64%),
    radial-gradient(780px 520px at 96% 10%, rgba(179,221,255,.25), transparent 67%),
    linear-gradient(145deg, #f9f8fc 0%, #f0edf7 56%, #f8f8fb 100%);
}
.ec-shell { min-height: 100vh; }
.ec-header {
  position: sticky;
  z-index: 30;
  top: 0;
  min-height: 58px;
  justify-content: space-between;
  padding: 0 max(22px, calc((100vw - 1480px) / 2));
  border-bottom: 1px solid rgba(255,255,255,.7);
  /* Keep the glass treatment, but give the sticky shell enough backing to
     mask the fixed journey dock as it follows the scrolling host. */
  background: rgba(248,247,252,.94);
  box-shadow: 0 8px 30px rgba(53,36,76,.06);
  backdrop-filter: blur(18px) saturate(1.22);
}
.ec-product-identity,.ec-shell-tools,.ec-workspace-name,.ec-return,.ec-context-switcher { display: inline-flex; align-items: center; }
.ec-product-identity { gap: 8px; min-width: 0; }
.ec-return { gap: 7px; border: 0; background: transparent; color: var(--ink); padding: 6px 2px; font: 800 14px var(--sans); cursor: pointer; }
.ec-return:hover { color: var(--lav-600); }
.ec-return > i { font-size: 16px; }
.ec-product-identity > .ph { color: var(--mute-2); font-size: 11px; }
.ec-client-switcher { position: relative; }
.ec-client-switch-trigger {
  display: inline-flex; align-items: center; gap: 7px; min-width: 0;
  border: 0; border-radius: 9px; background: transparent; color: inherit;
  padding: 6px 8px; cursor: pointer; text-align: left;
  transition: background .16s ease, color .16s ease;
}
.ec-client-switch-trigger:hover { background: rgba(255,255,255,.46); color: var(--lav-600); }
.ec-client-switch-trigger > i { color: var(--lav-600); font-size: 15px; }
.ec-client-context { overflow: hidden; color: var(--mute); font: 700 11px var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.ec-shell-tools { position: relative; gap: 8px; }
.ec-workspace-name { gap: 6px; border: 0; border-radius: 9px; background: transparent; color: #5e5168; padding: 7px 8px; font: 720 10px var(--sans); cursor: pointer; transition: background .16s ease, color .16s ease; }
.ec-workspace-name:hover,.ec-workspace-name[aria-expanded="true"] { background: rgba(255,255,255,.66); color: var(--lav-600); }
.ec-workspace-name:disabled { cursor: progress; opacity: .7; }
.ec-workspace-name i { color: var(--lav-600); font-size: 15px; }
.ec-icon-button {
  position: relative; display: inline-grid; width: 34px; height: 34px; place-items: center;
  border: 1px solid rgba(91,65,125,.12); border-radius: 10px; background: rgba(255,255,255,.54);
  color: #5a2b91; cursor: pointer; transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.ec-icon-button i { font-size: 16px; }
.ec-icon-button:hover { border-color: rgba(100,51,167,.34); background: rgba(255,255,255,.9); transform: translateY(-1px); }
.ec-icon-button:focus-visible,.ec-return:focus-visible,.ec-client-switch-trigger:focus-visible,.ec-workspace-name:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 3px; }
.ec-context-menu { position: absolute; z-index: 50; top: calc(100% + 8px); left: 0; display: grid; width: min(340px, calc(100vw - 32px)); gap: 3px; padding: 10px; border: 1px solid rgba(255,255,255,.92); border-radius: 14px; background: rgba(250,248,253,.97); box-shadow: 0 22px 54px rgba(42,25,65,.2); backdrop-filter: blur(22px) saturate(1.12); }
.ec-experience-menu { right: 0; left: auto; width: min(320px, calc(100vw - 32px)); }
.ec-context-menu > strong { padding: 4px 7px 7px; color: var(--mute); font: 800 8px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.ec-context-menu button { display: grid; grid-template-columns: 17px minmax(0,1fr) 17px; gap: 8px; align-items: center; border: 0; border-radius: 9px; background: transparent; color: var(--ink-2); padding: 8px; text-align: left; cursor: pointer; }
.ec-context-menu button:hover,.ec-context-menu button:focus-visible { background: rgba(112,57,183,.09); outline: 0; }
.ec-context-menu button.ec-context-delete { margin-top: 4px; border-top: 1px solid rgba(112,57,183,.12); border-radius: 0 0 9px 9px; }
.ec-context-menu button.ec-context-delete > i,.ec-context-menu button.ec-context-delete > span { color: #a3403a; }
.ec-context-menu button.ec-context-delete:hover,.ec-context-menu button.ec-context-delete:focus-visible { background: rgba(163,64,58,.08); }
.ec-context-menu button > i { color: var(--lav-600); font-size: 14px; }.ec-context-menu button > span { min-width: 0; font: 750 10px var(--sans); }.ec-context-menu button small { display: block; overflow: hidden; margin-top: 2px; color: var(--mute); font: 500 8.5px var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.ec-main,.ec-body { background: transparent; }
.ec-main { padding-top: 18px; }
.ec-loading { grid-template-columns: auto minmax(0,1fr); align-items: center; }.ec-loading small { grid-column: 2; color: var(--mute); font-size: 9px; }
.ec-tabs { gap: 2px; margin: 0 0 15px; border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.38); box-shadow: 0 10px 28px rgba(55,34,84,.05); backdrop-filter: blur(16px); }
.ec-tabs button { padding: 8px 12px; font-size: 10.5px; }.ec-tabs button > i { font-size: 14px; }.ec-tabs button.active { background: rgba(255,255,255,.9); box-shadow: 0 4px 14px rgba(67,35,105,.11); }.ec-tabs button.planned { opacity: .62; }.ec-tabs button.planned small { margin-left: 2px; background: transparent; padding: 0; text-transform: none; }
.ec-evidence-subtabs { margin: 0 0 14px; border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.38); backdrop-filter: blur(16px); }
.ec-panel { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.48); box-shadow: 0 22px 58px -46px rgba(50,27,78,.5); backdrop-filter: blur(14px) saturate(1.14); }
.ec-panel-head { padding: 18px 21px; }.ec-panel-head > span { display: inline-flex; align-items: center; gap: 5px; font-size: 9px; }.ec-panel-head > span i { color: var(--lav-600); font-size: 13px; }
.lev-library-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 14px; color: #75687e; font: 600 8.5px var(--sans); }
.lev-library-meta span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.lev-library-meta i { color: #682bad; font-size: 14px; }
.lev-library-meta b { color: #44344e; font-size: 10px; }
.lev-library {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.lev-category-grid { gap: 11px; padding: 0 15px 15px; }.lev-category-card { gap: 7px; border-color: rgba(255,255,255,.66); border-radius: 14px; background: rgba(255,255,255,.5); box-shadow: none; backdrop-filter: blur(12px); }.lev-category-card:hover { border-color: rgba(124,58,237,.25); box-shadow: 0 18px 42px -32px rgba(57,25,92,.45); }.lev-category-art { border: 0; border-radius: 10px; background: rgba(235,228,247,.56); }.lev-category-copy > div { display: flex; align-items: center; gap: 7px; }.lev-category-copy > div > i { color: var(--lav-600); font-size: 15px; }.lev-category-card .lev-explore i { font-size: 12px; }
.ei-drawer,.ei-l3-panel,.ec-workspace-panel { border-color: rgba(255,255,255,.8); background: rgba(250,249,253,.8); backdrop-filter: blur(22px) saturate(1.16); }.ei-head,.ei-l3-head,.ec-workspace-head { background: rgba(255,255,255,.54); backdrop-filter: blur(18px); }.ei-head > div:first-child > p,.ei-l3-head p { display: none; }
.ec-workspace-panel { box-shadow: 0 32px 90px rgba(31,20,42,.25); }.ec-workspace-head { background: rgba(255,255,255,.62); }
@media (max-width: 900px) { .ec-workspace-name { display: none; }.ec-main { width: min(100% - 30px, 720px); }.lev-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.ec-interview-head-actions { justify-content: flex-start; } }
@media (max-width: 620px) { .ec-header { padding-inline: 15px; }.ec-client-context { max-width: 100px; }.ec-main { width: min(100% - 24px, 720px); }.ec-tabs { width: 100%; overflow-x: auto; }.ec-tabs button { flex: none; }.ec-tabs button small { display: none; }.lev-category-grid { grid-template-columns: 1fr; }.ec-panel-head { align-items: flex-start; flex-direction: column; }.ec-interview-head-actions { width: 100%; }.ec-interview-head-actions .btn { flex: 1; justify-content: center; }.ec-context-menu { position: fixed; top: 54px; left: 12px; right: auto; } }
@media (max-width: 620px) { .lev-library-meta { justify-content: flex-start; } }

@media (max-width: 620px) {
  .lev-library-head-actions { width: 100%; align-items: flex-start; justify-content: flex-start; }
  .lev-add-documents { width: 100%; justify-content: center; }
  .ei-head { flex-wrap: wrap; gap: 8px; }
  .ei-category-head-actions { width: 100%; flex: 1 1 100%; }
  .ei-remove-confirm { grid-template-columns: auto minmax(0,1fr); }
  .ei-remove-confirm > div:last-child { grid-column: 1 / -1; justify-content: flex-end; }
}


/* The first authorized cockpit load is a single full-canvas instrument. Its progress
   advances only when the corresponding application requests have resolved. */
.ec-opening-shell { min-height: 100vh; }
.ec-opening {
  position: relative;
  display: grid;
  min-height: 100vh;
  overflow: hidden;
  place-items: center;
  padding: clamp(24px,5vw,72px);
  isolation: isolate;
}
.ec-opening::before,.ec-opening::after {
  position: absolute;
  z-index: -2;
  width: min(52vw,720px);
  height: min(52vw,720px);
  border-radius: 50%;
  content: '';
  filter: blur(14px);
  opacity: .72;
}
.ec-opening::before { top: -27%; left: -12%; background: radial-gradient(circle,rgba(157,117,238,.34),rgba(157,117,238,0) 68%); }
.ec-opening::after { right: -17%; bottom: -33%; background: radial-gradient(circle,rgba(101,190,237,.25),rgba(101,190,237,0) 69%); }
.ec-opening-orb {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  display: grid;
  width: min(68vw,820px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  background: radial-gradient(circle at 42% 38%,rgba(255,255,255,.55),rgba(215,204,239,.13) 45%,rgba(255,255,255,0) 70%);
  color: rgba(111,48,179,.11);
  transform: translate(-50%,-50%);
}
.ec-opening-orb::before,.ec-opening-orb::after {
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(126,82,190,.14);
  border-radius: 50%;
  content: '';
}
.ec-opening-orb::before { animation: ecOpeningOrbit 18s linear infinite; border-left-color: rgba(126,82,190,.42); }
.ec-opening-orb::after { inset: 18%; animation: ecOpeningOrbitReverse 24s linear infinite; border-right-color: rgba(79,160,203,.32); }
.ec-opening-orb i { font-size: clamp(180px,29vw,390px); animation: ecOpeningSparkle 4.8s ease-in-out infinite; filter: drop-shadow(0 12px 24px rgba(102,49,170,.12)); }
.ec-opening-glass {
  position: relative;
  overflow: hidden;
  width: min(100%,680px);
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(255,255,255,.7),rgba(247,244,252,.46));
  box-shadow: 0 34px 100px rgba(48,29,74,.16),inset 0 1px 0 rgba(255,255,255,.88);
  padding: clamp(28px,5vw,52px);
  backdrop-filter: blur(26px) saturate(1.22);
}
.ec-opening-glass::before {
  position: absolute;
  top: -42%;
  right: -14%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255,255,255,.48),rgba(255,255,255,0) 68%);
  content: '';
  pointer-events: none;
  animation: ecOpeningGlassDrift 11s ease-in-out infinite alternate;
}
.ec-opening-glass::after {
  position: absolute;
  inset: 1px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 27px;
  content: '';
  pointer-events: none;
}
.ec-opening-glass > header { max-width: 560px; }
.ec-opening h1 { margin: 13px 0 9px; color: #2f2338; font: 790 clamp(28px,4vw,43px)/1.06 var(--serif); letter-spacing: -.035em; }
.ec-opening header p { max-width: 530px; margin: 0; color: #6e6178; font: 520 12px/1.58 var(--sans); }
.ec-opening-progress { margin-top: 30px; }
.ec-opening-progress ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px 12px; margin: 0; padding: 0; list-style: none; }
.ec-opening-progress li {
  position: relative;
  display: grid;
  grid-template-columns: 39px minmax(0,1fr) 24px;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 8px 10px;
  color: #81758a;
  transition: background .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease,transform .28s ease;
}
.ec-opening-progress li:first-child,.ec-opening-progress li:last-child { grid-column: 1 / -1; }
.ec-opening-phase-icon {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border: 1px solid rgba(98,68,127,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.48);
  color: #766681;
  font-size: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  transition: color .24s ease,background .24s ease,border-color .24s ease,transform .24s ease;
}
.ec-opening-progress strong { display: block; color: inherit; font: 750 11px/1.25 var(--sans); }
.ec-opening-progress small { display: block; margin-top: 3px; color: #887c90; font: 500 9px/1.35 var(--sans); }
.ec-opening-phase-state { display: grid; width: 24px; height: 24px; place-items: center; color: #aca2b3; font-size: 17px; }
.ec-opening-progress li.is-active { color: #502079; }
.ec-opening-progress li.is-active { border-color: rgba(125,73,184,.18); background: rgba(255,255,255,.22); box-shadow: 0 10px 28px -22px rgba(71,35,111,.6); transform: translateY(-1px); }
.ec-opening-progress li.is-active .ec-opening-phase-icon { border-color: rgba(112,48,178,.3); background: rgba(247,239,255,.8); color: #702db6; transform: translateY(-1px); }
.ec-opening-progress li.is-active .ec-opening-phase-state { color: #702db6; }
.ec-opening-progress li.is-active .ec-opening-phase-state > i { animation: ec-loading-spin 900ms linear infinite; }
.ec-opening-progress li.is-complete { color: #3d3250; }
.ec-opening-progress li.is-complete { border-color: rgba(51,135,105,.12); background: rgba(244,252,249,.2); }
.ec-opening-progress li.is-complete .ec-opening-phase-icon { border-color: rgba(52,142,113,.2); background: rgba(236,249,245,.72); color: #23795e; }
.ec-opening-progress li.is-complete .ec-opening-phase-state { color: #23795e; }
.ec-opening-progress li.is-unavailable { color: #695e70; }
.ec-opening-progress li.is-unavailable { border-color: rgba(180,126,41,.1); background: rgba(255,249,235,.18); }
.ec-opening-progress li.is-unavailable .ec-opening-phase-icon { border-color: rgba(180,126,41,.22); background: rgba(255,248,231,.72); color: #9a671e; }
.ec-opening-progress li.is-unavailable .ec-opening-phase-state { color: #9a671e; }
.ec-opening-progress li.is-error { color: #822b27; }
.ec-opening-progress li.is-error { border-color: rgba(181,63,56,.14); background: rgba(255,240,239,.22); }
.ec-opening-progress li.is-error .ec-opening-phase-icon { border-color: rgba(181,63,56,.22); background: rgba(255,240,239,.78); color: #a2342e; }
.ec-opening-progress li.is-error .ec-opening-phase-state { color: #a2342e; }
.ec-opening-note { display: flex; align-items: center; gap: 7px; margin: 23px 0 0; color: #81758a; font: 600 9px var(--sans); }
.ec-opening-note i { color: #672aae; font-size: 13px; }
.ec-opening-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.ec-opening-actions button { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; border: 1px solid rgba(103,42,170,.26); border-radius: 10px; background: rgba(255,255,255,.62); color: #562291; padding: 8px 13px; cursor: pointer; font: 750 10px var(--sans); }
.ec-opening-actions button:first-child { border-color: #6d2bb5; background: #6d2bb5; color: #fff; }
.ec-opening-actions button:hover { background: rgba(255,255,255,.92); transform: translateY(-1px); }
.ec-opening-actions button:first-child:hover { background: #5e229f; }
.ec-opening-actions button:focus-visible { outline: 3px solid rgba(117,61,184,.3); outline-offset: 3px; }
.ec-opening .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; }
.ec-opening.is-ready { animation: ecOpeningExit .54s .32s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes ecOpeningOrbit { to { transform: rotate(360deg); } }
@keyframes ecOpeningOrbitReverse { to { transform: rotate(-360deg); } }
@keyframes ecOpeningSparkle { 0%,100% { opacity: .72; transform: scale(.98) rotate(-2deg); } 50% { opacity: 1; transform: scale(1.03) rotate(2deg); } }
@keyframes ecOpeningGlassDrift { from { transform: translate3d(-8%,4%,0); } to { transform: translate3d(8%,-4%,0); } }
@keyframes ecOpeningExit { to { opacity: 0; transform: scale(1.012); } }

@media (max-width: 620px) {
  .ec-opening { align-items: center; padding: 18px; }
  .ec-opening-glass { border-radius: 22px; padding: 27px 22px; }
  .ec-opening h1 { font-size: clamp(27px,9vw,35px); }
  .ec-opening-progress { margin-top: 24px; }
  .ec-opening-progress li { grid-template-columns: 37px minmax(0,1fr) 22px; min-height: 55px; gap: 10px; }
  .ec-opening-phase-icon { width: 37px; height: 37px; }
  .ec-opening-progress ol { grid-template-columns: 1fr; }
  .ec-opening-progress li:first-child,.ec-opening-progress li:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .ec-opening,.ec-opening * { scroll-behavior: auto!important; transition-duration: .001ms!important; }
  .ec-opening-progress li.is-active .ec-opening-phase-state > i { animation: none; }
  .ec-opening-orb::before,.ec-opening-orb::after,.ec-opening-orb i,.ec-opening-glass::before { animation: none; }
  .ec-opening.is-ready { animation: none; }
}

/* Interviews use the approved ORA stakeholder-card board as their primary spatial
   view. Functional groups organize the board; no invented reporting connectors. */

/* A person opens in one raised, almost-full-screen workspace. Secondary modes return here when closed. */
.ec-person-workspace-wrap { align-items: center; justify-items: center; padding: 22px; background: rgba(34,25,42,.38); backdrop-filter: blur(9px); }
.ec-person-workspace {
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  width: min(1480px,100%);
  height: min(920px,calc(100dvh - 44px));
  max-height: none;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.8);
  background: rgba(250,249,253,.82);
  box-shadow: 0 34px 100px rgba(29,18,39,.28),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter: blur(22px) saturate(1.16);
  animation: ecPersonWorkspaceIn .3s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ecPersonWorkspaceIn { from { opacity: 0; transform: translateY(14px) scale(.992); } }
.ec-person-workspace-title { display: flex; min-width: 0; align-items: center; gap: 10px; }
.ec-person-workspace-title .ec-person-mark { width: 39px; height: 39px; border: 0; background: rgba(106,47,175,.11); color: #642aa8; }
.ec-person-workspace .ec-workspace-head { align-items: center; padding: 15px 18px; }
.ec-person-workspace-head-metrics { display: flex; align-items: center; gap: 14px; margin-left: 7px; border-left: 1px solid rgba(82,48,111,.12); padding-left: 16px; }
.ec-person-workspace-head-metric { display: grid; grid-template-columns: 15px auto; grid-template-rows: auto auto; column-gap: 4px; align-items: center; color: #6d5c76; }
.ec-person-workspace-head-metric i { grid-row: 1 / -1; color: #6e32ad; font-size: 15px; }
.ec-person-workspace-head-metric strong { color: #43304f; font: 790 11px/1 var(--sans); }
.ec-person-workspace-head-metric small { color: #84758b; font: 620 7px/1.1 var(--sans); white-space: nowrap; }
.ec-person-workspace .ec-workspace-head > button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; font-size: 16px; }
.ec-person-workspace-shell { display: grid; grid-template-columns: minmax(220px,255px) minmax(0,1fr); min-height: 0; overflow: hidden; }
.ec-person-workspace-main { display: grid; grid-template-rows: auto minmax(0,1fr); min-width: 0; min-height: 0; }
.ec-person-navigator { display: grid; grid-template-rows: auto auto minmax(0,1fr); min-width: 0; min-height: 0; overflow: hidden; border-right: 1px solid rgba(82,48,111,.12); background: rgba(246,243,249,.55); }
.ec-person-navigator > header { display: flex; align-items: center; justify-content: space-between; min-height: 56px; border-bottom: 1px solid rgba(82,48,111,.1); padding: 12px 14px 10px; }
.ec-person-navigator > header div { display: flex; align-items: baseline; gap: 7px; }
.ec-person-navigator > header strong { color: #3d2c48; font: 790 14px var(--serif); }
.ec-person-navigator > header span { color: #81748a; font: 650 8px var(--sans); }
.ec-person-navigator-controls { display: grid; gap: 8px; min-width: 0; border-bottom: 1px solid rgba(82,48,111,.08); padding: 10px 12px 9px; }
.ec-person-navigator-search,.ec-person-navigator-filter { position: relative; display: block; min-width: 0; }
.ec-person-navigator-search > i { position: absolute; top: 10px; left: 10px; color: #77519a; font-size: 13px; pointer-events: none; }
.ec-person-navigator-search input,.ec-person-navigator-filter select { box-sizing: border-box; width: 100%; height: 34px; border: 1px solid rgba(93,55,124,.14); border-radius: 9px; background: rgba(255,255,255,.72); color: #45354e; padding: 0 9px 0 29px; font: 650 9px var(--sans); }
.ec-person-navigator-search input:focus { border-color: rgba(105,44,178,.42); outline: 3px solid rgba(113,56,180,.1); }
.ec-person-navigator-filter > i { position: absolute; top: 10px; left: 10px; color: #77519a; font-size: 13px; pointer-events: none; }
/* The native pop-up ignores the left padding (Safari), so the funnel sat on the text: draw the select ourselves. */
.ec-person-navigator-filter select { -webkit-appearance: none; appearance: none; padding-right: 26px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2377519a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 10px 6px; cursor: pointer; }
.ec-person-navigator-filter select:focus { border-color: rgba(105,44,178,.42); outline: 3px solid rgba(113,56,180,.1); }
.ec-person-navigator-list { min-height: 0; overflow: auto; padding: 3px 8px 12px; scrollbar-gutter: stable; }
.ec-person-navigator-item { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 58px; margin: 2px 0; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #45364d; padding: 7px; text-align: left; cursor: pointer; }
.ec-person-navigator-item:hover,.ec-person-navigator-item:focus-visible { border-color: rgba(112,57,176,.18); background: rgba(255,255,255,.62); outline: 0; }
.ec-person-navigator-item.is-selected { border-color: rgba(112,57,176,.25); background: rgba(255,255,255,.88); box-shadow: 0 8px 18px -16px rgba(55,25,88,.65); }
.ec-person-navigator-item.is-selected.is-outside-filter { border-style: dashed; }
.ec-person-navigator-mark { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: rgba(106,47,175,.11); color: #642aa8; font: 780 8px var(--sans); }
.ec-person-navigator-copy { display: grid; min-width: 0; gap: 2px; }
.ec-person-navigator-copy strong,.ec-person-navigator-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ec-person-navigator-copy strong { color: #413149; font: 760 9px var(--sans); }
.ec-person-navigator-copy small { color: #7d7182; font: 560 7.5px var(--sans); }
.ec-person-navigator-copy > span { display: flex; align-items: center; gap: 4px; color: #887b8d; font: 650 7px var(--sans); }
.ec-person-navigator-copy > span i { color: #7140a2; font-size: 10px; }
.ec-person-navigator-empty { margin: 15px 8px; color: #81758a; font-size: 8.5px; line-height: 1.4; text-align: center; }
.ec-person-workspace-nav { display: flex; gap: 3px; overflow-x: auto; border-bottom: 1px solid rgba(82,48,111,.1); background: rgba(255,255,255,.42); padding: 7px 13px; backdrop-filter: blur(14px); }
.ec-person-workspace-nav button { position: relative; display: inline-flex; flex: none; align-items: center; gap: 6px; min-height: 38px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #64566d; padding: 7px 10px; cursor: pointer; font: 720 9px var(--sans); }
.ec-person-workspace-nav button i { color: #6b2cae; font-size: 15px; }
.ec-person-workspace-nav button small { color: #83738c; font-size: 7px; }
.ec-person-workspace-nav button:hover,.ec-person-workspace-nav button:focus-visible { color: #58228f; outline: 0; }
.ec-person-workspace-nav button[aria-selected="true"] { border-bottom-color: #7133b8; color: #4e1c83; }
.ec-person-workspace-nav button:focus-visible { box-shadow: inset 0 -3px 0 rgba(108,49,176,.28); }
.ec-person-workspace-nav button:disabled { cursor: default; opacity: .45; }
.ec-person-workspace-body { min-height: 0; height: 100%; overflow: hidden; scroll-padding-top: 14px; }
.ec-person-workspace-content { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(292px,340px); min-height: 0; height: 100%; overflow: hidden; }
.ec-person-workspace-content > .ec-person-workspace-body { min-width: 0; }
.ec-person-workspace .ec-guide-ask-companion.is-persistent { min-height: 0; height: 100%; border: 0; border-left: 1px solid rgba(82,48,111,.12); border-radius: 0; background: rgba(255,255,255,.68); box-shadow: none; backdrop-filter: blur(18px) saturate(1.1); }
.ec-person-workspace .ec-guide-ask-companion.is-persistent > header { padding: 15px 15px 11px; }
.ec-person-workspace .ec-guide-ask-companion.is-persistent > header span { max-width: 228px; }
.ec-person-workspace .ec-guide-ask-companion.is-persistent .ec-guide-ask-thread { padding-inline: 13px; }
.ec-person-workspace [id^='ecPerson'][tabindex='-1']:focus { outline: 2px solid rgba(111,48,179,.23); outline-offset: 5px; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; clip-path: inset(50%)!important; white-space: nowrap!important; }

@media (max-width: 1100px) {
  .ec-person-workspace-shell { grid-template-columns: minmax(190px,220px) minmax(0,1fr); }
  .ec-person-workspace-content { grid-template-columns: minmax(0,1fr) minmax(272px,292px); }
}
@media (max-width: 900px) {
  .ec-person-workspace-wrap { padding: 14px; }
  .ec-person-workspace { width: 100%; height: calc(100dvh - 28px); }
  .ec-person-workspace-shell { grid-template-columns: minmax(190px,220px) minmax(0,1fr); }
  .ec-person-workspace-content { grid-template-columns: minmax(0,1fr) minmax(272px,310px); }
  .ec-person-workspace .ec-guide-ask-companion.is-persistent { position: static; width: auto; height: 100%; }
}
@media (max-width: 720px) {
  .ec-person-workspace-wrap { padding: 0; }
  .ec-person-workspace { width: 100vw; height: 100dvh; border-radius: 0; }
  .ec-person-workspace .ec-workspace-head { padding-inline: 14px; }
  .ec-person-workspace-head-metrics { gap: 8px; }
  .ec-person-workspace-head-metric small { display: none; }
  .ec-person-workspace-shell { grid-template-columns: 1fr; grid-template-rows: minmax(0,210px) minmax(0,1fr); }
  .ec-person-navigator { border-right: 0; border-bottom: 1px solid rgba(82,48,111,.12); }
  .ec-person-navigator-controls { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
  .ec-person-navigator-list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px,1fr); gap: 3px; overflow-x: auto; overflow-y: hidden; }
  .ec-person-navigator-item { min-width: 180px; }
  .ec-person-workspace-content { grid-template-columns: 1fr; grid-template-rows: minmax(360px,1fr) auto; overflow: auto; }
  .ec-person-workspace .ec-guide-ask-companion.is-persistent { min-height: 420px; height: auto; border-top: 1px solid rgba(82,48,111,.12); border-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .ec-person-workspace { animation: none; } }

/* Object-level readiness uses colour and words together. Ready is intentionally
   quiet; the marks call attention only to work, review and genuine failures. */
.ec-readiness-icon { display: inline-grid; flex: none; width: 16px; height: 16px; place-items: center; border-radius: 50%; font-size: 13px; }.ec-readiness-icon.is-processing { color: #7432b7; }.ec-readiness-icon.is-processing i { animation: ecReadinessSpin 1s linear infinite; }.ec-readiness-icon.is-review { color: #a86b16; }.ec-readiness-icon.is-failure { color: #b52c45; }.ec-readiness-icon.is-waiting { color: #93889c; }
@keyframes ecReadinessSpin { to { transform: rotate(360deg); } }
/* A document being read: Document ingestion's glyph, on a small rounded chip. */
.ec-readiness-icon.has-glyph { width: 20px; height: 20px; border-radius: 6px; }
.lev-category-copy > div > .og { flex: none; }
.lev-category-art > .ec-readiness-icon { position: absolute; z-index: 1; top: 8px; right: 8px; background: rgba(255,255,255,.9); box-shadow: 0 2px 8px rgba(39,22,55,.15); }
@media (prefers-reduced-motion: reduce) { .ec-readiness-icon.is-processing i { animation: none; } }

/* Keep the single governed journey application mounted while Evidence or Interviews
   are visible. It remains laid out off-canvas so browser loading is not suspended. */
.ec-journey-preload-dock {
  position: fixed;
  z-index: -100;
  top: 0;
  left: -12000px;
  width: 1280px;
  height: 820px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  visibility: hidden;
  pointer-events: none;
}
.ec-journey-preload-dock.is-mounted {
  /* The fixed iframe remains above the cockpit canvas so it is visible. Its
     top edge is clipped by syncJourneyFrameDock while it passes under the
     sticky shell; expanded journey dialogs opt into their own higher layer. */
  z-index: 121;
  overflow: visible;
  visibility: visible;
  pointer-events: auto;
}
.ec-journey-preload-dock.is-expanded { z-index: 1200; }
body.ec-cockpit-modal-active .ec-journey-preload-dock.is-mounted:not(.is-expanded) {
  visibility: hidden;
  pointer-events: none;
}
body.ec-shell-menu-active .ec-journey-preload-dock.is-mounted:not(.is-expanded) {
  pointer-events: none;
}
.ec-journey-preload-dock .ec-journey-frame {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

/* A quiet shared frame keeps category visuals visually consistent, including
   source artwork with a dark or embedded outer edge. */
.lev-category-art {
  border: 1px solid rgba(83, 56, 116, 0.16);
  background: rgba(235, 228, 247, 0.56);
}

/* The Canvas toggle sits between Runs and Ask ORA in the cockpit header (its look: .ec-quiet-button below); a
   Canvas that could not open says why under it, with Retry and History. */
[data-client-editor-host][hidden] { display: none; }
.ec-client-editor-controls { display:flex; align-items:center; gap:4px; position:relative; white-space:nowrap; font:500 12px/1.4 var(--sans); }
.ec-header .ec-client-editor-error button { padding:7px 9px; border:1px solid rgba(110,65,172,.16); border-radius:8px; background:rgba(255,255,255,.76); color:var(--lav-600); font:inherit; cursor:pointer; }
.ec-header .ec-client-editor-error button:hover { background:#f0e8fb; }
.ec-header .ec-client-editor-error button:focus-visible { outline:2px solid var(--lav-600); outline-offset:2px; }
.ec-client-editor-controls .og { flex:none; }
.ec-client-editor-error { position:absolute; top:calc(100% + 8px); right:0; width:min(420px,calc(100vw - 24px)); padding:12px; background:#fff; color:#9c3030; border:1px solid #ead9df; border-radius:10px; box-shadow:0 10px 30px #20113322; white-space:normal; }
.ec-client-editor-error > span { display:block; margin-bottom:8px; }
@media (max-width: 620px) {
  .ec-header:has([data-client-editor-host]:not([hidden])) { flex-wrap:wrap; gap:4px; padding-block:6px; }
  .ec-header:has([data-client-editor-host]:not([hidden])) .ec-shell-tools { flex-wrap:wrap; margin-left:auto; justify-content:flex-end; }
  .ec-client-editor-controls { font-size:11px; gap:3px; }
  .ec-header .ec-client-editor-error button { padding:6px; }
}
.ec-journey-preload-dock.is-expanded .ec-journey-frame { position:absolute; inset:0; min-height:0; }
.ec-client-editor-controls:has(.ec-client-editor-error) { flex-wrap:wrap; max-width:440px; }
.ec-client-editor-error { position:static; flex:1 0 100%; box-sizing:border-box; }

/* The header's tools (2026-10-15): Share, Runs and the Canvas share one quiet outline style; Ask ORA, last, is the
   one filled control. Runs takes the place of Run, the Activity bell and the Current State versions clock: one
   button, one panel with Start a run, then Activity and Versions. */
.ec-header .ec-quiet-button {
  position: relative;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(91,65,125,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.5);
  color: #43355a;
  padding: 0 12px 0 10px;
  font: 680 11.5px var(--sans);
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.ec-header .ec-quiet-button > i.ph,
.ec-header .ec-quiet-button > .ec-share-glyph { flex: none; color: #6b46b4; font-size: 15px; }
.ec-header .ec-quiet-button > i.ec-quiet-caret { margin-left: -3px; color: #9a8db0; font-size: 10px; }
.ec-header .ec-quiet-button:hover { border-color: rgba(100,51,167,.3); background: rgba(255,255,255,.92); transform: translateY(-1px); }
.ec-header .ec-quiet-button:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 3px; }
.ec-header .ec-quiet-button[aria-expanded="true"] { border-color: rgba(100,51,167,.32); background: #fff; box-shadow: 0 4px 14px rgba(67,35,105,.1); transform: none; }
.ec-header .ec-canvas-action[aria-pressed="true"] { border-color: #191527; background: #191527; color: #fff; }
.ec-header .ec-canvas-action[aria-pressed="true"] > i.ph { color: #fff; }
.ec-header .ec-canvas-action:disabled { opacity: .45; cursor: default; transform: none; }
/* Opening the Canvas: the tab's glyph works in place of the pencil, at full strength. */
.ec-header .ec-canvas-action:disabled:has(.og) { opacity: 1; }

/* Runs. While work runs: its glyph and status, and a hairline of progress where it counts its areas. */
.ec-runs { position: relative; display: inline-flex; }
.ec-runs[hidden] { display: none; }
.ec-header .ec-runs-button.is-running { border-color: rgba(112,52,181,.24); background: rgba(246,240,253,.94); color: #4c1d95; padding-left: 8px; }
.ec-header .ec-runs-button.is-running[aria-expanded="true"] { background: #fff; }
.ec-runs-glyph { display: inline-flex; flex: none; line-height: 0; }
.ec-runs-spin { width: 12px; height: 12px; flex: none; box-sizing: border-box; border: 2px solid #e3d6f5; border-top-color: #6d35c6; border-radius: 50%; animation: ora-activity-spin .9s linear infinite; }
.ec-runs-status { font-variant-numeric: tabular-nums; }
.ec-runs-status-short { display: none; }
.ec-runs-progress { position: absolute; right: 10px; bottom: 4px; left: 10px; height: 2px; overflow: hidden; border-radius: 2px; background: rgba(124,58,237,.12); }
.ec-runs-progress::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--ec-runs-progress, 0%); border-radius: inherit; background: linear-gradient(90deg, #a78bfa, #7c3aed); }
/* Work ended since this person last opened Runs. */
.ec-runs-dot { position: absolute; top: -4px; right: -4px; width: 10px; height: 10px; border: 2px solid #f8f7fc; border-radius: 50%; background: #7c3aed; }

/* The Runs panel: the cockpit's menu glass, under the button's right edge. */
.ec-runs-panel {
  position: absolute;
  z-index: 50;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: min(430px, calc(100vw - 32px));
  max-height: calc(100vh - 82px);
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 14px;
  background: rgba(250,248,253,.97);
  box-shadow: 0 22px 54px rgba(42,25,65,.2);
  backdrop-filter: blur(22px) saturate(1.12);
  text-align: left;
}
.ec-runs-panel:not(:has(.ec-runs-start)) { grid-template-rows: auto minmax(0, 1fr); padding-top: 12px; }
.ec-runs-start { display: grid; gap: 7px; padding: 12px 12px 11px; }
.ec-header .ec-runs-start-button { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: center; gap: 7px; border-radius: 10px; background: #5b21b6; color: #fff; font: 750 12px var(--sans); box-shadow: 0 10px 20px -12px rgba(76,29,149,.8); transition: background .16s ease; }
.ec-header .ec-runs-start-button i { font-size: 14px; }
.ec-header .ec-runs-start-button:hover { background: #4c1d95; }
.ec-header .ec-runs-start-button:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 3px; }
.ec-runs-start p { margin: 0; color: #6f6580; font: 500 10px/1.4 var(--sans); text-align: center; }
.ec-runs-tabs { display: flex; gap: 2px; margin: 0 12px; padding: 3px; border: 1px solid rgba(76,29,149,.08); border-radius: 11px; background: rgba(255,255,255,.55); }
.ec-header .ec-runs-tabs button { display: inline-flex; flex: 1; min-height: 30px; align-items: center; justify-content: center; gap: 7px; border-radius: 8px; color: #6f6580; font: 680 11px var(--sans); }
.ec-header .ec-runs-tabs button[aria-selected="true"] { background: #fff; color: #5b22a6; box-shadow: 0 4px 12px rgba(76,29,149,.1); }
.ec-header .ec-runs-tabs button:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 1px; }
.ec-runs-tabs small { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; background: rgba(76,29,149,.07); color: #6d6080; padding: 2px 7px; font: 750 9px/1.25 var(--sans); }
.ec-runs-tabs small.is-live { background: #f1e8fd; color: #5b22a6; }
.ec-runs-tabs small b { width: 6px; height: 6px; border-radius: 50%; background: #7c3aed; animation: ec-runs-pulse 1.8s ease-in-out infinite; }
@keyframes ec-runs-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.ec-runs-body { min-height: 0; overflow: auto; padding: 10px 12px 12px; }
.ec-runs-empty { margin: 6px 4px 2px; color: #6f6580; font: 550 11px/1.45 var(--sans); }
.ec-runs-activity { display: grid; gap: 7px; }
.ec-runs-activity .ora-activity + .ora-activity { margin-top: 0; }
/* The header's button reset (border 0, transparent, 700 12px) outranks ora-activity.css's .ora-activity-open; these
   restate that rule so the rows look as they do in Ask ORA. */
.ec-header .ec-runs-panel .ora-activity-open { min-height: 26px; border: 1px solid #d9c9ed; border-radius: 8px; background: #fff; color: #54229f; padding: 0 9px; font: 800 9px/1 "Inter", ui-sans-serif, system-ui, sans-serif; }
.ec-header .ec-runs-panel .ora-activity-open:hover,
.ec-header .ec-runs-panel .ora-activity-open:focus-visible { border-color: #8b43dd; background: #f8f2ff; outline: none; }
.ec-header .ec-runs-panel .ora-activity-open.is-stop { border-color: #e6cfcc; color: #a3403a; }
.ec-header .ec-runs-panel .ora-activity-open:disabled { opacity: .5; cursor: default; }
.ec-runs-activity .ora-activity.is-unseen .ora-activity-title::after { content: ""; flex: none; align-self: center; width: 6px; height: 6px; border-radius: 50%; background: #7c3aed; }

/* Versions: newest first on a rail; the current one filled; an update still running on top with its glyph. */
.ec-versions { position: relative; display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.ec-versions::before { content: ""; position: absolute; top: 16px; bottom: 22px; left: 13px; width: 1.5px; background: linear-gradient(#d9cbf0, #ece5f7); }
.ec-version { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: start; gap: 4px 6px; border-radius: 10px; padding: 9px 8px 9px 0; }
.ec-version:not(.is-pending):hover { background: rgba(112,57,183,.06); }
.ec-version-mark { position: relative; z-index: 1; justify-self: center; width: 11px; height: 11px; margin-top: 3px; border: 2px solid #cdbde5; border-radius: 50%; background: #faf8fd; }
.ec-version.is-current .ec-version-mark { border-color: #7c3aed; background: #7c3aed; box-shadow: 0 0 0 3px rgba(124,58,237,.16); }
.ec-version.is-pending { margin-bottom: 4px; border: 1px dashed #dccdf1; background: rgba(255,255,255,.6); padding-block: 8px; }
.ec-version.is-pending .ec-version-mark { display: grid; width: 18px; height: 18px; margin-top: 0; place-items: center; border: 0; background: #faf8fd; line-height: 0; }
.ec-version-text { display: grid; min-width: 0; gap: 2px; }
.ec-version-text strong { display: flex; align-items: center; gap: 7px; color: #261d33; font: 750 11px/1.35 var(--sans); }
.ec-version-text span { color: #625872; font: 550 10px/1.4 var(--sans); overflow-wrap: anywhere; }
.ec-version-text small { color: #8a7f96; font: 550 9.5px/1.4 var(--sans); }
.ec-version.is-pending .ec-version-text strong { color: #5b22a6; }
.ec-version-current { border-radius: 999px; background: #efe6fb; color: #5b22a6; padding: 1px 7px; font: 800 8.5px/1.4 var(--sans); font-style: normal; }
.ec-header .ec-version-open { display: inline-flex; min-height: 26px; align-items: center; align-self: center; gap: 3px; border: 1px solid #e3d8f1; border-radius: 8px; background: #fff; color: #54229f; padding: 0 7px 0 9px; font: 750 9.5px var(--sans); white-space: nowrap; }
.ec-header .ec-version-open i { font-size: 10px; }
.ec-header .ec-version-open:hover { border-color: #8b43dd; background: #f8f2ff; }
.ec-header .ec-version-open:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 2px; }
.ec-header .ec-version-open:disabled { opacity: .45; cursor: default; }
.ec-runs-foot { display: flex; align-items: flex-start; gap: 6px; margin: 10px 4px 0; color: #8a7f96; font: 500 9.5px/1.45 var(--sans); }
.ec-runs-foot i { margin-top: 1px; font-size: 12px; }

/* Ask ORA: the one filled control, at the far right, with a soft light and one sweep when the page opens. */
.ec-ask-ora-host { display: inline-flex; }
.ec-ask-ora-host[hidden] { display: none; }
.ec-header .ec-ask-ora-trigger {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  margin-left: 4px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(120deg, #b59dfb 0%, #8e5cf6 44%, #6d28d9 100%);
  color: #fff;
  padding: 0 17px 0 13px;
  font: 760 12px var(--sans);
  letter-spacing: .01em;
  white-space: nowrap;
  text-shadow: 0 1px 1px rgba(58,18,118,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 0 0 1px rgba(255,255,255,.14), 0 6px 16px -6px rgba(109,40,217,.62), 0 0 24px -4px rgba(167,139,250,.6);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .22s ease, filter .22s ease;
}
.ec-header .ec-ask-ora-trigger::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(120% 140% at 12% 0%, rgba(255,255,255,.34), transparent 52%); pointer-events: none; }
.ec-header .ec-ask-ora-trigger::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%); opacity: 0; transform: translateX(-140%); animation: btnSheen 1.3s .5s ease both; pointer-events: none; }
.ec-header .ec-ask-ora-trigger .ec-ask-ora-sparkle { flex: none; color: #fff; filter: drop-shadow(0 0 4px rgba(255,255,255,.7)); }
.ec-header .ec-ask-ora-trigger:hover { transform: translateY(-1px); filter: saturate(1.08) brightness(1.04); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 0 0 1px rgba(255,255,255,.2), 0 10px 22px -8px rgba(109,40,217,.7), 0 0 30px -2px rgba(167,139,250,.75); }
.ec-header .ec-ask-ora-trigger:hover::after { animation: btnSheen 1.05s ease forwards; }
.ec-header .ec-ask-ora-trigger:hover .ec-ask-ora-sparkle { animation: ec-ask-twinkle .9s ease; }
.ec-header .ec-ask-ora-trigger:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 3px; }
@keyframes ec-ask-twinkle { 0%, 100% { transform: scale(1) rotate(0); } 45% { transform: scale(1.22) rotate(14deg); } }

/* "See the North Star" (owner, 16 Oct 2026): a link to the procurement operating model in the age of AI, just before
   Ask ORA and quieter than it. A glass pill in ORA's lavender with a hairline from lavender to pale gold. On hover or
   keyboard focus, once (about 0.85 s): an aurora shimmer sweeps across, the star twinkles with a soft glow, three tiny
   sparkles drift up and fade, the border glow brightens, and the star and words glide aside for a small arrow. The
   arrow's place is kept at rest (the star and words sit centred over it), so the pill keeps one width and the header
   never refits under the pointer. Nothing moves at rest. The same link sits first among the home page's header actions
   (.hdr in index.html), on Kearney's own pages only (app.js, setupNorthStarLink). */
:is(.ec-header, .hdr) .ec-north-star {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  flex: none;
  margin-left: 2px;
  border: 1px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(245,239,255,.7)) padding-box,
    linear-gradient(115deg, rgba(196,181,253,.95), rgba(232,214,255,.75) 46%, rgba(250,224,150,.9)) border-box;
  color: #5b21b6;
  padding: 0 10px 0 11px;
  font: 720 11.5px var(--sans);
  letter-spacing: .005em;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 5px 14px -9px rgba(109,40,217,.5);
  transition: box-shadow .35s ease, color .25s ease, transform .2s ease;
}
/* The aurora: a band of light that crosses the pill once, inside its own edge. */
:is(.ec-header, .hdr) .ec-north-star::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 32%, rgba(233,213,255,.95) 44%, rgba(254,240,190,.9) 52%, rgba(221,214,254,.85) 60%, transparent 72%) no-repeat;
  background-size: 260% 100%;
  background-position: 160% 0;
  opacity: 0;
  pointer-events: none;
}
:is(.ec-header, .hdr) .ec-north-star-glyph { flex: none; color: #8b5cf6; filter: drop-shadow(0 0 2px rgba(196,181,253,.55)); translate: 8px 0; transition: filter .35s ease, color .25s ease, translate .32s cubic-bezier(.2,.7,.2,1); }
:is(.ec-header, .hdr) .ec-north-star-label { translate: 8px 0; transition: translate .32s cubic-bezier(.2,.7,.2,1); }
:is(.ec-header, .hdr) .ec-north-star-arrow { flex: none; margin-left: -1px; opacity: 0; translate: -4px 3px; transition: opacity .3s ease .16s, translate .3s ease .16s; }
:is(.ec-header, .hdr) .ec-north-star-sparkles { position: absolute; top: 50%; left: 13px; width: 0; height: 0; pointer-events: none; }
:is(.ec-header, .hdr) .ec-north-star-sparkles i {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 30%, #fde68a 55%, rgba(196,181,253,0) 75%);
  box-shadow: 0 0 6px rgba(253,230,138,.9);
  opacity: 0;
}
:is(.ec-header, .hdr) .ec-north-star-sparkles i:nth-child(1) { --dx: -7px; --rise: -15px; }
:is(.ec-header, .hdr) .ec-north-star-sparkles i:nth-child(2) { --dx: 3px; --rise: -19px; width: 3px; height: 3px; }
:is(.ec-header, .hdr) .ec-north-star-sparkles i:nth-child(3) { --dx: 9px; --rise: -13px; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) {
  color: #4c1d95;
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 8px 22px -9px rgba(124,58,237,.6), 0 0 0 1px rgba(250,224,150,.55), 0 0 20px -3px rgba(216,180,254,.85);
}
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible)::before { animation: ec-north-aurora .85s ease-out forwards; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-glyph {
  color: #7c3aed;
  filter: drop-shadow(0 0 5px rgba(250,224,150,.95)) drop-shadow(0 0 2px rgba(196,181,253,.9));
  animation: ec-north-twinkle .8s ease;
}
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-sparkles i { animation: ec-north-sparkle .85s ease-out forwards; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-sparkles i:nth-child(2) { animation-delay: .12s; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-sparkles i:nth-child(3) { animation-delay: .22s; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) :is(.ec-north-star-glyph, .ec-north-star-label) { translate: 0 0; }
:is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-arrow { opacity: 1; translate: 0 0; }
:is(.ec-header, .hdr) .ec-north-star:focus-visible { outline: 2px solid var(--lav-400); outline-offset: 3px; }
.hdr .ec-north-star[hidden],
.auth-gated .hdr .ec-north-star { display: none; }
/* A tight header (measured in engagement.js, fitHeaderTools), at any width, in this order: Share shows its icon, then
   the Canvas, then the North Star shows the star alone (its name is the tooltip), then Runs, then the tabs show their
   icons, after which the others take their words back while they fit. A running Runs keeps its glyph and short status
   ("40%", "12 min", "2 running"). Each keeps its label as aria-label. The home page's header (.hdr) measures only the
   North Star (app.js). */
.ec-header.is-share-compact .ec-share-action,
.ec-header.is-canvas-compact .ec-canvas-action,
.ec-header.is-runs-compact .ec-runs-button { width: 34px; justify-content: center; padding: 0; }
.ec-header.is-share-compact .ec-share-action .ec-quiet-label,
.ec-header.is-canvas-compact .ec-canvas-action .ec-quiet-label,
.ec-header.is-runs-compact .ec-runs-button .ec-quiet-label,
.ec-header.is-runs-compact .ec-runs-button > i.ec-quiet-caret { display: none; }
.ec-header.is-runs-compact .ec-runs-button.is-running { width: auto; padding: 0 10px 0 8px; }
.ec-header.is-runs-compact .ec-runs-button.is-running .ec-quiet-label { display: inline; }
.ec-header.is-runs-compact .ec-runs-status-long { display: none; }
.ec-header.is-runs-compact .ec-runs-status-short { display: inline; }
:is(.ec-header, .hdr).is-north-star-compact .ec-north-star { width: 34px; justify-content: center; gap: 0; padding: 0; }
:is(.ec-header, .hdr).is-north-star-compact .ec-north-star-label,
:is(.ec-header, .hdr).is-north-star-compact .ec-north-star-arrow { display: none; }
:is(.ec-header, .hdr).is-north-star-compact .ec-north-star-glyph { translate: none; }
.ec-header.is-tabs-compact .ec-tabs button { padding: 6px 9px; }
.ec-header.is-tabs-compact .ec-tabs button > span { display: none; }
@keyframes ec-north-aurora { 0% { opacity: 0; background-position: 160% 0; } 20% { opacity: 1; } 100% { opacity: 0; background-position: -60% 0; } }
@keyframes ec-north-twinkle { 0%, 100% { transform: scale(1) rotate(0); } 45% { transform: scale(1.25) rotate(18deg); } }
@keyframes ec-north-sparkle {
  0% { opacity: 0; transform: translate(0, 2px) scale(.4); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx), var(--rise)) scale(1); }
}

/* Narrow windows. Which labels fit is measured (above), not set by the window's width; Ask ORA keeps its label until
   760 px, where the North Star shows the star alone even before the header is measured. */
@media (max-width: 760px) {
  .ec-header .ec-ask-ora-trigger { width: 34px; justify-content: center; margin-left: 0; padding: 0; }
  .ec-header .ec-ask-ora-trigger > span { display: none; }
  /* The North Star is the star alone here even before the header is measured. */
  :is(.ec-header, .hdr) .ec-north-star { width: 34px; justify-content: center; gap: 0; padding: 0; }
  :is(.ec-header, .hdr) .ec-north-star-label,
  :is(.ec-header, .hdr) .ec-north-star-arrow { display: none; }
  :is(.ec-header, .hdr) .ec-north-star-glyph { translate: none; }
}
@media (max-width: 620px) {
  .ec-runs-panel { position: fixed; top: var(--ec-runs-top, 64px); right: 12px; left: 12px; width: auto; max-height: calc(100vh - var(--ec-runs-top, 64px) - 12px); }
}
@media (prefers-reduced-motion: reduce) {
  /* The North Star: only the glow and colour change. */
  :is(.ec-header, .hdr) .ec-north-star,
  :is(.ec-header, .hdr) .ec-north-star-glyph,
  :is(.ec-header, .hdr) .ec-north-star-label,
  :is(.ec-header, .hdr) .ec-north-star-arrow { transition: none; }
  :is(.ec-header, .hdr) .ec-north-star :is(.ec-north-star-glyph, .ec-north-star-label, .ec-north-star-arrow) { translate: none; }
  :is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) { transform: none; }
  :is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible)::before,
  :is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-glyph,
  :is(.ec-header, .hdr) .ec-north-star:is(:hover, :focus-visible) .ec-north-star-sparkles i { animation: none; }
  .ec-header .ec-quiet-button,
  .ec-header .ec-ask-ora-trigger { transition: none; }
  .ec-header .ec-ask-ora-trigger::after,
  .ec-header .ec-ask-ora-trigger:hover::after,
  .ec-header .ec-ask-ora-trigger:hover .ec-ask-ora-sparkle,
  .ec-runs-spin,
  .ec-runs-tabs small b { animation: none; }
}

/* The Baseline tab's first-run list: Activity items, as Runs draws them. */
.ec-ora-activity-list { display: grid; gap: 8px; max-height: calc(100vh - 190px); overflow: auto; padding: 16px 20px 20px; }
.ec-ora-activity-list .ora-activity + .ora-activity { margin-top: 0; }

/* Docked for Ask ORA: the journey frame fills from under the stage tabs to
   the bottom of the viewport and scrolls on its own, so the header and tabs
   stay usable and the cockpit behind it rests in place. */
.ec-journey-preload-dock.is-docked .ec-journey-frame { position:absolute; inset:0; width:100%; height:100%; min-height:0; }
body.ec-journey-docked #engagementRoot { overflow:hidden; }

/* A cockpit dialog opens above an expanded journey frame. */
body.ec-cockpit-modal-active .ec-journey-preload-dock.is-expanded { z-index: 40; }

/* Ask ORA beside Evidence (web/engagement.js placeAskOraPane): the journey frame fills the window under the header and
   shows only the pane at its right edge. It stays above an open category, document or person, so Ask ORA can be asked
   about them. From 1100 px the page, its windows and the board's notice keep clear of the pane; below that it lies over
   them, as on the dashboard's tabs. */
.ec-journey-preload-dock.is-pane .ec-journey-frame { position:absolute; inset:0; width:100%; height:100%; min-height:0; }
body.ec-cockpit-modal-active .ec-journey-preload-dock.is-mounted.is-pane { visibility: visible; pointer-events: auto; }
@media (min-width: 1100px) {
  body.ec-ask-ora-beside .ec-shell { padding-right: var(--ec-ask-ora-width, 400px); }
  body.ec-ask-ora-beside .ec-header { margin-right: calc(-1 * var(--ec-ask-ora-width, 400px)); }
  body.ec-ask-ora-beside .ec-main { width: min(1480px, calc(100% - 64px)); }
  body.ec-ask-ora-beside .ei-modal { padding-right: calc(22px + var(--ec-ask-ora-width, 400px)); }
  body.ec-ask-ora-beside .ec-workspace-modal { padding-right: calc(24px + var(--ec-ask-ora-width, 400px)); }
  body.ec-ask-ora-beside .ec-access-drawer-wrap { padding-right: var(--ec-ask-ora-width, 400px); }
  body.ec-ask-ora-beside .ib-toast { left: calc((100vw - var(--ec-ask-ora-width, 400px)) / 2); max-width: calc(100vw - var(--ec-ask-ora-width, 400px) - 32px); }
  body.ec-ask-ora-beside .ec-body { container: ec-beside / inline-size; }
}
/* Beside the pane the page follows the width it really has, at its own window breakpoints less the page's 64 px of
   margin: the library's two columns (1120 px) and the people board's layouts (web/interview-board.css: 1320, 1040, 820
   and 640 px). */
@container ec-beside (max-width: 1056px) {
  body.ec-ask-ora-beside .lev-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container ec-beside (max-width: 1256px) {
  body.ec-ask-ora-beside .ib-board { grid-template-columns: minmax(0,1fr) 340px; }
  body.ec-ask-ora-beside :is(.ib-person, .ib-panel.is-readonly .ib-person) { grid-template-columns: 36px minmax(0,1fr) minmax(0,.9fr) 32px; grid-template-areas: "sel id role del" ". drop drop drop"; }
}
@container ec-beside (max-width: 976px) {
  body.ec-ask-ora-beside .ib-board { grid-template-columns: minmax(0,1fr); }
  body.ec-ask-ora-beside .ib-head { position: static; }
  body.ec-ask-ora-beside .ib-tray { position: static; max-height: none; }
  body.ec-ask-ora-beside .ib-tlist { overflow: visible; }
}
@container ec-beside (max-width: 756px) {
  body.ec-ask-ora-beside :is(.ib-head, .ib-board) { padding-left: 12px; padding-right: 12px; }
}
@container ec-beside (max-width: 576px) {
  body.ec-ask-ora-beside :is(.ib-person, .ib-panel.is-readonly .ib-person) { grid-template-columns: 36px minmax(0,1fr) 32px; grid-template-areas: "sel id del" ". role role" ". drop drop"; }
  body.ec-ask-ora-beside .ib-mark { display: none; }
  body.ec-ask-ora-beside .ib-head h2 { flex: 1 1 100%; font-size: 21px; }
  body.ec-ask-ora-beside .ib-head-actions { width: 100%; }
  body.ec-ask-ora-beside .ib-panel .ib-build { flex: 1 1 auto; justify-content: center; min-width: 0; white-space: normal; }
  body.ec-ask-ora-beside .ib-role-picker .ib-picks { grid-template-columns: minmax(0,1fr); }
}

/* New client flow (2026-09-30): the Baseline tab while the first Baseline is
   on its way lists the run's Activity items, larger than in the bell; the
   client menu opens the Project brief. */
.ec-first-run { display: grid; gap: 22px; padding: 34px clamp(20px, 4vw, 44px) 38px; }
.ec-first-run-head { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 18px; align-items: start; }
.ec-first-run-mark { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 999px; background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(233,225,255,.78)); color: var(--lav-600); box-shadow: inset 0 0 0 1px rgba(255,255,255,.68); font-size: 24px; }
.ec-first-run-head h2 { margin: 2px 0 8px; color: #171220; font: 750 30px/1.08 var(--serif); letter-spacing: -.025em; }
.ec-first-run-head p { max-width: 640px; margin: 0; color: var(--mute); font-size: 15px; line-height: 1.55; }
.ec-first-run-head p + p { margin-top: 4px; }
.ec-first-run-glyph { width: 56px; height: 56px; }
.ec-first-run-list { max-height: none; overflow: visible; padding: 0; }
.ec-first-run-list .ora-activity-title strong { font-size: 13px; }
.ec-first-run-list .ora-activity-time,
.ec-first-run-list .ora-activity-subtitle,
.ec-first-run-list .ora-activity-note { font-size: 11px; }
.ec-first-run-list .ora-activity-step,
.ec-first-run-list .ora-activity-message,
.ec-first-run-list .ora-activity-result,
.ec-first-run-list .ora-activity-confirm p { font-size: 12px; }
.ec-first-run-list .ora-activity-area { font-size: 10.5px; }
.ec-first-run-list .ora-activity-open { min-height: 34px; font-size: 11px; padding: 0 12px; }
.ec-context-menu .ec-context-brief { margin-bottom: 6px; border-bottom: 1px solid rgba(112,57,183,.12); border-radius: 9px 9px 0 0; padding-bottom: 11px; }
@media (max-width: 620px) {
  .ec-first-run { padding: 24px 16px 28px; }
  .ec-first-run-head { grid-template-columns: 1fr; }
  .ec-first-run-head h2 { font-size: 26px; }
}

/* Documents Document ingestion hasn't read yet: no category art, a dashed edge so it reads as temporary. */
.lev-category-card.is-unread { grid-template-rows: 1fr; border-style: dashed; background: rgba(255,255,255,.62); }
.lev-category-card.is-unread .lev-category-copy > div > i { color: var(--lav-600); }

/* Interview Brief v6: the engagement grouping/roster remains native ORA; these
   rules are deliberately scoped to the selected-person workspace only. */
.ora-interview-brief-workspace { --brief-purple: var(--lav-600); --brief-purple-dark: #54229f; --brief-heading: #30263e; --brief-line: var(--line); --brief-surface: var(--lav-50); --brief-answered-ink: #19764f; --brief-partly-ink: #8d5115; --brief-unanswered-ink: #9a2f44; background: rgba(27,18,44,.42); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(6px); }
.ora-interview-brief-workspace .ec-person-workspace { border: 1px solid rgba(255,255,255,.92); background: var(--paper); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 32px 100px -38px rgba(27,16,66,.6); animation: ecPersonWorkspaceIn .24s cubic-bezier(.2,.8,.2,1) both; }
.ora-interview-brief-workspace .ec-person-workspace.is-person-switching { cursor: progress; }
.ora-interview-brief-workspace .ec-person-workspace.is-person-switching .ec-person-workspace-main { opacity: .42; pointer-events: none; }
.ora-interview-brief-workspace .ec-person-workspace .ec-workspace-head { min-height: 86px; border: 0; border-bottom: 1px solid var(--brief-line); background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; padding: 18px 24px; }
.ora-interview-brief-workspace .ec-person-workspace-title { color: var(--ink); flex: 1; flex-wrap: wrap; }
.ora-interview-brief-workspace .ec-person-workspace-title > div { min-width: 0; }
.ora-interview-brief-workspace .ec-person-workspace-title h2 { overflow-wrap: anywhere; color: var(--ink); font-weight: 700; }
.ora-interview-brief-workspace .ec-person-workspace-head-metrics { flex-wrap: wrap; }
.ora-interview-brief-workspace .ec-person-workspace-head-metric small { font-size: 10px; white-space: normal; }
.ora-interview-brief-workspace .ec-person-workspace-title h2 { color: var(--ink); }
.ora-interview-brief-workspace .ec-person-workspace-title p { color: var(--mute); }
.ora-interview-brief-workspace .ec-person-mark { border: 1px solid rgba(255,255,255,.7); background: var(--brand-grad); color: #fff; box-shadow: none; }
.ora-interview-brief-workspace .ec-person-workspace-head-metric { border-left-color: var(--line); color: var(--mute); }
.ora-interview-brief-workspace .ec-person-workspace-head-metric i,.ora-interview-brief-workspace .ec-person-workspace-head-metric small { color: var(--mute); }
.ora-interview-brief-workspace .ec-workspace-head > button { border-color: var(--brief-line); background: #fff; color: var(--lav-600); box-shadow: none; border-radius: 11px; }
.ora-interview-brief-workspace .ec-person-workspace-main { min-height: 0; container: brief-main / inline-size; }
.ora-interview-brief-workspace .ec-person-workspace-nav { min-height: 52px; align-items: end; background: #fff; padding-inline: 24px; backdrop-filter: none; border-bottom-color: var(--line); }
.ora-interview-brief-workspace .ec-person-workspace-nav button { min-height: 44px; padding-inline: 14px; font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--mute); }
.ora-interview-brief-workspace .ec-person-workspace-content { grid-template-columns: minmax(0,1fr); }
.ora-interview-brief-workspace .ec-person-workspace-content:has(.ec-guide-ask-companion) { grid-template-columns: minmax(0,1fr) minmax(310px,370px); }
.ora-interview-brief-workspace .ec-person-workspace-body { overflow: auto; padding: 20px; background: var(--brief-surface); }
.ora-brief-page { display: grid; gap: 24px; max-width: 1320px; margin: 0 auto; }
.ora-prepare-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 62px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 0 0 20px; }
.ora-prepare-bar h2 { margin: 0; color: var(--ink); font: 700 25px/1.2 var(--serif); }
.ora-prepare-bar > div { display: flex; flex-wrap: wrap; gap: 9px; }
.ora-prepare-bar .btn { min-height: 40px; padding: 0 16px; }
.ora-brief-top { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,1fr); gap: 16px; }
.ora-summary-card,.ora-chat-card { position: relative; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 6px 18px -14px rgba(15,23,42,.18); backdrop-filter: none; background: #fff; }
.ora-summary-card { background: #fff; border-color: var(--line); }
.ora-summary-card > header { display: flex; align-items: center; gap: 10px; padding: 20px 20px 0; border: 0; background: transparent; }
.ora-summary-card > header > span,.ora-priority-section > header > span { display: grid; flex: none; width: 32px; height: 32px; place-items: center; border-radius: 8px; background: var(--lav-100); color: var(--lav-600); box-shadow: none; font-size: 17px; }
.ora-summary-card h2,.ora-chat-card h2,.ora-priority-section h2 { margin: 0; color: var(--brief-heading); font: 700 22px/1.25 var(--serif); letter-spacing: -.02em; }
.ora-summary-card > p { margin: 0; color: var(--ink-2); padding: 12px 20px 20px; font: 400 14px/1.75 var(--sans); max-width: 85ch; }
.ora-card-eye { display: grid; flex: none; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--lav-600); cursor: pointer; }
.ora-card-eye:hover { border-color: var(--lav-200); background: var(--lav-50); }
.ora-interview-brief-workspace :is(button, a):focus-visible { outline: 2px solid var(--lav-600); outline-offset: 3px; }
.ora-summary-evidence { margin: 0 0 0 auto; flex: none; }
.ora-summary-card > header { flex-wrap: wrap; }
.ora-chat-card { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr auto; background: #fff; color: var(--ink); padding: 0; border-color: var(--line); }
.ora-chat-card > header { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 20px 20px 0; border: 0; background: transparent; }
.ora-chat-card .ora-chat-icon { display: grid; flex: none; width: 32px; height: 32px; place-items: center; border-radius: 8px; background: var(--lav-100); color: var(--lav-600); font-size: 17px; }
.ora-chat-card h2 { margin: 0; color: var(--ink); font-size: 22px; white-space: normal; }
.ora-chat-card p { margin: 0; padding: 12px 20px 20px; color: var(--mute); font-size: 13px; line-height: 1.65; }
.ora-chat-card .btn-primary { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 34px; gap: 7px; margin: 0; padding: 7px 12px; border-radius: 8px; font: 600 12px/1.4 var(--sans); box-shadow: 0 4px 12px -6px rgba(99,102,241,.3); animation: none; }
.ora-chat-card .btn-primary > i { font-size: 14px; }
.ora-chat-card .btn-primary:hover:not(:disabled):not(.recording) { transform: translateY(-1px); box-shadow: 0 6px 14px -7px rgba(99,102,241,.4); }
.ora-chat-footer { display: flex; align-items: center; justify-content: flex-end; min-height: 60px; border-top: 1px solid var(--line); padding: 12px 20px; }
.ora-priority-section { display: grid; gap: 16px; margin-top: 8px; }
.ora-priority-section > header { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0; }
.ora-priority-section h2 { font-size: 22px; }
.ora-summary-card > header h2,.ora-priority-section > header h2 { color: var(--ink); }
.ora-summary-card > header > span { background: var(--lav-100); color: var(--lav-600); }
.ora-priority-section > header > span { background: transparent; color: var(--lav-600); }
.ora-priority-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); grid-auto-flow: dense; gap: 16px; }
.ora-priority-card { position: relative; display: grid; grid-template-columns: 36px minmax(0,1fr); grid-template-rows: auto 1fr auto; align-content: start; column-gap: 12px; min-width: 0; min-height: 216px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 6px 18px -14px rgba(15,23,42,.18); padding: 22px; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.ora-question-number { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--lav-50); color: var(--brief-purple-dark); font: 600 11px var(--sans); }
.ora-priority-card h3 { grid-column: 2; margin: 0; color: var(--brief-heading); font: 600 14px/1.55 var(--sans); overflow-wrap: anywhere; }
.ora-priority-card p { grid-column: 2; margin: 12px 0 22px; color: var(--mute); font: 400 12px/1.65 var(--sans); overflow-wrap: anywhere; }
.ora-priority-card p strong { font-weight: 600; }
.ora-priority-action { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; border-top: 1px solid var(--line); padding-top: 14px; color: var(--brief-purple-dark); font: 600 12px/1.4 var(--sans); }
.ora-priority-action i { font-size: 16px; transition: transform .18s ease; }
.ora-review-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; padding: 20px 0 0; }
.ora-review-strip h3 { margin: 0 0 3px; color: var(--ink-2); font: 700 16px var(--serif); }
.ora-review-strip p { margin: 0; color: var(--mute); font-size: 13px; line-height: 1.5; }
.ora-empty-priority { grid-column: 1/-1; margin: 0; border: 1px dashed #d7c5e8; border-radius: 12px; color: #776a7c; padding: 22px; text-align: center; }
.ora-questions-page { display: grid; gap: 14px; max-width: 1180px; margin: 0 auto; }
.ora-questions-page > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 4px 0 18px; }
.ora-questions-page > header h2 { margin: 0; color: var(--ink); font: 700 25px var(--serif); }
.ora-questions-page > header p { margin: 4px 0 0; color: var(--mute); font-size: 13px; }
.ora-question-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.ora-question-filters button { border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--mute); padding: 7px 10px; font: 700 11px var(--sans); cursor: pointer; }
.ora-question-filters button[aria-pressed="true"] { border-color: var(--lav-200); background: var(--lav-50); color: var(--lav-600); }
.ora-question-filters span { margin-left: 4px; opacity: .72; }
.ora-question-list { display: grid; gap: 10px; }
.ora-question-row { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: start; gap: 13px; min-height: 88px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 6px 18px -14px rgba(15,23,42,.18); padding: 16px 48px 16px 16px; transition: transform .12s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease; }
.ora-question-copy h3 { margin: 1px 0 8px; color: var(--ink-2); font: 600 14px/1.5 var(--sans); }
.ora-question-copy p { margin: 0; color: var(--mute); font: 400 13px/1.55 var(--sans); }
.ora-question-status { display: inline-flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; min-height: 28px; border: 1px solid transparent; border-radius: 7px; padding: 4px 9px; font: 600 11px/1.4 var(--sans); white-space: nowrap; }
.ora-question-status i { font-size: 15px; }
.ora-question-status.is-answered { color: var(--brief-answered-ink); background: #e8f6ee; border-color: #b8dfc9; }
.ora-question-status.is-partly { color: var(--brief-partly-ink); background: #fff4de; border-color: #ebd29c; }
.ora-question-status.is-unanswered { color: var(--brief-unanswered-ink); background: #fcecf0; border-color: #eec5ce; }
.ora-question-filters button { min-height: 36px; font-weight: 600; font-size: 11px; }
.ora-question-row .ora-card-eye { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); }
.ora-loading-state { display: flex; min-height: 280px; align-items: center; justify-content: center; gap: 9px; color: #75677b; }
.ora-loading-state i { animation: spin 1s linear infinite; }
.ora-question-drawer { position: absolute; z-index: 62; top: 0; right: 0; display: grid; grid-template-rows: auto minmax(0,1fr); width: min(620px,100%); height: 100%; overflow: hidden; border-left: 1px solid var(--line); background: var(--brief-surface); backdrop-filter: none; box-shadow: -22px 0 58px rgba(38,20,51,.22); }
.ora-question-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: #fff; padding: 14px 24px; }
.ora-question-drawer > header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ora-question-drawer > header > button { display: grid; width: 36px; height: 36px; flex: none; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--lav-600); cursor: pointer; }
.ora-question-type { display: inline-flex; align-items: center; color: var(--brief-purple-dark); font: 600 11px/1.4 var(--sans); }
.ora-question-drawer-body { overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 24px; overflow-wrap: anywhere; }
.ora-question-drawer h2 { border-bottom: 1px solid var(--lav-200); padding-bottom: 22px; margin: 0 0 24px; color: var(--ink); font: 700 21px/1.4 var(--serif); }
.ora-why-ask { border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 0 0 22px; }

.ora-why-ask strong { color: var(--ink-2); font: 600 13px var(--sans); }
.ora-answer-area-list > h3 { color: var(--brief-heading); font: 700 19px/1.3 var(--serif); }
.ora-why-ask p { margin: 8px 0 0; color: var(--mute); font: 400 13px/1.65 var(--sans); }
.ora-answer-area-list { display: grid; gap: 16px; margin-top: 24px; }
.ora-answer-area-list > h3 { margin: 0 0 2px; }
.ora-answer-area { position: relative; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 16px; }
.ora-answer-area > header { margin: -16px -16px 0; border-radius: 12px 12px 0 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 8px 10px; padding: 16px; background: #fff; border-bottom: 1px solid var(--line); }
.ora-answer-area > header > span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--lav-100); color: var(--lav-600); font: 700 12px var(--sans); }
.ora-answer-area > header strong { align-self: center; color: var(--ink-2); font: 600 13px/1.5 var(--sans); }
.ora-answer-area > header .ora-question-status { grid-column: 2; }
.ora-answer-area-copy { margin: 0; padding: 18px 0; }
.ora-answer-area-copy > span { color: var(--brief-purple-dark); font: 600 13px var(--sans); }
.ora-answer-area-copy p { margin: 6px 0 0; color: var(--ink-2); font: 400 13px/1.65 var(--sans); }
.ora-answer-area-copy.is-missing { margin: 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line); background: transparent; }
.ora-answer-area-copy.is-missing > span { color: var(--brief-purple-dark); }
.ora-overall-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ora-overall-status > span:first-child { color: var(--mute); font: 500 11px var(--sans); }
.ora-evidence-link { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 36px; margin: 16px 0 0; border: 1px solid var(--lav-200); border-radius: 9px; background: #fff; color: var(--brief-purple-dark); padding: 7px 10px; font: 600 11px/1.4 var(--sans); cursor: pointer; }
.ora-evidence-link > i { font-size: 16px; }
.ora-evidence-link > span { font-weight: 400; }
.ora-summary-card .ora-summary-evidence { margin: 0 0 0 auto; }
.ora-summary-card { display: flex; flex-direction: column; }
.ora-summary-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: auto; border-top: 1px solid var(--line); padding: 12px 20px; }
.ora-summary-footer > span { color: var(--mute); font: 400 12px/1.5 var(--sans); }
.ora-summary-footer .ora-summary-evidence { margin: 0; min-height: 36px; font-size: 12px; }
.ora-priority-card > .ora-question-number { width: 36px; height: 36px; margin-bottom: 0; background: var(--lav-100); color: var(--brief-purple-dark); font-size: 14px; box-shadow: inset 0 1px 0 #fff; }
.ora-interview-brief-workspace .ec-person-navigator-item.is-selected .ec-person-navigator-mark { background: var(--brand-grad); color: #fff; }
.ora-interview-brief-workspace .ec-person-workspace-nav button[aria-selected="true"] { background: var(--lav-50); }
.ora-question-filters button[data-guide-question-filter="open"] span { color: var(--brief-unanswered-ink); }
.ora-question-filters button[data-guide-question-filter="partly_answered"] span { color: var(--brief-partly-ink); }
.ora-question-filters button[data-guide-question-filter="answered"] span { color: var(--brief-answered-ink); }

.ora-drawer-scrim { position: absolute; z-index: 61; inset: 0; border: 0; background: rgba(35,22,43,.25); cursor: default; }
/* The whole question row is one control; the trailing chevron is decorative. */
.ora-question-open { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; border: 0; border-radius: inherit; background: transparent; padding: 0; cursor: pointer; }
.ora-interview-brief-workspace .ora-question-open:focus-visible { outline: none; }
:is(.ora-priority-card,.ora-question-row):has(.ora-question-open:focus-visible) { outline: 2px solid var(--lav-600); outline-offset: 3px; border-color: var(--lav-200); }
:is(.ora-priority-card,.ora-question-row) .ora-card-eye { border: 0; background: transparent; pointer-events: none; }
.ora-workspace-pane { min-width: 0; animation: oraBriefPaneIn .18s ease both; }
@keyframes oraBriefPaneIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.ora-brief-loading { display: grid; align-content: center; justify-items: center; gap: 18px; min-height: 280px; color: var(--mute); }
.ora-brief-loading p { margin: 0; font: 500 13px/1.5 var(--sans); }
.ora-loading-orb { position: relative; isolation: isolate; display: block; width: 30px; height: 30px; flex: none; border-radius: 50%; background: radial-gradient(circle at 32% 28%,#f5d0fe 0%,#c084fc 28%,#7c3aed 62%,#4c1d95 100%); box-shadow: 0 0 0 3px rgba(196,181,253,.25),0 6px 18px -6px rgba(124,58,237,.7); animation: oraBriefOrb 1.4s ease-in-out infinite; }
.ora-loading-orb::after { content: ''; position: absolute; z-index: -1; inset: -5px; border-radius: 50%; background: conic-gradient(from 0deg,transparent,rgba(240,171,252,.55),transparent 40%,rgba(147,197,253,.45),transparent 75%); filter: blur(3px); opacity: .7; animation: oraBriefOrbit 1.8s linear infinite; }
@keyframes oraBriefOrb { 50% { box-shadow: 0 0 0 5px rgba(196,181,253,.14),0 8px 24px -4px rgba(192,132,252,.75); } }
@keyframes oraBriefOrbit { to { transform: rotate(360deg); } }
.ora-switching-indicator { position: absolute; z-index: 90; left: 50%; top: 100px; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 32px); transform: translateX(-50%); border: 1px solid rgba(255,255,255,.92); border-radius: 999px; background: rgba(250,248,255,.96); padding: 12px 18px; color: var(--lav-600); box-shadow: inset 0 1px 1px #fff,0 12px 32px -16px #54229f66; font: 600 12px/1.4 var(--sans); pointer-events: none; }
.ora-switching-indicator .ora-loading-orb { width: 22px; height: 22px; }
.ora-interview-brief-workspace .ec-guide-evidence-drawer { z-index: 70; border-left-color: var(--brief-line); background: var(--paper); backdrop-filter: none; box-shadow: -18px 0 48px #54229f26,inset 1px 0 1px #fff; color: #3d3242; }
.ora-interview-brief-workspace .ec-guide-evidence-drawer header p,.ora-interview-brief-workspace .ec-guide-evidence-index strong,.ora-interview-brief-workspace .ec-guide-evidence-source span { font-size: 12px; line-height: 1.5; }
.ora-interview-brief-workspace .ec-guide-evidence-index small { font-size: 11px; color: var(--mute); }
.ora-interview-brief-workspace .ec-guide-evidence-drawer header button { border-color: var(--brief-line); color: var(--lav-600); border-radius: 8px; }
.ora-interview-brief-workspace .ec-guide-evidence-index button { transition: background .15s,border-color .15s; }
.ora-interview-brief-workspace .ec-guide-evidence-index button:hover,.ora-interview-brief-workspace .ec-guide-evidence-drawer header button:hover { background: #eee7f9; border-color: var(--lav-200); }
.ora-interview-brief-workspace .ec-guide-evidence-index button.active { background: #eee7f9; border-color: var(--lav-200); }
.ora-interview-brief-workspace .ec-guide-evidence-drawer blockquote { border: 1px solid var(--brief-line); border-radius: 12px; background: rgba(255,255,255,.85); color: #403545; box-shadow: 0 8px 24px -20px #54229f55; }
.ora-interview-brief-workspace .ec-guide-evidence-relationship { border: 1px solid var(--brief-line); border-radius: 10px; background: #f4effb; color: var(--mute); font-size: 12px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .ora-interview-brief-workspace .ec-person-workspace,.ora-workspace-pane,.ora-loading-orb,.ora-loading-orb::after { animation: none; } :is(.ora-priority-card,.ora-question-row) { transition: none; } :is(.ora-priority-card,.ora-question-row):hover { transform: none; } }

@media (max-width: 980px) { .ora-brief-top { grid-template-columns: 1fr; }.ora-interview-brief-workspace .ec-person-workspace-content:has(.ec-guide-ask-companion) { grid-template-columns: 1fr; }.ora-question-row { grid-template-columns: 42px minmax(0,1fr); }.ora-question-row > .ora-question-status { grid-column: 2; } }
@media (max-width: 700px) { .ora-prepare-bar,.ora-review-strip,.ora-questions-page > header { align-items: stretch; flex-direction: column; }.ora-prepare-bar > div { width: 100%; }.ora-brief-top { grid-template-columns: 1fr; }.ora-question-drawer { position: fixed; width: 100vw; }.ora-interview-brief-workspace .ec-person-workspace .ec-workspace-head { position: relative; align-items: start; padding: 14px 52px 14px 14px; gap: 10px; }.ora-interview-brief-workspace .ec-workspace-head > button { position: absolute; top: 14px; right: 14px; }.ora-interview-brief-workspace .ec-person-workspace-title { gap: 8px; }.ora-interview-brief-workspace .ec-person-workspace-title > div { flex: 1 1 180px; }.ora-interview-brief-workspace .ec-person-workspace-title h2 { font-size: 23px; }.ora-interview-brief-workspace .ec-person-workspace-head-metrics { width: 100%; margin-left: 0; padding-left: 0; border-left: 0; gap: 12px; }.ora-prepare-bar h2 { overflow-wrap: anywhere; }.ora-answer-area > header { grid-template-columns: 28px minmax(0,1fr); }.ora-priority-card p { padding-left: 0; }.ora-question-drawer-body { padding: 18px; }.ora-question-drawer > header { padding: 14px 18px; }.ora-interview-brief-workspace .ec-person-workspace-body { padding: 12px; } }

@container brief-main (max-width: 860px) {
 .ora-priority-grid { grid-template-columns: minmax(0,1fr); }
 .ora-priority-card { min-height: 0; padding: 20px; }
}

@container brief-main (max-width: 760px) {
 .ora-brief-top { grid-template-columns: minmax(0,1fr); }
 .ora-prepare-bar,.ora-review-strip,.ora-questions-page > header { align-items: flex-start; flex-direction: column; gap: 12px; }
 .ora-question-row { grid-template-columns: 34px minmax(0,1fr); }
 .ora-question-row > .ora-question-status { grid-column: 2; }
}

/* Question chat follows Ask ORA's palette, compact controls and light message surfaces. */
.hitl-backdrop { --chat-paper: #fff; --chat-soft: #faf9fc; --chat-lavender: #f5f2fb; --chat-ink: #24283a; --chat-muted: #667085; --chat-line: #e6e3eb; --chat-purple: #6d35c6; --chat-purple-dark: #54229f; position: fixed; inset: 0; z-index: 1400; display: flex; justify-content: flex-end; background: rgba(38,28,47,.12); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.hitl-backdrop.open { opacity: 1; pointer-events: auto; }
.hitl-drawer { width: min(var(--ask-ora-width,400px),100vw); height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: radial-gradient(120% 34% at 100% 0%,rgba(196,181,253,.32),transparent 70%),radial-gradient(70% 24% at 0% 0%,rgba(244,114,182,.12),transparent 70%),radial-gradient(90% 30% at 50% 100%,rgba(167,139,250,.12),transparent 70%),rgba(255,255,255,.97); box-shadow: -26px 0 60px -44px rgba(45,25,70,.55); transform: translateX(100%); transition: transform .2s ease; color: var(--chat-ink); font-family: var(--sans); backdrop-filter: blur(14px); }
.hitl-backdrop.open .hitl-drawer { transform: translateX(0); }
.hitl-head { padding: 14px 14px 12px 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid rgba(221,208,238,.55); background: rgba(247,242,255,.65); box-shadow: inset 0 1px 0 #fff; }
.hitl-head-brand { flex: 1 1 160px; min-width: 0; display: flex; align-items: center; gap: 9px; }
.hitl-head-mark { position: relative; isolation: isolate; width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 32% 28%,#f5d0fe 0%,#c084fc 28%,#7c3aed 62%,#4c1d95 100%); box-shadow: 0 0 0 3px rgba(196,181,253,.25),0 6px 18px -6px rgba(124,58,237,.7); color: #fff; animation: hitlOrbBreathe 4.5s ease-in-out infinite; }
.hitl-head-copy { min-width: 0; }
.hitl-head h2 { margin: 0; color: var(--chat-ink); font: 800 14px/1.3 var(--sans); }
.hitl-person { max-width: 100%; overflow: hidden; margin: 5px 0 0; border: 1px solid #e3d8f3; border-radius: 999px; padding: 3px 8px; background: rgba(244,237,255,.8); color: #5b22a6; font-size: 10.5px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.hitl-head-actions { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.hitl-reset { min-height: 30px; border: 1px solid var(--chat-line); border-radius: 8px; background: var(--chat-paper); color: var(--chat-purple-dark); padding: 0 8px; font: 650 10.5px var(--sans); cursor: pointer; }
.hitl-close { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--chat-muted); font-size: 20px; cursor: pointer; }
.hitl-close:hover,.hitl-reset:hover { border-color: #d9c9ed; background: #f5f2fb; color: var(--chat-purple-dark); }
/* Ask ORA's resting mark and compact presence while a request is pending. */
.hitl-head-mark > i { position: absolute; inset: -5px; border-radius: 50%; background: conic-gradient(transparent,rgba(240,171,252,.55),transparent 40%,rgba(147,197,253,.45),transparent 75%); filter: blur(3px); opacity: .55; animation: hitlOrbOrbit 6s linear infinite; z-index: -1; }
.hitl-drawer.is-thinking .hitl-head-mark { animation-duration: 1.4s; }
.hitl-message.ora::before { content: ''; position: absolute; top: 4px; left: -20px; width: 13px; height: 13px; border-radius: 50%; background: radial-gradient(circle at 32% 28%,#f5d0fe 0%,#c084fc 30%,#7c3aed 70%); box-shadow: 0 0 8px rgba(192,132,252,.4); }
.hitl-loading { position: relative; display: flex; align-items: center; gap: 10px; min-height: 28px; color: #5b3a8f; font-weight: 600; }
.hitl-loading::before,.hitl-presence-orb { content: ''; display: inline-block; flex: none; width: 16px; height: 16px; border-radius: 50%; background: radial-gradient(circle at 34% 28%,#fbf5ff 0%,#e9d5ff 22%,#c4a1fb 50%,#8b5cf6 78%,#6d28d9 100%); box-shadow: 0 0 0 3px rgba(196,181,253,.18),0 3px 10px -3px rgba(124,58,237,.6); animation: hitlOrbBreathe 3.2s ease-in-out infinite; }
.hitl-opening { display: grid; justify-items: center; align-content: center; gap: 20px; min-height: 230px; text-align: center; }
.hitl-opening .hitl-presence-orb { width: 48px; height: 48px; box-shadow: 0 0 0 7px rgba(196,181,253,.16),0 14px 36px -12px rgba(124,58,237,.55); }
@keyframes hitlOrbBreathe { 50% { filter: brightness(1.08); transform: scale(1.05); } }
@keyframes hitlOrbOrbit { to { transform: rotate(360deg); } }
@keyframes hitlReplyIn { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion:reduce) { .hitl-head-mark,.hitl-head-mark > i,.hitl-loading::before,.hitl-presence-orb,.hitl-message { animation: none; }.hitl-send:hover:not(:disabled) { transform: none; } }
.hitl-messages { padding: 16px; overflow: auto; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #d6cbe5 transparent; }
.hitl-empty { padding: 20px 4px; color: var(--chat-muted); font-size: 12px; line-height: 1.6; }
.hitl-message { position: relative; max-width: calc(100% - 20px); margin: 0 0 16px 20px; padding: 11px 12px; border: 1px solid rgba(232,223,243,.8); border-radius: 4px 14px 14px 14px; background: rgba(255,255,255,.92); box-shadow: 0 10px 28px -22px rgba(76,29,149,.55); color: var(--chat-ink); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; animation: hitlReplyIn .3s ease-out both; }
.hitl-message.user { max-width: 86%; margin-left: auto; border: 0; border-radius: 14px 14px 4px 14px; background: linear-gradient(135deg,#ede4ff,#fae8ff); color: #35205a; }
.hitl-message.system { max-width: 100%; margin-left: 0; border: 0; background: transparent; box-shadow: none; color: var(--chat-muted); }
.hitl-message strong { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 650; }
/* "ORA is reviewing…": the orb beside the words, not run into them (the rule above would make it a plain block). */
.hitl-message strong.hitl-loading { display: flex; margin-bottom: 0; }
.hitl-message p { margin: 5px 0; }
.hitl-message ul { margin: 6px 0 0; padding-left: 18px; }
.hitl-message li + li { margin-top: 8px; }
.hitl-error { color: #9a2f44; }
.hitl-loading::after { content: none; }
.hitl-compose { padding: 12px; border-top: 1px solid var(--chat-line); background: rgba(250,247,255,.7); }
.hitl-compose-input { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: end; gap: 7px; }
.hitl-compose textarea { box-sizing: border-box; width: 100%; min-height: 64px; max-height: 160px; resize: vertical; padding: 9px 10px; border: 1px solid #e3d8ef; border-radius: 12px; background: var(--chat-paper); color: var(--chat-ink); caret-color: var(--chat-purple); font: 500 12px/1.45 var(--sans); }
.hitl-compose textarea::placeholder { color: #71657e; }
.hitl-compose textarea:focus-visible { border-color: #a78bfa; outline: 2px solid #ddd6fe; outline-offset: 1px; }
.hitl-send { display: grid; place-items: center; flex: none; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: linear-gradient(135deg,#7c3aed,#6d35c6); box-shadow: 0 6px 14px -7px rgba(124,58,237,.55); color: #fff; font-size: 17px; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.hitl-send:hover:not(:disabled) { transform: scale(1.06); box-shadow: 0 8px 18px -7px rgba(124,58,237,.65); }
.hitl-send[disabled],.hitl-reset[disabled] { opacity: .55; cursor: default; }
.hitl-send-spinner { animation: spin 1s linear infinite; }
.hitl-priority-choices,.hitl-question-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.hitl-priority-choices button,.hitl-question-actions button { min-height: 30px; border: 1px solid #d9c9ed; border-radius: 8px; background: var(--chat-paper); color: var(--chat-purple-dark); padding: 5px 9px; font: 650 11px/1.2 var(--sans); cursor: pointer; }
.hitl-priority-choices button:first-child,.hitl-question-actions button:first-child { border-color: var(--chat-purple); background: var(--chat-purple); color: #fff; }
.hitl-priority-choices .hitl-choice-cancel,.hitl-question-actions button:last-child { border-color: transparent; background: transparent; color: var(--chat-muted); }
.hitl-question-actions button:hover:not(:disabled),.hitl-priority-choices button:hover:not(:disabled) { filter: brightness(.96); }
.hitl-priority-choices button[disabled],.hitl-question-actions button[disabled] { cursor: default; opacity: .48; }
.hitl-recommendation { margin-top: 14px; padding: 14px 0 0; border-top: 1px solid var(--chat-line); }
.hitl-recommendation > strong { color: var(--chat-ink); font-size: 12px; line-height: 1.5; }
.hitl-recommendation > p { color: #62576e; font-size: 11.5px; }
.hitl-recommendation-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; margin-top: 7px; color: #71657e; font-size: 10.5px; }
.hitl-recommendation-meta span { display: inline-flex; align-items: center; gap: 4px; }
.hitl-recommendation-meta svg { width: 12px; height: 12px; }
.ora-brief-unavailable { display: grid; gap: 8px; justify-items: start; max-width: 620px; margin: 24px auto; padding: 20px 22px; border: 1px solid #ded3e8; border-radius: 12px; background: #fbf9fd; color: #3b2a48; }
.ora-brief-unavailable h3 { margin: 0; font-size: 15px; }
.ora-brief-unavailable p { margin: 0; color: #5d4a6b; font-size: 13px; line-height: 1.5; }
.ora-brief-earlier { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 8px 12px; border: 1px solid #e7d9b8; border-radius: 9px; background: #fdf8ec; color: #6b5420; font-size: 12px; }
.hitl-show-more { width: 100%; margin-top: 10px; padding: 8px 10px; border: 1px solid var(--chat-line); border-radius: 8px; background: var(--chat-paper); color: var(--chat-purple-dark); font: 600 11px var(--sans); cursor: pointer; }
.hitl-evidence-toggle { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 0 6px; border: 1px solid #e3d8ef; border-radius: 999px; background: #f4eefd; color: #61229f; padding: 3px 8px; font: 650 10.5px/1.2 var(--sans); vertical-align: middle; cursor: pointer; }
.hitl-evidence-toggle svg { width: 12px; height: 12px; }
.hitl-evidence-panel { margin-top: 10px; border-top: 1px solid var(--chat-line); padding-top: 10px; }
.hitl-evidence-panel[hidden] { display: none; }
.hitl-evidence-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: var(--chat-muted); font-size: 11px; font-weight: 650; }
.hitl-evidence-panel-head button { border: 0; background: transparent; color: var(--chat-purple-dark); font: 600 11px var(--sans); cursor: pointer; }
.hitl-evidence-item { padding: 8px 0; }
.hitl-evidence-item + .hitl-evidence-item { border-top: 1px solid var(--chat-line); }
.hitl-evidence-item strong { color: var(--chat-ink); font-size: 12px; }
.hitl-evidence-item p { color: #62576e; font-size: 11.5px; line-height: 1.5; }
.hitl-evidence-item small { color: #71657e; font-size: 10.5px; }
.hitl-replacement { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--chat-line); }
.hitl-replacement p { margin: 0 0 6px; color: var(--chat-muted); font-size: 11px; font-weight: 650; }
.hitl-replacement button { display: block; width: 100%; margin-top: 5px; border: 1px solid var(--chat-line); border-radius: 8px; background: var(--chat-paper); color: var(--chat-ink); padding: 9px; font: 600 11.5px/1.4 var(--sans); text-align: left; cursor: pointer; }
.hitl-replacement .hitl-replacement-cancel { color: var(--chat-purple-dark); text-align: center; }
.hitl-drawer :is(button,textarea,input):focus-visible,.hitl-upload:focus-within { outline: 2px solid #a78bfa; outline-offset: 3px; }
.hitl-drawer ::selection { background: #e8dcfb; color: #35205a; }
@media (max-width: 600px) { .hitl-drawer { width: 100vw; }.hitl-head-brand { flex-basis: 160px; }.hitl-message { max-width: 100%; } }
@media (prefers-reduced-motion: reduce) { .hitl-backdrop,.hitl-drawer { transition: none; }.hitl-loading::after,.hitl-send-spinner { animation: none; } }

/* v3 header (2026-10-14): the stage tabs sit in the header row between the client and the tools (the experience menu,
   Share, Runs, Canvas and Ask ORA; see "The header's tools" above). When nothing else in a tight header can give way,
   the tabs keep their icons only (is-tabs-compact, measured in engagement.js). */
.ec-header .ec-tabs { flex: 0 1 auto; min-width: 0; margin: 0 auto 0 14px; padding: 3px; gap: 2px; border-radius: 11px; box-shadow: none; }
.ec-header .ec-tabs button { padding: 6px 11px; font: 650 11.5px var(--sans); white-space: nowrap; }
.ec-header .ec-tabs button > i { font-size: 15px; }
/* The tabs need the header's width: the experience switcher shows its icon only (the menu still names it). */
.ec-header .ec-experience-trigger > span { display: none; }
@media (max-width: 760px) {
  .ec-header .ec-tabs { margin-left: 6px; }
}

/* The same attachment chip and paperclip as Ask ORA, with deferred Send. */
.hitl-compose .ask-ora-attachments { margin-bottom: 8px; }
.hitl-compose .ask-ora-attachments[hidden],.hitl-compose .ask-ora-file-error:empty { display: none; }
.hitl-compose .ask-ora-file { font-size: 11px; }
.hitl-compose .ask-ora-clip { font-size: 18px; }
.hitl-compose .ask-ora-clip:disabled { opacity: .5; cursor: default; }
.hitl-send-status { display: flex; align-items: center; gap: 8px; margin-top: 8px; color: #9d3b35; font-size: 11px; }
.hitl-send-status button,.hitl-source-open { border: 0; border-radius: 6px; background: transparent; color: #6520ab; padding: 4px; font: 650 11px var(--sans); cursor: pointer; }
.hitl-send-status button:hover,.hitl-source-open:hover { background: #eee7f9; }
.hitl-sent-file { color: #62576e; font-size: 11px; }

/* Interview preparation hierarchy uses the existing ORA purple/paper palette. */
.ora-interview-brief-workspace .ec-person-workspace-body { background: var(--brief-surface); }
.ora-prepare-bar > .ora-prepare-heading { display: grid; gap: 0; }
.ora-prepare-context { margin: 7px 0 0; color: var(--mute); font: 400 13px/1.5 var(--sans); overflow-wrap: anywhere; }
@media (max-width: 600px) { .ora-prepare-bar { align-items: start; flex-direction: column; } }

/* Shared ORA controls and readable people hierarchy, scoped to Interview Briefs. */
.ora-interview-brief-workspace .ec-person-navigator { background: var(--lav-50); border-right-color: var(--line); }
.ora-interview-brief-workspace .ec-person-navigator > header { border-bottom-color: var(--line); }
.ora-interview-brief-workspace .ec-person-navigator > header strong { color: var(--ink-2); font-weight: 700; }
.ora-interview-brief-workspace .ec-person-navigator > header span { color: var(--mute); font-size: 11px; }
.ora-interview-brief-workspace .ec-person-navigator-controls { border-bottom-color: var(--line); }
.ora-interview-brief-workspace .ec-person-navigator-search input,
.ora-interview-brief-workspace .ec-person-navigator-filter select { min-height: 40px; border-color: var(--line); border-radius: 11px; background-color: #fff; color: var(--ink-2); font: 500 12px var(--sans); }
.ora-interview-brief-workspace .ec-person-navigator-search > i,
.ora-interview-brief-workspace .ec-person-navigator-filter > i { color: var(--lav-600); }
.ora-interview-brief-workspace .ec-person-navigator-item { min-height: 72px; color: var(--ink-2); }
.ora-interview-brief-workspace .ec-person-navigator-item:hover { background: #fff; border-color: var(--lav-200); }
.ora-interview-brief-workspace .ec-person-navigator-item.is-selected { background: #fff; border-color: var(--lav-300); box-shadow: 0 6px 16px -12px rgba(76,29,149,.3); }
.ora-interview-brief-workspace .ec-person-navigator-mark { background: var(--lav-100); color: var(--lav-600); font-size: 10px; }
.ora-interview-brief-workspace .ec-person-navigator-copy strong { color: var(--ink-2); font: 600 13px/1.35 var(--sans); }
.ora-interview-brief-workspace .ec-person-navigator-copy small,
.ora-interview-brief-workspace .ec-person-navigator-copy > span { color: var(--mute); font: 400 11px/1.4 var(--sans); }
.ora-interview-brief-workspace .ec-person-workspace-nav button[aria-selected="true"] { border-bottom-color: var(--lav-600); color: var(--lav-600); }
.ora-interview-brief-workspace .ec-person-workspace-head-metric strong { color: var(--ink-2); }
.ora-interview-brief-workspace .ec-person-workspace-head-metric i,
.ora-interview-brief-workspace .ec-person-workspace-head-metric small { color: var(--mute); }
.ora-interview-brief-workspace :is(button,a,input,select):focus-visible { outline: 2px solid var(--lav-600); outline-offset: 3px; }
.ora-interview-brief-workspace ::selection { background: var(--lav-200); color: var(--ink); }
.ora-interview-brief-workspace :is(input,textarea) { caret-color: var(--lav-600); }
.ora-interview-brief-workspace :is(.ec-person-navigator-list,.ec-person-workspace-body) { scrollbar-color: var(--lav-300) var(--paper); scrollbar-width: thin; }

/* Match the People board's hover/press feedback without making reading surfaces clickable. */
.ora-interview-brief-workspace :is(button,select):not(:disabled) { cursor: pointer; }
.ora-interview-brief-workspace :is(button,select):disabled { cursor: not-allowed; }
.ora-interview-brief-workspace input[type="search"] { cursor: text; }
.ora-interview-brief-workspace .ora-drawer-scrim { cursor: default; }
.ora-interview-brief-workspace :is(.ec-person-navigator-item,.ec-person-workspace-nav button,.ora-question-filters button,.ora-card-eye,.ora-evidence-link,.ec-workspace-head > button,.ora-question-drawer > header > button) { transition: transform .14s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
.ora-interview-brief-workspace :is(.ora-question-number) { transition: background .18s ease,color .18s ease; }
.ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row) .ora-card-eye i { transition: transform .18s ease; }
@media (hover: hover) and (pointer: fine) {
  .ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled)):hover { transform: translateY(-2px); border-color: var(--lav-400); background: #fff; box-shadow: 0 16px 32px -24px rgba(48,38,62,.45); }
  .ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled)):hover :is(.ora-question-number) { background: var(--lav-200); color: var(--lav-600); }
  .ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled)):hover .ora-card-eye i { transform: translateX(2px); }
  .ora-priority-card:hover .ora-priority-action i { transform: translateX(3px); }
  .ora-interview-brief-workspace .ec-person-navigator-item:not(:disabled):hover { border-color: var(--lav-300); background: #fff; box-shadow: 0 8px 18px -16px rgba(55,25,88,.65); }
  .ora-interview-brief-workspace .ec-person-navigator-item:not(:disabled):hover strong { color: var(--lav-600); }
  .ora-interview-brief-workspace :is(.ec-person-workspace-nav button,.ora-question-filters button):not(:disabled):hover { color: var(--lav-600); background: var(--lav-50); }
  .ora-interview-brief-workspace :is(.ora-question-filters button,.ora-card-eye,.ora-evidence-link,.ec-workspace-head > button,.ora-question-drawer > header > button):not(:disabled):hover { border-color: var(--lav-400); color: var(--lav-600); background: var(--lav-50); box-shadow: 0 10px 22px -10px rgba(124,58,237,.25); }
}
.ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled):active) { transform: translateY(0); box-shadow: 0 6px 18px -14px rgba(15,23,42,.18); }
.ora-interview-brief-workspace :is(.ec-person-navigator-item,.ec-person-workspace-nav button,.ora-question-filters button,.ora-evidence-link,.ec-workspace-head > button,.ora-question-drawer > header > button):not(:disabled):active { transform: translateY(0); background: var(--lav-100); }
.ora-interview-brief-workspace .ora-question-open:focus-visible { outline: none; }
@media (prefers-reduced-motion: reduce) {
  .ora-interview-brief-workspace :is(button,select,.ec-person-navigator-item,.ora-priority-card,.ora-question-row,.ora-question-number,.ora-card-eye i,.ora-priority-action i) { transition: none; }
  .ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled)):hover,
  .ora-interview-brief-workspace :is(.ora-priority-card,.ora-question-row):has(.ora-question-open:not(:disabled)):hover .ora-card-eye i,
  .ora-priority-card:hover .ora-priority-action i,
  .ora-interview-brief-workspace button:hover:not(:disabled),
  .ora-interview-brief-workspace .btn-primary:hover:not(:disabled):not(.recording) { transform: none; }
  .ora-interview-brief-workspace .btn-primary,
  .ora-interview-brief-workspace .btn-primary:hover:not(:disabled):not(.recording) { animation: none; }
  .ora-interview-brief-workspace .btn-primary::after,
  .ora-interview-brief-workspace .btn-primary:hover:not(:disabled):not(.recording)::after { animation: none; }
}

/* The shared assessment viewer sits above the retained interview and chat. */
/* The cockpit dims at once; the evidence window (its own page) fades in when it has drawn, so nothing flashes white. */
.ec-interview-evidence-host { position: fixed; inset: 0; z-index: 1500; background: rgba(26,18,38,.46); backdrop-filter: blur(4px); animation: ecEvidenceDim .14s ease-out both; }
.ec-interview-evidence-host > iframe { display: block; width: 100%; height: 100%; border: 0; background: transparent; color-scheme: light; opacity: 0; transition: opacity .14s ease-out; }
.ec-interview-evidence-host.is-shown > iframe { opacity: 1; }
@keyframes ecEvidenceDim { from { background-color: rgba(26,18,38,0); } }
@media (prefers-reduced-motion:reduce) { .ec-interview-evidence-host { animation: none; } .ec-interview-evidence-host > iframe { transition: none; } }
.ec-interview-evidence-close { position: absolute; top: 16px; right: 16px; display: none; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink-2); font-size: 16px; cursor: pointer; }
.ec-interview-evidence-host.is-loading > .ec-interview-evidence-close,
.ec-interview-evidence-host.is-failed > .ec-interview-evidence-close { display: grid; }
.ec-interview-evidence-close:hover { border-color: var(--lav-300); }
.ec-interview-evidence-close:focus-visible { outline: 3px solid rgba(113,56,180,.25); outline-offset: 2px; }
.ec-interview-evidence-problem { position: absolute; top: 50%; left: 50%; width: min(420px, calc(100vw - 48px)); margin: 0; padding: 20px 22px; transform: translate(-50%, -50%); border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink-2); font: 500 14px/1.5 var(--sans); text-align: center; }
