/* Premium Cockpit Refresh — visual-only layer for interview-copilot-hud.html.
   Preserves all existing IDs, event handlers, and capture/STT/LLM logic. */

:root {
  --ux-bg-a: #f7fbff;
  --ux-bg-b: #eef6ff;
  --ux-card: rgba(255, 255, 255, 0.84);
  --ux-card-strong: rgba(255, 255, 255, 0.94);
  --ux-line: rgba(58, 95, 140, 0.16);
  --ux-line-strong: rgba(33, 116, 181, 0.28);
  --ux-teal: #00a6a6;
  --ux-teal-soft: rgba(0, 166, 166, 0.12);
  --ux-sky: #2f7fd6;
  --ux-sky-soft: rgba(47, 127, 214, 0.12);
  --ux-violet: #7357d8;
  --ux-violet-soft: rgba(115, 87, 216, 0.12);
  --ux-ink: #142033;
  --ux-muted: #64748b;
  --ux-faint: #94a3b8;
  --ux-radius-xl: 22px;
  --ux-shadow-soft: 0 18px 50px rgba(24, 45, 72, 0.12);
  --ux-shadow-card: 0 12px 34px rgba(30, 58, 92, 0.10), inset 0 1px 0 rgba(255,255,255,0.88);
  --ux-focus: 0 0 0 3px rgba(0, 166, 166, 0.22);
}

:root[data-theme="dark"] {
  --ux-bg-a: #050816;
  --ux-bg-b: #0a1024;
  --ux-card: rgba(13, 22, 44, 0.78);
  --ux-card-strong: rgba(16, 28, 56, 0.9);
  --ux-line: rgba(126, 176, 236, 0.14);
  --ux-line-strong: rgba(0, 240, 212, 0.26);
  --ux-teal: #18f0d2;
  --ux-teal-soft: rgba(24, 240, 210, 0.12);
  --ux-sky: #75b8ff;
  --ux-sky-soft: rgba(117, 184, 255, 0.12);
  --ux-violet: #a78bfa;
  --ux-violet-soft: rgba(167, 139, 250, 0.12);
  --ux-ink: rgba(226, 237, 255, 0.96);
  --ux-muted: rgba(171, 190, 218, 0.72);
  --ux-faint: rgba(140, 160, 190, 0.52);
  --ux-shadow-soft: 0 18px 60px rgba(0, 0, 0, 0.42);
  --ux-shadow-card: 0 14px 42px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255,255,255,0.06);
  --ux-focus: 0 0 0 3px rgba(24, 240, 210, 0.20);
}

html,
body {
  background:
    radial-gradient(circle at 13% 11%, rgba(47, 127, 214, 0.18), transparent 34%),
    radial-gradient(circle at 78% 18%, rgba(115, 87, 216, 0.13), transparent 30%),
    radial-gradient(circle at 62% 88%, rgba(0, 166, 166, 0.14), transparent 38%),
    linear-gradient(135deg, var(--ux-bg-a), var(--ux-bg-b)) !important;
  color: var(--ux-ink) !important;
}

body::before {
  opacity: 0.78 !important;
  background:
    radial-gradient(ellipse 55% 42% at 10% 10%, rgba(47, 127, 214, 0.13), transparent 60%),
    radial-gradient(ellipse 40% 46% at 88% 18%, rgba(115, 87, 216, 0.12), transparent 58%),
    radial-gradient(ellipse 50% 38% at 52% 92%, rgba(0, 166, 166, 0.10), transparent 62%) !important;
}

button,
input,
select,
textarea {
  font-family: var(--mono) !important;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none !important;
  box-shadow: var(--ux-focus) !important;
}

#topbar {
  min-height: 72px !important;
  padding: 12px 18px !important;
  gap: 12px !important;
  background: linear-gradient(180deg, var(--ux-card-strong), rgba(255,255,255,0.70)) !important;
  border-bottom: 1px solid var(--ux-line) !important;
  box-shadow: 0 10px 34px rgba(28, 53, 84, 0.10) !important;
}

:root[data-theme="dark"] #topbar {
  background: linear-gradient(180deg, rgba(14, 24, 48, 0.92), rgba(10, 18, 38, 0.72)) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,0.34) !important;
}

#logo {
  min-width: 220px !important;
  padding: 5px 6px !important;
  position: relative;
}

#logo::before {
  content: 'Live Interview Command Center';
  position: absolute;
  left: 6px;
  top: 34px;
  color: var(--ux-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
}

