/*
 * EAGLE EYE Modern Intelligence Command Center — R67
 * Presentation-only layer. Loaded after the locked R7 theme so the release
 * remains reviewable and can be rolled back without rewriting prior baselines.
 */

:root {
  --command-navy-980: #020812;
  --command-navy-940: #04101e;
  --command-navy-900: #07182a;
  --command-surface: rgba(7, 24, 42, .94);
  --command-surface-soft: rgba(9, 30, 51, .82);
  --command-line: rgba(73, 146, 197, .24);
  --command-line-strong: rgba(83, 173, 232, .42);
  --command-gold: #ffc83d;
  --command-cyan: #00d9ff;
  --command-text: #eef6fc;
  --command-muted: #9bb0c2;
  --command-dim: #688199;
  --command-radius-sm: 7px;
  --command-radius-md: 10px;
  --command-radius-lg: 13px;
  --command-shadow: 0 16px 38px rgba(0, 0, 0, .26);
}

body {
  color: var(--command-text);
  background:
    radial-gradient(circle at 83% 0%, rgba(30, 112, 174, .11), transparent 30%),
    radial-gradient(circle at 5% 92%, rgba(255, 184, 34, .045), transparent 25%),
    var(--command-navy-980);
}

body::before {
  background-image:
    linear-gradient(rgba(86, 149, 194, .024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(86, 149, 194, .024) 1px, transparent 1px);
  background-size: 56px 56px;
}

body::after { opacity: .24; }

/* Brand remains distinctive; navigation and working copy use a calm UI face. */
.logo-text,
.eagle-brand-kicker { text-shadow: 0 0 11px rgba(255, 193, 7, .17); }

.topbar {
  background: rgba(2, 8, 18, .975);
  border-bottom-color: rgba(255, 193, 7, .23);
  box-shadow: 0 9px 26px rgba(0, 0, 0, .25);
}

.topbar::after { opacity: .7; }

.nav-tab,
.topbar-user-name,
.topbar-user-role,
.topbar-logout,
.sidebar-item,
.sidebar-label,
.sidebar-desc,
.panel-title,
.stack-card-copy,
.workspace-lead,
.native-box h3,
.feature-status-name,
.feature-status-state,
.native-table th,
.native-table td,
.history-pagination,
.profiling-process-head,
.profiling-status-compact p,
.cp-result-modal {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Sidebar groups become restrained dividers instead of competing neon panels. */
.sidebar .sidebar-section,
.sidebar .side-section {
  width: auto !important;
  margin: 16px 10px 6px !important;
  padding: 0 0 7px 11px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(77, 145, 194, .18) !important;
  border-left: 2px solid rgba(255, 200, 61, .66) !important;
  border-radius: 0 !important;
  color: #9eb5c8 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  line-height: 1.35 !important;
}

.sidebar .sidebar-section::before,
.sidebar .sidebar-section::after,
.sidebar .side-section::before,
.sidebar .side-section::after { display: none !important; }

.sidebar-item {
  min-height: 58px;
  border-radius: var(--command-radius-sm);
  transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}

.sidebar-item:hover {
  background: rgba(48, 126, 184, .055);
  box-shadow: none;
}

.sidebar-item.active {
  background: linear-gradient(90deg, rgba(255, 193, 7, .105), rgba(255, 193, 7, .018));
  box-shadow: inset 3px 0 0 var(--command-gold);
}

.sidebar-item .sidebar-label { font-weight: 750; letter-spacing: .015em; }
.sidebar-item .sidebar-desc { color: var(--command-dim); line-height: 1.45; }

/* Surface hierarchy: one clean keyline, compact radius, measured depth. */
.panel,
.native-box,
.service-limit-card,
.kpi-card,
.data-card,
.workspace-panel,
.result-panel,
.feature-section,
.eagle-dashboard-heading,
.eagle-status-card,
.eagle-quota-card,
.eagle-dashboard-block {
  border-color: var(--command-line);
  border-radius: var(--command-radius-md);
  background: linear-gradient(180deg, var(--command-surface), rgba(4, 16, 30, .965));
  box-shadow: var(--command-shadow);
}

.panel::before,
.native-box::before { opacity: .6; }

.panel-header {
  min-height: 49px;
  background: rgba(2, 10, 20, .34);
  border-color: var(--command-line);
}

.panel-title {
  color: #f4cf68;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .105em;
  text-shadow: none;
}

.panel-title::before { box-shadow: 0 0 5px rgba(255, 200, 61, .42); }

.corner-deco { opacity: .38; }

/* Navigator cards: less empty height, less glow, clearer reading order. */
.parallax-stack {
  --stack-viewport-h: clamp(300px, 46vh, 420px);
}

.parallax-cards .feature-section {
  grid-template-columns: 132px minmax(0, 1fr);
  border-radius: var(--command-radius-lg);
  background:
    radial-gradient(circle at 88% 12%, rgba(0, 169, 218, .07), transparent 34%),
    linear-gradient(180deg, rgba(7, 23, 41, .985), rgba(3, 14, 27, .98));
  backdrop-filter: blur(6px);
}

.parallax-stack .feature-section.is-active {
  border-color: rgba(57, 178, 228, .56);
  box-shadow:
    0 22px 54px -22px rgba(0, 168, 220, .25),
    0 0 30px -14px rgba(0, 200, 255, .16),
    inset 0 0 0 1px rgba(73, 164, 215, .11);
}

.section-label {
  grid-column: 1;
  grid-row: 1 / 4;
  padding: 16px 13px;
  border-right-color: rgba(73, 146, 197, .18);
  background: rgba(2, 10, 20, .36);
}

.section-label-text {
  color: #8ca7bb;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-shadow: none;
}

.stack-card-meta {
  position: static;
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  margin: 14px 17px 0;
  border-color: rgba(47, 157, 211, .27);
  border-radius: 999px;
  color: #68dfff;
  background: rgba(0, 143, 194, .09);
  box-shadow: none;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .105em;
}

.stack-card-copy,
.parallax-stack .feature-buttons > p,
.parallax-stack .workspace-lead {
  color: #e9f2f8 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.58 !important;
  text-shadow: none !important;
}

.stack-card-copy {
  grid-column: 2;
  grid-row: 2;
  padding: 4px 20px 0;
}

.parallax-cards .feature-section .feature-buttons {
  grid-column: 2;
  grid-row: 3;
  gap: 9px;
  padding: 14px 20px 20px;
}

.parallax-stack .stack-dot.is-active {
  box-shadow: 0 0 8px rgba(0, 217, 255, .72), 0 0 14px rgba(0, 200, 255, .24);
}

.parallax-stack .stack-counter { text-shadow: none; }

/* R64 authority classes stay authoritative; only the visual energy is reduced. */
.parallax-stack .feat-btn {
  min-height: 42px;
  padding: 9px 14px;
  border-radius: var(--command-radius-sm);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: .015em;
  text-align: center;
  justify-content: center;
  clip-path: none;
  transition: transform .14s ease, border-color .14s ease, background-color .14s ease, box-shadow .14s ease;
}

.parallax-stack .feat-btn.is-enabled {
  background-color: #00d9ff;
  background-image: linear-gradient(135deg, #a7f7ff 0%, #00d9ff 52%, #00a6cf 100%);
  border-color: #b7f8ff;
  color: #00141d;
  font-weight: 800;
  text-shadow: none;
  box-shadow:
    0 0 0 1px rgba(0, 217, 255, .16),
    0 0 12px rgba(0, 217, 255, .22),
    inset 0 1px 0 rgba(255, 255, 255, .52);
}

.parallax-stack .feat-btn.is-enabled:hover,
.parallax-stack .feat-btn.is-enabled:focus-visible {
  background-color: #29e2ff;
  background-image: linear-gradient(135deg, #d1fcff 0%, #29e2ff 52%, #00b3dd 100%);
  border-color: #e2fdff;
  color: #000f16;
  box-shadow:
    0 0 0 1px rgba(0, 217, 255, .23),
    0 0 16px rgba(0, 217, 255, .3),
    inset 0 1px 0 rgba(255, 255, 255, .68);
}

.parallax-stack .feat-btn.is-enabled:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.parallax-stack .feat-btn.is-enabled.active {
  background-color: #58eaff;
  background-image: linear-gradient(135deg, #d6fdff 0%, #58eaff 52%, #00b9e5 100%);
  border-color: #fff;
  color: #000d13;
}

.parallax-stack .feat-btn.is-disabled,
.parallax-stack .feat-btn:disabled {
  border-color: rgba(101, 133, 157, .26);
  color: #6f8495;
  background: rgba(78, 105, 126, .035);
  box-shadow: none;
}

/* Operational content and tables keep technical values distinct from labels. */
.native-box { padding: 16px; }
.native-box h3 { color: #66d9fa; font-weight: 800; letter-spacing: .105em; text-shadow: none; }
.native-detail-item,
.feature-status-item,
.service-limit-card { border-radius: var(--command-radius-sm); }
.native-table th { font-weight: 800; letter-spacing: .075em; }
.native-table td { line-height: 1.48; }
.native-table .code,
code,
pre,
.request-id,
.stack-counter { font-family: "Share Tech Mono", ui-monospace, SFMono-Regular, Consolas, monospace; }

.feat-btn,
button,
.history-pagination button,
.native-shortcut,
.eagle-text-action {
  border-radius: var(--command-radius-sm);
}

.shell-toast,
.profiling-process-modal,
.cp-result-modal { border-radius: var(--command-radius-lg); }

.profiling-process-overlay,
.cp-result-overlay { background: rgba(1, 6, 14, .82); backdrop-filter: blur(7px); }

@media (max-width: 900px) {
  body::before { background-size: 44px 44px; }

  .content {
    gap: 14px;
    padding: 14px 12px calc(86px + env(safe-area-inset-bottom));
  }

  .topbar .nav-tabs {
    height: 68px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    box-shadow: 0 -10px 24px rgba(0, 0, 0, .34);
  }

  .topbar .nav-tab {
    min-width: 78px;
    min-height: 48px;
    border-radius: 8px;
  }

  .parallax-cards { gap: 12px; }

  .parallax-cards .feature-section {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
  }

  .parallax-stack .stack-card-meta {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    max-width: calc(100% - 28px);
    margin: 13px 14px 0;
    padding: 4px 9px;
  }

  .parallax-stack .stack-card-copy {
    grid-column: 1;
    grid-row: 2;
    padding: 0 15px;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .parallax-cards .feature-section .feature-buttons {
    grid-column: 1;
    grid-row: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0 15px 16px;
  }

  .parallax-stack .feat-btn {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 9px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .native-request-grid,
  .workspace-grid { gap: 12px; }
  .panel-body { padding: 15px; }
}

@media (max-width: 560px) {
  .topbar { padding-inline: 10px; }
  .logo { gap: 7px; }
  .logo-text { font-size: 14px; letter-spacing: .12em; }
  .eagle-brand-kicker { font-size: 7px; letter-spacing: .18em; }
  .content { padding-inline: 10px; }
  .eagle-dashboard-heading,
  .eagle-quota-card,
  .eagle-dashboard-block { padding: 14px; }
  .panel-header { padding: 12px 14px; }
  .panel-body { padding: 13px; }
  .native-box { padding: 13px; }
  .native-table th,
  .native-table td { padding: 10px 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .parallax-stack .feat-btn,
  .sidebar-item { transition: none !important; }
}

/* R69: mobile result dialogs use a readable document flow, never map overlays. */
.cp-map-link-state {
  color: var(--cyan);
  overflow-wrap: normal;
  word-break: normal;
}

@media (min-width: 901px) {
  .cp-dashboard-map > .cp-map-caption {
    left: auto;
    right: 14px;
    width: min(54%, 560px);
    z-index: 440;
  }
}

@media (max-width: 900px) {
  .cp-result-overlay {
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-sizing: border-box;
    padding: 12px 10px calc(52px + env(safe-area-inset-bottom));
  }

  .cp-result-modal {
    width: 100%;
    max-width: 100%;
    max-height: none;
    height: auto;
    overflow: visible;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 14px;
  }

  .cp-result-close {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }

  .cp-result-modal .feat-btn,
  .profiling-result-actions .feat-btn {
    min-height: 48px;
  }

  .cp-dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
  }

  .cp-dashboard-grid > .cp-dashboard-card:first-child {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .cp-dashboard-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 10px;
    height: auto;
    min-height: 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .cp-leaflet-map {
    grid-row: 1;
    height: min(58vh, 480px);
    min-height: 320px;
  }

  .cp-map-caption,
  .cp-map-legend {
    position: static;
    inset: auto;
    z-index: auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
  }

  .cp-map-caption {
    grid-row: 2;
    line-height: 1.55;
  }

  .cp-map-legend {
    grid-row: 3;
    line-height: 1.65;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .24);
  }

  .cp-detail-row strong {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 520px) {
  .cp-result-overlay {
    padding: 8px 6px calc(42px + env(safe-area-inset-bottom));
  }

  .cp-result-modal {
    padding: 11px;
  }

  .cp-result-head {
    gap: 8px;
    margin-bottom: 11px;
    padding-bottom: 11px;
  }

  .cp-result-brand {
    gap: 8px;
    align-items: flex-start;
  }

  .cp-result-logo {
    width: 72px;
    height: 48px;
  }

  .cp-result-title {
    font-size: 19px;
    line-height: 1.25;
    letter-spacing: .045em;
  }

  .cp-result-kicker {
    font-size: 10px;
    letter-spacing: .045em;
  }

  .cp-dashboard-card {
    padding: 10px;
  }

  .cp-leaflet-map {
    height: 350px;
    min-height: 350px;
  }

  .cp-map-caption,
  .cp-map-legend {
    padding: 11px 12px;
  }

  .cp-detail-row {
    grid-template-columns: minmax(92px, .4fr) minmax(0, 1fr);
    gap: 9px;
    padding: 10px;
  }
}

/*
 * R93: every saved-tracking analysis uses one bounded main column.  The
 * history table owns its horizontal scroll; it must never dictate the width
 * of the workspace panel, map, or document.  LINIMASA keeps the established
 * R76 result-first ordering while normal analysis follows DOM order.
 */
.workspace-grid.is-tracking-analysis {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  scroll-margin-top: 140px;
}

.workspace-grid.is-tracking-analysis > .workspace-panel,
.workspace-grid.is-tracking-analysis > .workspace-panel > .panel-body,
.workspace-grid.is-tracking-analysis .native-module,
.workspace-grid.is-tracking-analysis .native-box,
.workspace-grid.is-tracking-analysis #shellTrackingAnalysisForm,
.workspace-grid.is-tracking-analysis #shellTrackingAnalysisResult,
.workspace-grid.is-tracking-analysis #shellTrackingAnalysisInlineHistory,
.workspace-grid.is-tracking-analysis #shellTrackingAnalysisMap,
.workspace-grid.is-tracking-analysis .tracking-leaflet-shell,
.workspace-grid.is-tracking-analysis .tracking-leaflet-map {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.workspace-grid.is-tracking-analysis .native-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
  box-sizing: border-box;
}

.workspace-grid.is-tracking-analysis .native-table {
  width: max-content;
  min-width: 1280px;
  max-width: none;
  table-layout: auto;
}

.workspace-grid.is-tracking-analysis .native-table th,
.workspace-grid.is-tracking-analysis .native-table td {
  word-break: normal;
  overflow-wrap: normal;
}

.workspace-grid.is-tracking-analysis .tracking-analysis-map-box,
.workspace-grid.is-tracking-analysis .tracking-leaflet-shell,
.workspace-grid.is-tracking-analysis .tracking-leaflet-map {
  width: 100%;
}

@media (max-width: 900px) {
  .workspace-grid.is-tracking-analysis {
    scroll-margin-top: 220px;
  }
}

/* R76: LINIMASA analysis lives in the main workspace with mobile-safe controls. */
.workspace-grid.is-linimasa-analysis {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  scroll-margin-top: 140px;
}

.workspace-grid.is-linimasa-analysis #detailSecondary {
  display: block;
  grid-row: 1;
  min-height: 0;
}

.workspace-grid.is-linimasa-analysis #detailPrimary {
  grid-row: 2;
  min-height: 0;
}

@media (max-width: 900px) {
  .workspace-grid.is-linimasa-analysis {
    scroll-margin-top: 220px;
  }

  #shellTrackingAnalysisForm,
  #shellTrackingAnalysisResult,
  #shellTrackingAnalysisInlineHistory,
  #shellTrackingAnalysisMap {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #shellTrackingAnalysisForm .tactical-input {
    min-height: 48px;
    font-size: 16px;
  }

  #shellTrackingAnalysisForm .feat-btn,
  #shellTrackingAnalysisResult .feat-btn,
  #shellTrackingAnalysisInlineHistory .feat-btn {
    min-height: 48px;
    box-sizing: border-box;
    padding: 11px 14px;
  }

  #shellTrackingAnalysisForm .button-row,
  #shellTrackingAnalysisResult .button-row {
    align-items: stretch;
  }
}

/* EAGLE R73 — explicit local preview and bounded FRV2 scan states. */
body.face-concept-mode .frv2-preview-stage {
  isolation: isolate;
  overflow: hidden;
  transition:
    width 220ms cubic-bezier(.22, 1, .36, 1),
    height 220ms cubic-bezier(.22, 1, .36, 1),
    border-color 160ms ease,
    box-shadow 160ms ease,
    border-radius 220ms cubic-bezier(.22, 1, .36, 1);
}

body.face-concept-mode .frv2-preview-stage.is-preview-visible {
  width: min(250px, 100%);
  height: 310px;
  border: 1px solid rgba(0, 217, 255, .44);
  border-radius: 12px;
  background: #020812;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255, 255, 255, .025);
}

body.face-concept-mode .frv2-preview-stage.is-preview-visible::before,
body.face-concept-mode .frv2-preview-stage.is-preview-visible::after,
body.face-concept-mode .frv2-preview-stage.is-preview-visible .scan-ring,
body.face-concept-mode .frv2-preview-stage.is-preview-visible .face-icon {
  display: none;
}

.frv2-preview-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #020812;
}

.frv2-preview-image[hidden] {
  display: none !important;
}

.frv2-scan-beam {
  --frv2-beam: #00d9ff;
  position: absolute;
  z-index: 3;
  top: 3%;
  left: 6%;
  right: 6%;
  height: 2px;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--frv2-beam) 18%, #e8fdff 50%, var(--frv2-beam) 82%, transparent);
  box-shadow: 0 0 8px var(--frv2-beam), 0 0 20px rgba(0, 217, 255, .66);
}

.frv2-preview-state {
  position: absolute;
  z-index: 4;
  left: 10px;
  right: 10px;
  bottom: 10px;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border: 1px solid rgba(0, 217, 255, .24);
  border-radius: 7px;
  background: rgba(2, 8, 18, .88);
  color: #bceeff;
  font: 600 11px/1.35 Inter, system-ui, sans-serif;
  letter-spacing: .04em;
  text-align: center;
  backdrop-filter: blur(8px);
}

.frv2-preview-stage:not(.is-preview-visible) .frv2-preview-state {
  bottom: -38px;
  min-width: 190px;
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="ready"] {
  border-color: rgba(0, 217, 255, .72);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), 0 0 24px rgba(0, 217, 255, .12);
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="scanning"] {
  border-color: #00d9ff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), 0 0 30px rgba(0, 217, 255, .28);
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="scanning"] .frv2-scan-beam {
  opacity: 1;
  animation: eagleFrv2ScanSweep 1.7s ease-in-out infinite alternate;
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="waiting"] .frv2-scan-beam {
  opacity: .72;
  top: 50%;
  animation: eagleFrv2WaitPulse 1.8s ease-in-out infinite;
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="found"] {
  border-color: #00e878;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), 0 0 32px rgba(0, 232, 120, .25);
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="found"] .frv2-preview-state {
  border-color: rgba(0, 232, 120, .58);
  color: #70ffb7;
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="no-match"],
body.face-concept-mode .frv2-preview-stage[data-preview-state="attention"] {
  border-color: #ffaa00;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), 0 0 30px rgba(255, 170, 0, .20);
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="no-match"] .frv2-preview-state,
body.face-concept-mode .frv2-preview-stage[data-preview-state="attention"] .frv2-preview-state {
  border-color: rgba(255, 170, 0, .58);
  color: #ffd36d;
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="error"] {
  border-color: #ff4f6d;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34), 0 0 30px rgba(255, 79, 109, .18);
}

body.face-concept-mode .frv2-preview-stage[data-preview-state="error"] .frv2-preview-state {
  border-color: rgba(255, 79, 109, .58);
  color: #ff9aae;
}

.frv2-preview-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
}

