/* V.I.S.I.O.N. v23c - Field Control Rail */
.vision-focus-shell {
  position: sticky;
  top: 0;
  z-index: 18;
  display: grid;
  gap: 0.38rem;
  margin: 0 0 0.42rem;
  padding: 0.42rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(7, 19, 31, 0.92), rgba(7, 16, 26, 0.92));
  box-shadow: 0 8px 20px rgba(0,0,0,0.22);
  backdrop-filter: blur(10px);
}
.vision-focus-shell__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
}
.vision-focus-shell__compact-label {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 0.38rem;
  white-space: nowrap;
  overflow: hidden;
}
.vision-focus-shell__eyebrow {
  color: var(--tracker-mint, #65f0b1);
  font-size: 0.62rem;
  font-weight: 1000;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.vision-focus-shell__state {
  color: #fff;
  font-size: 0.86rem;
  font-weight: 1000;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vision-focus-shell__copy {
  color: rgba(237,247,255,0.62);
  font-size: 0.68rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vision-focus-shell__actions,
.vision-focus-shell__steps {
  display: flex;
  gap: 0.32rem;
}
.vision-focus-shell__actions button,
.vision-focus-shell__steps button {
  min-height: 1.95rem;
  border-radius: 999px;
  padding: 0.34rem 0.56rem;
  border: 1px solid rgba(255,255,255,0.13);
  background: rgba(255,255,255,0.065);
  color: #f8fbff;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
}
.vision-focus-shell__actions button.is-primary {
  background: rgba(101,240,177,0.14);
  color: #a6ffd8;
  border-color: rgba(101,240,177,0.36);
}
.vision-focus-shell__actions button.is-secondary {
  background: rgba(88,166,255,0.15);
  color: #b9ddff;
  border-color: rgba(88,166,255,0.38);
}
.vision-focus-shell__steps {
  overflow-x: auto;
  flex-wrap: nowrap;
  padding-bottom: 0.05rem;
  scrollbar-width: none;
}
.vision-focus-shell__steps::-webkit-scrollbar { display: none; }
.vision-focus-shell__steps button {
  flex: 0 0 auto;
}
.vision-focus-shell__steps button.is-active {
  background: rgba(101,240,177,0.18);
  border-color: rgba(101,240,177,0.48);
  color: #a6ffd8;
}
.vision-focus-shell__steps button.is-complete { border-color: rgba(88,166,255,0.38); }
.vision-focus-shell__steps button.is-skipped { border-color: rgba(242,192,76,0.44); }

body.vision-immersive-entry-active [data-de-global-nav],
body.vision-immersive-entry-active .tracker-hero,
body.vision-immersive-entry-active .vision-reviewer-sidecar,
body.vision-immersive-entry-active .de-common-footer,
body.vision-immersive-entry-active .vision-build-beacon,
body.vision-immersive-entry-active .helper-root,
body.vision-immersive-entry-active .helper-launcher,
body.vision-immersive-entry-active .helper-panel,
body.vision-immersive-entry-active .helper-body {
  display: none !important;
}
body.vision-immersive-entry-active .vision-field-lab {
  padding: 0 !important;
  border-top: 0 !important;
}
body.vision-immersive-entry-active .vision-field-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}
body.vision-immersive-entry-active .vision-device-column {
  max-width: 560px;
  width: 100%;
  margin: 0 auto;
}
body.vision-immersive-entry-active .vision-device-frame--workflow {
  min-height: 100vh;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
body.vision-immersive-entry-active .vision-device-statusbar {
  display: none !important;
}
body.vision-immersive-entry-active .vision-device-screen--workflow {
  min-height: 100vh;
  border-radius: 0 !important;
  padding: 0.85rem 0.85rem 5rem;
}
body.vision-immersive-entry-active .vision-field-app-top {
  margin-bottom: 0.35rem;
}
body.vision-immersive-entry-active .vision-field-reviewer-pill,
body.vision-immersive-entry-active .vision-workflow-head,
body.vision-immersive-entry-active .vision-field-warning,
body.vision-immersive-entry-active .vision-field-incident-strip--workflow,
body.vision-immersive-entry-active .vision-guided-review-bar,
body.vision-immersive-entry-active .vision-field-lens,
body.vision-immersive-entry-active .vision-field-lens-summary,
body.vision-immersive-entry-active .vision-law-action-rail,
body.vision-immersive-entry-active .vision-field-bottom-tabs,
body.vision-immersive-entry-active .vision-role-focus-panel,
body.vision-immersive-entry-active .vision-field-focus-note,
body.vision-immersive-entry-active [data-vision-mobile-panel="notes"] .vision-submission-log,
body.vision-immersive-entry-active [data-vision-mobile-panel="notes"] .vision-reviewer-workbench,
body.vision-immersive-entry-active [data-vision-mobile-panel="notes"] .vision-hidden-netlify-form,
body.vision-immersive-entry-active [data-vision-mobile-panel="home"] .vision-law-priority-grid,
body.vision-immersive-entry-active [data-vision-mobile-panel="person"] .vision-law-panel,
body.vision-immersive-entry-active [data-vision-mobile-panel="person"] .vision-data-class-mini-grid,
body.vision-immersive-entry-active [data-vision-mobile-panel="scene"] .vision-hazard-panel__head p,
body.vision-immersive-entry-active [data-vision-mobile-panel="scene"] .vision-scene-guidance-panel__head p,
body.vision-immersive-entry-active [data-vision-mobile-panel="scene"] .vision-field-checklist,
body.vision-immersive-entry-active [data-vision-mobile-panel="scene"] .vision-law-context-actions,
body.vision-immersive-entry-active [data-vision-mobile-panel="items"] .vision-field-card-stack,
body.vision-immersive-entry-active [data-vision-mobile-panel="items"] .vision-law-context-actions,
body.vision-immersive-entry-active [data-vision-mobile-panel="notes"] .vision-field-microcopy {
  display: none !important;
}
body.vision-immersive-entry-active .vision-screen-heading {
  margin-bottom: 0.55rem;
}
body.vision-immersive-entry-active .vision-screen-heading h3 {
  font-size: 1.34rem;
  line-height: 1.04;
}
body.vision-immersive-entry-active .vision-screen-heading span {
  color: var(--tracker-mint, #65f0b1);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.7rem;
  font-weight: 900;
}
body.vision-immersive-entry-active .vision-field-panel {
  padding-top: 0.1rem;
}
body.vision-immersive-entry-active .vision-field-card,
body.vision-immersive-entry-active .vision-subject-card,
body.vision-immersive-entry-active .vision-role-visibility-box,
body.vision-immersive-entry-active .vision-hazard-panel,
body.vision-immersive-entry-active .vision-custody-ladder,
body.vision-immersive-entry-active .vision-item-list,
body.vision-immersive-entry-active .vision-guided-final-review,
body.vision-immersive-entry-active .vision-protected-feedback-form,
body.vision-immersive-entry-active .vision-final-submit-panel,
body.vision-immersive-entry-active .vision-audit-summary,
body.vision-immersive-entry-active .vision-audit-feed,
body.vision-immersive-entry-active .vision-law-action-log {
  box-shadow: none;
}
body.vision-immersive-entry-active .vision-guided-final-review,
body.vision-immersive-entry-active .vision-final-submit-panel,
body.vision-immersive-entry-active .vision-protected-feedback-form,
body.vision-immersive-entry-active .vision-hazard-panel,
body.vision-immersive-entry-active .vision-subject-card,
body.vision-immersive-entry-active .vision-role-visibility-box,
body.vision-immersive-entry-active .vision-custody-ladder,
body.vision-immersive-entry-active .vision-item-list,
body.vision-immersive-entry-active .vision-field-card-stack,
body.vision-immersive-entry-active .vision-field-card {
  margin-top: 0.7rem;
}
body.vision-immersive-entry-active .vision-workflow-confirm-row,
body.vision-immersive-entry-active .vision-field-quick-actions {
  position: sticky;
  bottom: 0.4rem;
  z-index: 10;
  padding: 0.6rem;
  border-radius: 18px;
  background: rgba(5,12,20,0.9);
  border: 1px solid rgba(255,255,255,0.12);
}
body.vision-immersive-entry-active .vision-guided-final-review__actions,
body.vision-immersive-entry-active .vision-workflow-confirm-row,
body.vision-immersive-entry-active .vision-field-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
body.vision-immersive-entry-active .vision-field-app-action,
body.vision-immersive-entry-active .vision-workflow-confirm-row button,
body.vision-immersive-entry-active .vision-field-quick-actions button,
body.vision-immersive-entry-active .vision-guided-final-review__actions button,
body.vision-immersive-entry-active .vision-guided-final-review__actions a {
  flex: 1 1 140px;
}
body.vision-immersive-entry-active [data-vision-mobile-panel="notes"] .vision-form-flow-note {
  margin-top: 0.25rem;
}
body.vision-immersive-entry-active .vision-focus-shell {
  margin-bottom: 0.38rem;
}
body.vision-immersive-entry-active .vision-focus-shell__steps button {
  min-height: 1.9rem;
}
@media (max-width: 420px) {
  .vision-focus-shell__copy { display: none; }
  .vision-focus-shell__actions button { padding-inline: 0.48rem; }
}

/* v23b buried reviewer access configuration */
.vision-access-config-panel {
  margin: 0 0 1rem;
}
.vision-access-config-panel summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.25rem 0;
}
.vision-access-config-panel summary::-webkit-details-marker { display: none; }
.vision-access-config-panel summary span {
  color: var(--tracker-mint, #65f0b1);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.vision-access-config-panel summary strong {
  color: #fff;
  font-size: 1.08rem;
}
.vision-config-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 1rem 0;
}
.vision-config-grid div {
  border-radius: 18px;
  padding: 0.8rem;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.12);
}
.vision-config-grid strong {
  display: block;
  color: #fff;
  font-size: 0.84rem;
}
.vision-config-grid span {
  display: block;
  color: rgba(237,247,255,0.78);
  font-size: 0.82rem;
  margin-top: 0.18rem;
  word-break: break-word;
}
@media (max-width: 800px) {
  .vision-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v23e - selected role belongs in configuration/workspace, not the field walkthrough */
.vision-focus-shell__mode {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: max-content;
  max-width: 100%;
  margin-top: 0.22rem;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  border: 1px solid rgba(101,240,177,0.3);
  background: rgba(101,240,177,0.12);
  color: #a6ffd8;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.vision-focus-shell__mode b {
  color: #fff;
  letter-spacing: 0.02em;
}
body.vision-immersive-entry-active .vision-field-lens {
  display: none !important;
}
body.vision-immersive-entry-active .vision-field-lens + .vision-field-lens-summary {
  display: none !important;
}
body.vision-immersive-entry-active .vision-role-focus-panel {
  margin-top: 0.75rem;
}
body.vision-immersive-entry-active .vision-role-focus-panel .vision-role-focus-actions {
  display: grid;
  gap: 0.45rem;
}


/* v23e - Configuration Panel: setup decisions live outside field sections */
body.vision-mobile-prototype-page--v23e .vision-field-lens,
body.vision-mobile-prototype-page--v23e .vision-field-lens-summary {
  display: none;
}
body.vision-mobile-prototype-page--v23e .vision-configuration-panel .vision-field-lens,
body.vision-mobile-prototype-page--v23e .vision-configuration-panel .vision-field-lens-summary {
  display: grid;
}
body.vision-config-open .vision-field-panels,
body.vision-config-open .vision-law-action-rail,
body.vision-config-open .vision-action-handoff,
body.vision-config-open .vision-field-bottom-tabs,
body.vision-config-open .vision-field-app-top,
body.vision-config-open .vision-role-focus-panel {
  display: none !important;
}
.vision-configuration-panel {
  margin: 0.65rem 0 0;
  border-radius: 22px;
  padding: 0.85rem;
  border: 1px solid rgba(88,166,255,0.28);
  background:
    radial-gradient(circle at 18% 0%, rgba(88,166,255,0.16), transparent 13rem),
    rgba(8,18,30,0.94);
  box-shadow: 0 16px 38px rgba(0,0,0,0.28);
}
.vision-configuration-panel[hidden] { display: none !important; }
.vision-configuration-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.vision-configuration-panel__head span,
.vision-config-pane h3 {
  color: var(--tracker-mint, #65f0b1);
  font-size: 0.74rem;
  letter-spacing: 0.13em;
  font-weight: 1000;
  text-transform: uppercase;
}
.vision-configuration-panel__head strong {
  display: block;
  color: #fff;
  font-size: 1.08rem;
  line-height: 1.1;
  margin-top: 0.12rem;
}
.vision-configuration-panel__head p,
.vision-config-pane p,
.vision-config-list span {
  margin: 0.3rem 0 0;
  color: rgba(237,247,255,0.76);
  font-size: 0.84rem;
  line-height: 1.45;
}
.vision-configuration-panel__head button,
.vision-config-tabs button {
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 999px;
  background: rgba(255,255,255,0.075);
  color: #fff;
  font-weight: 900;
  padding: 0.58rem 0.76rem;
}
.vision-config-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}
.vision-config-tabs button.is-active {
  background: rgba(101,240,177,0.16);
  border-color: rgba(101,240,177,0.42);
  color: #a6ffd8;
}
.vision-config-pane { display: none; }
.vision-config-pane.is-active { display: block; }
.vision-config-pane h3 { margin: 0 0 0.35rem; }
.vision-config-pane .vision-field-lens {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0.55rem;
  margin: 0.75rem 0;
}
.vision-config-pane .vision-field-lens button {
  min-height: 3.1rem;
  border-radius: 16px;
}
.vision-config-pane .vision-field-lens-summary {
  margin-top: 0.65rem;
}
.vision-config-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.75rem;
}
.vision-config-list div {
  border-radius: 16px;
  padding: 0.75rem;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.055);
}
.vision-config-list strong {
  display: block;
  color: #fff;
  font-size: 0.9rem;
}
body.vision-immersive-entry-active .vision-focus-shell__actions button[data-vision-open-config] {
  background: rgba(255,255,255,0.08);
  color: #f8fbff;
}
@media (max-width: 720px) {
  .vision-config-tabs { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vision-configuration-panel__head { flex-direction: column; }
  .vision-configuration-panel__head button { width: 100%; }
}