#logo-main,
#logo-sub {
  font-family: var(--sans) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  color: var(--ux-ink) !important;
}

#logo-sub {
  color: var(--ux-sky) !important;
}

#logo-version {
  display: inline-flex !important;
  transform: translateY(-2px);
  margin-left: 8px !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: var(--ux-teal-soft) !important;
  color: var(--ux-teal) !important;
  border: 1px solid rgba(0,166,166,0.20) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

#topbar-divider {
  height: 34px !important;
  background: linear-gradient(180deg, transparent, var(--ux-line-strong), transparent) !important;
}

#platform-row,
#source-toggle,
#topbar-right {
  border-radius: 999px !important;
}

#platform-row,
#source-toggle {
  padding: 4px !important;
  background: rgba(255,255,255,0.52) !important;
  border: 1px solid var(--ux-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65) !important;
}

:root[data-theme="dark"] #platform-row,
:root[data-theme="dark"] #source-toggle {
  background: rgba(255,255,255,0.04) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.platform-btn,
.source-opt,
.theme-toggle,
.stealth-toggle,
.status-chip,
#btn-mute,
.btn-icon,
#sb-export-btn,
#sb-report-btn {
  min-height: 32px !important;
  border-radius: 999px !important;
  border: 1px solid var(--ux-line) !important;
  background: rgba(255,255,255,0.68) !important;
  color: var(--ux-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.62) !important;
}

:root[data-theme="dark"] .platform-btn,
:root[data-theme="dark"] .source-opt,
:root[data-theme="dark"] .theme-toggle,
:root[data-theme="dark"] .stealth-toggle,
:root[data-theme="dark"] .status-chip,
:root[data-theme="dark"] #btn-mute,
:root[data-theme="dark"] .btn-icon,
:root[data-theme="dark"] #sb-export-btn,
:root[data-theme="dark"] #sb-report-btn {
  background: rgba(255,255,255,0.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.platform-btn:hover,
.source-opt:hover,
.theme-toggle:hover,
.stealth-toggle:hover,
#btn-mute:hover,
.btn-icon:hover {
  transform: translateY(-1px);
  border-color: var(--ux-line-strong) !important;
  color: var(--ux-ink) !important;
}

.platform-btn.active,
.source-opt.active,
.status-chip.live,
.status-chip.proc {
  background: var(--ux-teal-soft) !important;
  border-color: rgba(0,166,166,0.28) !important;
  color: var(--ux-teal) !important;
  text-shadow: none !important;
}

#topbar-right {
  gap: 8px !important;
  flex-wrap: wrap;
}

#btn-back-dashboard {
  min-height: 32px !important;
  border-radius: 999px !important;
  color: var(--ux-muted) !important;
  background: rgba(255,255,255,0.60) !important;
  border-color: var(--ux-line) !important;
  font-weight: 900 !important;
}

#btn-capture {
  min-height: 42px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #2563eb, #00a6a6) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.24), 0 0 0 1px rgba(255,255,255,0.20) inset !important;
}

#btn-capture:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(37, 99, 235, 0.30), 0 0 0 1px rgba(255,255,255,0.24) inset !important;
}

#btn-capture.capturing {
  background: linear-gradient(135deg, #ef4444, #f97316) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(239, 68, 68, 0.26), 0 0 0 1px rgba(255,255,255,0.20) inset !important;
}

#workspace {
  grid-template-columns: minmax(360px, 0.38fr) minmax(560px, 0.62fr) !important;
  grid-template-rows: 1fr !important;
  gap: 16px !important;
  padding: 16px !important;
}

.panel {
  background: var(--ux-card) !important;
  border: 1px solid var(--ux-line) !important;
  border-radius: var(--ux-radius-xl) !important;
  box-shadow: var(--ux-shadow-card) !important;
  overflow: hidden !important;
}

.panel::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.50), transparent 22%),
    radial-gradient(circle at 95% 0%, rgba(47,127,214,0.12), transparent 32%);
  opacity: 0.68;
  z-index: 0;
}

.panel > * {
  position: relative;
  z-index: 1;
}

#panel-right {
  border-color: rgba(0, 166, 166, 0.26) !important;
}

.panel-glow-top {
  left: 24px !important;
  right: 24px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--ux-teal), var(--ux-sky), transparent) !important;
  opacity: 0.65;
}

.panel-header {
  height: 58px !important;
  padding: 0 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.40)) !important;
  border-bottom: 1px solid var(--ux-line) !important;
}