.frv2-preview-actions .feat-btn {
  min-width: 0;
  min-height: 46px;
  white-space: normal;
}

.frv2-preview-actions .feat-btn:disabled {
  cursor: not-allowed;
  opacity: .42;
  filter: saturate(.55);
  box-shadow: none;
}

@keyframes eagleFrv2ScanSweep {
  0% { top: 3%; }
  100% { top: 96%; }
}

@keyframes eagleFrv2WaitPulse {
  0%, 100% { opacity: .28; transform: scaleX(.72); }
  50% { opacity: .82; transform: scaleX(1); }
}

@media (max-width: 900px) {
  body.face-concept-mode .frv2-preview-stage.is-preview-visible {
    width: min(270px, calc(100vw - 54px));
    height: min(336px, 52vh);
    min-height: 260px;
  }

  .frv2-preview-actions .feat-btn {
    min-height: 48px;
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .frv2-preview-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.face-concept-mode .frv2-preview-stage {
    transition: none !important;
  }

  .frv2-preview-stage[data-preview-state="scanning"] .frv2-scan-beam,
  .frv2-preview-stage[data-preview-state="waiting"] .frv2-scan-beam {
    top: 50%;
    animation: none !important;
  }
}

/* R72 — FR is a focused desktop workspace; contextual side navigation is not relevant here. */
@media (min-width: 901px) {
  .main {
    transition: grid-template-columns 240ms cubic-bezier(.22, 1, .36, 1);
  }

  .main > .sidebar {
    min-width: 0;
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    transition:
      transform 240ms cubic-bezier(.22, 1, .36, 1),
      opacity 180ms ease,
      visibility 0s linear 0s;
  }

  body.fr-focus-mode .main {
    grid-template-columns: 0 minmax(0, 1fr);
  }

  body.fr-focus-mode .main > .sidebar {
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    border-right-color: transparent;
    overflow: hidden;
    transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 240ms cubic-bezier(.22, 1, .36, 1),
      opacity 180ms ease,
      visibility 0s linear 240ms;
  }

  body.fr-focus-mode .content {
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .main,
  .main > .sidebar,
  body.fr-focus-mode .main,
  body.fr-focus-mode .main > .sidebar {
    transition: none !important;
  }
}

/* R71: profile is the single global account destination; history stays contextual. */
.topbar .nav-tab[data-workspace="profile"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.topbar .nav-tab-icon {
  display: none;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.parallax-cards .feature-section[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .topbar .nav-tabs {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    overflow-x: hidden;
  }

  .topbar .nav-tab {
    width: 100%;
    min-width: 0;
    padding-inline: 4px;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
  }

  .topbar .nav-tab[data-workspace="profile"] {
    flex-direction: column;
    gap: 2px;
  }

  .topbar .nav-tab-icon {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cp-result-modal {
    animation: none !important;
  }
}

/* R70: CP Terjadwal is a dedicated mobile form, not a compressed desktop grid. */
.tracking-plan-shell .tracking-main-map-box,
.tracking-plan-shell .tracking-main-map-box .tracking-leaflet-shell,
.tracking-plan-shell .tracking-main-map-box .tracking-leaflet-map {
  overflow: hidden;
}

@media (max-width: 900px) {
  .tracking-plan-shell,
  .tracking-plan-shell > *,
  .tracking-plan-grid,
  .tracking-plan-grid > *,
  .tracking-plan-grid .native-form-grid,
  .tracking-plan-grid .native-form-grid > *,
  .tracking-target-list,
  .tracking-schedule-list,
  .tracking-target-chip,
  .tracking-schedule-chip,
  .tracking-plan-card,
  .tracking-plan-card-head,
  .tracking-plan-meta,
  .tracking-monitor-board,
  .tracking-monitor-strip,
  .tracking-main-map-box,
  .tracking-main-map-box .tracking-leaflet-shell,
  .tracking-main-map-box .tracking-leaflet-map {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .tracking-plan-grid,
  .tracking-plan-grid .native-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .tracking-plan-grid .tactical-input,
  .tracking-plan-grid .tactical-select {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.35;
  }

  .tracking-plan-grid .feat-btn,
  .tracking-plan-submit-row .feat-btn,
  .tracking-target-chip .feat-btn,
  .tracking-schedule-chip .feat-btn {
    min-width: 0;
    min-height: 48px;
    box-sizing: border-box;
    padding: 11px 14px;
    font-size: 16px;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .tracking-target-chip,
  .tracking-schedule-chip {
    grid-template-columns: 12px minmax(0, 1fr) minmax(92px, auto);
  }

  .tracking-target-chip strong,
  .tracking-schedule-chip strong,
  .tracking-target-chip span,
  .tracking-schedule-chip span,
  .tracking-plan-card strong,
  .tracking-plan-card span {
    overflow-wrap: anywhere;
  }

  .tracking-plan-submit-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    width: 100%;
  }

  .tracking-plan-submit-row > .workspace-lead {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0;
  }

  .tracking-plan-shell .tracking-main-map-box,
  .tracking-main-map-box .tracking-leaflet-shell,
  .tracking-main-map-box .tracking-leaflet-map {
    overflow: hidden;
  }
}

@media (max-width: 520px) {
  .tracking-plan-shell {
    gap: 12px;
  }

  .tracking-target-chip,
  .tracking-schedule-chip {
    grid-template-columns: 12px minmax(0, 1fr);
    align-items: start;
  }

  .tracking-target-chip .feat-btn,
  .tracking-schedule-chip .feat-btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .tracking-plan-submit-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .tracking-plan-submit-row > .workspace-lead {
    grid-column: 1;
  }

  .tracking-main-map-box .tracking-leaflet-shell,
  .tracking-main-map-box .tracking-leaflet-map {
    min-height: 340px;
    height: 340px;
  }
}