:root[data-theme="dark"] .panel-header {
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025)) !important;
}

.panel-label {
  font-family: var(--sans) !important;
  color: var(--ux-ink) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.panel-label::after {
  content: '';
  width: 7px;
  height: 7px;
  margin-left: 4px;
  border-radius: 999px;
  background: var(--ux-teal);
  box-shadow: 0 0 0 4px var(--ux-teal-soft);
}

.panel-label .icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: var(--ux-sky-soft);
  color: var(--ux-sky);
  font-size: 15px !important;
}

#panel-right .panel-label .icon {
  background: var(--ux-teal-soft);
  color: var(--ux-teal);
}

#tx-count,
#ans-count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(100,116,139,0.08);
  color: var(--ux-muted) !important;
  border: 1px solid var(--ux-line);
  font-size: 9px !important;
  font-weight: 900;
  text-transform: uppercase;
}

#visualizer-wrap,
#speaker-track,
#q-detector,
#manual-q-row {
  background: rgba(255,255,255,0.42) !important;
  border-bottom: 1px solid var(--ux-line) !important;
}

:root[data-theme="dark"] #visualizer-wrap,
:root[data-theme="dark"] #speaker-track,
:root[data-theme="dark"] #q-detector,
:root[data-theme="dark"] #manual-q-row {
  background: rgba(255,255,255,0.035) !important;
}

#visualizer-wrap {
  padding: 10px 16px 12px !important;
}

#vis-header {
  margin-bottom: 8px !important;
}

#vis-source-label,
#vis-level-text,
#status-indicator {
  color: var(--ux-muted) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

#vis-canvas {
  height: 46px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(47,127,214,0.10), rgba(0,166,166,0.05)),
    rgba(255,255,255,0.58) !important;
  border: 1px solid rgba(47,127,214,0.16);
  box-shadow: inset 0 1px 4px rgba(30,58,92,0.08) !important;
}

.speaker-chip {
  min-height: 26px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  background: rgba(255,255,255,0.62) !important;
  border-color: var(--ux-line) !important;
}

.speaker-chip.speaking {
  background: var(--ux-teal-soft) !important;
  color: var(--ux-teal) !important;
  border-color: rgba(0,166,166,0.28) !important;
  box-shadow: none !important;
}

.panel-body {
  padding: 18px !important;
  gap: 12px !important;
}

.empty-state {
  gap: 14px !important;
  min-height: 100%;
  padding: 28px !important;
  color: var(--ux-muted) !important;
}

.empty-state .e-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--ux-sky-soft), var(--ux-violet-soft));
  border: 1px solid var(--ux-line);
  opacity: 1 !important;
  font-size: 28px !important;
  box-shadow: 0 18px 42px rgba(47,127,214,0.12);
}

.empty-state .e-title {
  font-family: var(--sans) !important;
  color: var(--ux-ink) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

#tx-empty .e-title,
#ans-empty .e-title {
  font-size: 0 !important;
}

#tx-empty .e-title::after {
  content: 'Ready to transcribe';
  font-size: 22px;
}

#ans-empty .e-title::after {
  content: 'Listening for questions';
  font-size: 22px;
}

.empty-state .e-desc {
  max-width: 340px !important;
  color: var(--ux-muted) !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
}

.tx-bubble {
  border-radius: 16px !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,0.78) !important;
  border: 1px solid var(--ux-line) !important;
  border-left: 4px solid var(--ux-sky) !important;
  color: var(--ux-ink) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

:root[data-theme="dark"] .tx-bubble {
  background: rgba(255,255,255,0.055) !important;
}

.tx-bubble.them,
.tx-bubble.tab {
  border-left-color: var(--ux-violet) !important;
}

.tx-bubble.live {
  border-left-color: var(--ux-teal) !important;
  background: var(--ux-teal-soft) !important;
  color: var(--ux-ink) !important;
}

.tx-who,
.tx-ts,
.tx-type {
  font-weight: 900 !important;
}

#q-detector {
  padding: 13px 16px !important;
}

#q-detector-inner {
  min-height: 54px !important;
  padding: 12px 15px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.72) !important;
  border: 1px solid var(--ux-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.70) !important;
}

:root[data-theme="dark"] #q-detector-inner {
  background: rgba(255,255,255,0.05) !important;
}

#q-detector-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--ux-violet) !important;
  background: var(--ux-violet-soft);
  border: 1px solid rgba(115,87,216,0.18);
  font-size: 9px !important;
  font-weight: 900 !important;
}

#q-detector-text {
  color: var(--ux-muted) !important;
  font-size: 12px !important;
}

#q-detector-text.detected {
  color: var(--ux-teal) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

#q-gen-btn {
  min-height: 32px !important;
  border-radius: 999px !important;
  background: var(--ux-teal-soft) !important;
  border-color: rgba(0,166,166,0.24) !important;
  color: var(--ux-teal) !important;
  font-weight: 900 !important;
}

#manual-q-row {
  gap: 10px !important;
  padding: 13px 16px !important;
}

#manual-q-input {
  min-height: 42px !important;
  padding: 0 15px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.82) !important;
  border: 1px solid var(--ux-line) !important;
  color: var(--ux-ink) !important;
  font-size: 12px !important;
}

:root[data-theme="dark"] #manual-q-input {
  background: rgba(255,255,255,0.055) !important;
}

#manual-q-row button {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--ux-teal-soft), var(--ux-sky-soft)) !important;
  border: 1px solid rgba(0,166,166,0.24) !important;
  color: var(--ux-teal) !important;
  font-weight: 900 !important;
}

.answer-card {
  border-radius: 18px !important;
  border: 1px solid var(--ux-line) !important;
  background: var(--ux-card-strong) !important;
  box-shadow: var(--ux-shadow-card) !important;
}

:root[data-theme="dark"] .answer-card {
  background: rgba(255,255,255,0.055) !important;
}

.ac-head {
  min-height: 56px !important;
  padding: 12px 16px !important;
  background: linear-gradient(180deg, rgba(47,127,214,0.08), rgba(255,255,255,0.03)) !important;
  border-bottom: 1px solid var(--ux-line) !important;
}

.ac-num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 12px;
  background: var(--ux-sky-soft);
  color: var(--ux-sky) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.ac-question {
  color: var(--ux-ink) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  font-style: normal !important;
}

.ac-body {
  padding: 16px !important;
  color: var(--ux-ink) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

.ac-footer {
  padding: 10px 16px !important;
}

#statusbar {
  min-height: 46px !important;
  padding: 7px 14px !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.82) !important;
  border-top: 1px solid var(--ux-line) !important;
  box-shadow: 0 -10px 30px rgba(28,53,84,0.08) !important;
}

:root[data-theme="dark"] #statusbar {
  background: rgba(8, 15, 32, 0.84) !important;
}

.sb-seg {
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--ux-line) !important;
  background: rgba(255,255,255,0.55) !important;
  color: var(--ux-muted) !important;
  font-weight: 900 !important;
}

:root[data-theme="dark"] .sb-seg {
  background: rgba(255,255,255,0.04) !important;
}

#sb-context-wrap {
  min-height: 34px !important;
  border-radius: 14px !important;
  border: 1px solid var(--ux-line) !important;
  background: rgba(255,255,255,0.60) !important;
  padding: 0 8px 0 12px !important;
}

:root[data-theme="dark"] #sb-context-wrap {
  background: rgba(255,255,255,0.045) !important;
}

#sb-context-label {
  color: var(--ux-violet) !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
}

#sb-context-input {
  color: var(--ux-ink) !important;
  font-size: 12px !important;
}

#toast {
  border-radius: 16px !important;
  background: var(--ux-card-strong) !important;
  border: 1px solid var(--ux-line) !important;
  color: var(--ux-ink) !important;
  box-shadow: var(--ux-shadow-soft) !important;
}

@media (max-width: 1180px) {
  #topbar {
    align-items: flex-start !important;
  }
  #topbar-right {
    width: 100%;
    margin-left: 0 !important;
  }
  #workspace {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(320px, 0.9fr) minmax(440px, 1.1fr) !important;
  }
}

@media (max-width: 760px) {
  #topbar {
    padding: 10px !important;
  }
  #logo {
    min-width: 100% !important;
  }
  #platform-row,
  #source-toggle,
  #topbar-right,
  #statusbar {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
  }
  #platform-row::-webkit-scrollbar,
  #source-toggle::-webkit-scrollbar,
  #topbar-right::-webkit-scrollbar,
  #statusbar::-webkit-scrollbar {
    display: none;
  }
  #workspace {
    padding: 10px !important;
    gap: 10px !important;
  }
  .panel-header {
    height: auto !important;
    min-height: 58px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    padding: 14px !important;
  }
  .panel-meta {
    margin-left: 0 !important;
    width: 100%;
    overflow-x: auto;
  }
}
