﻿:root {
  --bg: #061023;
  --panel: rgba(10, 29, 64, 0.9);
  --panel2: rgba(13, 40, 89, 0.92);
  --line: rgba(157, 210, 255, 0.16);
  --text: #f3f8ff;
  --muted: #9dc6ef;
  --cyan: #20d8ff;
  --blue: #326cff;
  --gold: #ffc85c;
  --red: #ff6684;
  --green: #43e8a8;
  --shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 14% 8%, rgba(32, 216, 255, 0.18), transparent 30%),
    radial-gradient(circle at 78% 0%, rgba(82, 106, 255, 0.34), transparent 36%),
    linear-gradient(135deg, #050b18, #071933 58%, #061023);
  color: var(--text);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.login {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
  gap: 40px;
  padding: 60px;
}

.brand h1 {
  font-size: 56px;
  margin: 18px 0;
}

.brand p,
.hint {
  color: var(--muted);
  line-height: 1.8;
}

.eyebrow {
  color: var(--cyan);
  font-weight: 900;
}

.login-card,
.panel,
.metric,
.detail-hero {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.login-card {
  padding: 34px;
}

.field {
  display: grid;
  gap: 8px;
}

.field label {
  color: #bfeaff;
  font-size: 13px;
}

.input,
.select,
.textarea {
  width: 100%;
  border: 1px solid rgba(157, 210, 255, 0.22);
  background: rgba(3, 13, 30, 0.76);
  color: var(--text);
  border-radius: 10px;
  padding: 12px 14px;
  outline: none;
}

.textarea {
  min-height: 96px;
  resize: vertical;
}

.primary,
.secondary,
.ghost,
.danger {
  border: 0;
  min-height: 38px;
  border-radius: 10px;
  padding: 0 14px;
  color: #fff;
  font-weight: 900;
}

.primary {
  width: 100%;
  margin-top: 14px;
  background: linear-gradient(135deg, #28c6e8, #326cff);
}

.secondary {
  background: rgba(32, 216, 255, 0.16);
  color: var(--cyan);
  border: 1px solid rgba(32, 216, 255, 0.35);
}

.ghost {
  background: rgba(157, 210, 255, 0.08);
  color: #dcecff;
  border: 1px solid rgba(157, 210, 255, 0.2);
}

.danger {
  background: rgba(255, 102, 132, 0.15);
  color: var(--red);
  border: 1px solid rgba(255, 102, 132, 0.35);
}

button:disabled,
button.loading {
  cursor: wait;
  opacity: 0.62;
}

button.loading::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 8px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: -2px;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.app {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  height: 100vh;
  overflow: hidden;
}

.sidebar {
  border-right: 1px solid var(--line);
  background: rgba(3, 13, 30, 0.82);
  padding: 26px 18px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(32, 216, 255, 0.42) rgba(10, 29, 64, 0.24);
}

.sidebar::-webkit-scrollbar,
.main::-webkit-scrollbar {
  width: 8px;
}

.sidebar::-webkit-scrollbar-track,
.main::-webkit-scrollbar-track {
  background: rgba(10, 29, 64, 0.22);
}

.sidebar::-webkit-scrollbar-thumb,
.main::-webkit-scrollbar-thumb {
  background: rgba(32, 216, 255, 0.35);
  border-radius: 999px;
}

.logo {
  font-size: 21px;
  font-weight: 900;
  margin-bottom: 14px;
}

.role {
  display: inline-flex;
  border: 1px solid rgba(32, 216, 255, 0.34);
  border-radius: 999px;
  color: var(--cyan);
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 24px;
}

.nav {
  display: grid;
  gap: 8px;
  padding-bottom: 16px;
}

.nav button {
  border: 0;
  background: transparent;
  color: #cfe7ff;
  text-align: left;
  padding: 12px 10px;
  border-radius: 9px;
}

.nav button.active,
.nav button:hover {
  background: rgba(32, 216, 255, 0.12);
  color: #fff;
}

.nav-group {
  border: 1px solid rgba(157, 210, 255, 0.08);
  border-radius: 12px;
  padding: 8px;
  background: rgba(10, 29, 64, 0.28);
  transition: border-color 0.2s ease, background 0.2s ease;
  overflow: hidden;
}

.nav-group summary {
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  padding: 6px 2px 8px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.nav-group summary::-webkit-details-marker {
  display: none;
}

.nav-group summary::before {
  content: "鈻?;
  display: inline-block;
  margin-right: 5px;
  transition: transform 0.2s ease;
}

.nav-group:not([open]) summary::before {
  transform: rotate(-90deg);
}

.nav-group[open] {
  border-color: rgba(32, 216, 255, 0.16);
  background: rgba(10, 29, 64, 0.34);
}

.nav-group-items {
  display: grid;
  gap: 2px;
  max-height: 520px;
  opacity: 1;
  transform: translateY(0);
  transition: max-height 0.24s ease, opacity 0.18s ease, transform 0.2s ease;
}

.nav-group:not([open]) .nav-group-items {
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
}

.main {
  padding: 28px;
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  position: relative;
}

.main::before {
  content: "";
  position: fixed;
  inset: 0 0 0 238px;
  pointer-events: none;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(157, 210, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 210, 255, 0.05) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom, #000, transparent 70%);
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 20px;
  padding: 22px 24px;
  border: 1px solid rgba(157, 210, 255, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(13, 44, 74, 0.86), rgba(20, 34, 86, 0.76)),
    rgba(10, 29, 64, 0.68);
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.22);
}

.topbar h2 {
  font-size: 32px;
  letter-spacing: 0;
}

.status {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  min-width: 220px;
  text-align: right;
  background: rgba(5, 16, 36, 0.78);
}

.status strong {
  color: var(--cyan);
}

.status small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.grid {
  display: grid;
  gap: 16px;
}

.metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric {
  padding: 18px;
  text-align: left;
  color: var(--text);
  position: relative;
  overflow: hidden;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.metric::after {
  content: "";
  position: absolute;
  inset: auto -30% -45% -30%;
  height: 80px;
  background: radial-gradient(circle, rgba(32, 216, 255, 0.2), transparent 64%);
}

.metric:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 216, 255, 0.42);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(32, 216, 255, 0.12) inset;
}

.metric span {
  color: var(--muted);
  font-size: 13px;
}

.metric strong {
  display: block;
  color: var(--cyan);
  font-size: 30px;
  margin: 10px 0;
}

.metric em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.metric:not(button) {
  cursor: default;
  border: 1px solid var(--line, var(--border, #1c2e44));
  border-radius: 10px;
  background: var(--panel-bg, #0d1929);
}

.metric:not(button):hover {
  transform: none;
  box-shadow: none;
  border-color: var(--line, var(--border, #1c2e44));
}

.panel {
  overflow: hidden;
}

.billing-page .metric {
  border-radius: 14px;
}

.billing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border: 1px solid rgba(157, 210, 255, 0.16);
  border-radius: 18px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(9, 32, 52, 0.92), rgba(30, 53, 120, 0.74)),
    rgba(10, 29, 64, 0.8);
  box-shadow: 0 20px 64px rgba(0, 0, 0, 0.28);
}

.billing-hero h2 {
  margin-top: 8px;
  font-size: 30px;
  letter-spacing: 0;
}

.billing-balance {
  border: 1px solid rgba(32, 216, 255, 0.22);
  border-radius: 16px;
  padding: 18px;
  background: rgba(3, 13, 30, 0.5);
}

.billing-balance span,
.billing-balance em {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.6;
}

.billing-balance strong {
  display: block;
  margin: 8px 0;
  color: var(--cyan);
  font-size: 42px;
  line-height: 1.1;
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.plan-card {
  min-height: 150px;
  border: 1px solid rgba(157, 210, 255, 0.16);
  border-radius: 14px;
  padding: 16px;
  background: rgba(5, 16, 36, 0.56);
}

.plan-card strong,
.plan-card span {
  display: block;
}

.plan-card p {
  min-height: 58px;
  margin: 10px 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.plan-card span {
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
}

.advanced-config {
  border: 1px solid rgba(157, 210, 255, 0.16);
  border-radius: 18px;
  background: rgba(5, 16, 36, 0.56);
  overflow: hidden;
}

.advanced-config > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  border-bottom: 1px solid transparent;
  color: var(--text);
  font-weight: 900;
}

.advanced-config > summary::-webkit-details-marker {
  display: none;
}

.advanced-config > summary::after {
  content: "灞曞紑";
  flex: 0 0 auto;
  min-width: 54px;
  text-align: center;
  border: 1px solid rgba(32, 216, 255, 0.22);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 800;
  background: rgba(32, 216, 255, 0.08);
}

.advanced-config[open] > summary {
  border-bottom-color: var(--line);
}

.advanced-config[open] > summary::after {
  content: "鏀惰捣";
}

.advanced-config > summary small {
  display: block;
  margin-left: auto;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.advanced-config > .stack {
  padding: 16px;
}

.ai-developer-advanced {
  margin: 0 0 16px;
}

.ai-developer-advanced > summary {
  min-height: 68px;
}

.ai-developer-advanced > .stack > :first-child {
  margin-top: 0;
}

.panel-head {
  padding: 18px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.panel-body {
  padding: 18px;
}

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.evidence-grid {
  display: grid;
  grid-template-columns: minmax(80px, 0.7fr) minmax(0, 1.3fr);
  gap: 8px 12px;
  margin-top: 10px;
  font-size: 13px;
}

.evidence-grid span {
  color: var(--muted);
}

.evidence-grid b {
  color: var(--text);
  word-break: break-word;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.wide {
  grid-column: span 3;
}

.table-wrap {
  overflow: auto;
}

.page-toast {
  position: fixed;
  top: 22px;
  left: 50%;
  z-index: 9999;
  max-width: min(560px, calc(100vw - 32px));
  padding: 12px 18px;
  border: 1px solid rgba(157, 210, 255, 0.28);
  border-radius: 8px;
  background: rgba(6, 24, 52, 0.98);
  color: #eef8ff;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.36);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -16px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.page-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.page-toast.success {
  border-color: rgba(32, 220, 164, 0.62);
}

.page-toast.error {
  border-color: rgba(255, 91, 130, 0.72);
  color: #ffd9e3;
}

.icp-review-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior-x: contain;
}

.icp-review-table {
  width: max-content;
  min-width: 1420px;
  table-layout: fixed;
}

.icp-review-table th,
.icp-review-table td {
  vertical-align: middle;
}

.icp-review-table th:nth-child(1),
.icp-review-table .icp-company-cell {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 210px;
  min-width: 210px;
  max-width: 210px;
  background: #0a2149;
}

.icp-review-table th:nth-child(2) { width: 86px; }
.icp-review-table th:nth-child(3),
.icp-review-table .icp-evidence-cell { width: 270px; }
.icp-review-table th:nth-child(4),
.icp-review-table .icp-email-cell { width: 190px; }
.icp-review-table th:nth-child(5),
.icp-review-table .icp-phone-cell { width: 150px; }
.icp-review-table th:nth-child(6),
.icp-review-table .icp-address-cell { width: 220px; }
.icp-review-table th:nth-child(7),
.icp-review-table .icp-linkedin-cell { width: 120px; }
.icp-review-table th:nth-child(8) { width: 120px; }

.icp-review-table th:last-child,
.icp-review-table .icp-actions-cell {
  position: sticky;
  right: 0;
  z-index: 3;
  width: 310px;
  min-width: 310px;
  max-width: 310px;
  background: #0a2149;
  box-shadow: -8px 0 18px rgba(2, 12, 30, 0.42);
}

.icp-evidence-summary {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.icp-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.icp-row-actions button {
  padding: 8px 10px;
}

.icp-more {
  position: relative;
}

.icp-more summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 10px;
  border: 1px solid rgba(157, 210, 255, 0.2);
  border-radius: 8px;
}

.icp-more[open] button {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 8;
  min-width: 120px;
}

.icp-evidence-dialog {
  width: min(680px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid rgba(157, 210, 255, 0.24);
  border-radius: 8px;
  background: #081b3b;
  color: #eef8ff;
}

.icp-evidence-dialog::backdrop {
  background: rgba(0, 8, 22, 0.72);
}

.email-safety-notice {
  margin-bottom: 12px;
  border-color: rgba(255, 190, 72, 0.48);
}

.email-recipient-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.email-source-badge {
  white-space: nowrap;
}

.email-failure-panel > summary {
  cursor: pointer;
  list-style: none;
}

.email-failure-panel > summary::-webkit-details-marker {
  display: none;
}

.email-action-blocked {
  flex-basis: 100%;
  color: #ffd47a;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.data-table-wrap {
  max-height: calc(100vh - 330px);
  border-top: 1px solid rgba(157, 210, 255, 0.1);
  scrollbar-width: thin;
  scrollbar-color: rgba(32, 216, 255, 0.62) rgba(4, 15, 34, 0.72);
}

.data-table-wrap::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.data-table-wrap::-webkit-scrollbar-track {
  background: rgba(4, 15, 34, 0.72);
  border-radius: 999px;
}

.data-table-wrap::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(32, 216, 255, 0.78), rgba(51, 111, 255, 0.86));
  border-radius: 999px;
}

.table-scroll-note {
  color: var(--muted);
  font-size: 12px;
  padding: 0 12px 10px;
  text-align: right;
}

table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.compact-table {
  min-width: 1680px;
  table-layout: fixed;
}

#aiUploadDrop.dragging {
  border-color: var(--cyan);
  background: rgba(32, 216, 255, 0.08);
  box-shadow: 0 0 0 1px rgba(32, 216, 255, 0.28) inset;
}

th,
td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(157, 210, 255, 0.1);
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  font-size: 13px;
}

th {
  color: #bfeaff;
  background: rgba(32, 216, 255, 0.08);
}

.compact-table th,
.compact-table td {
  padding: 9px 10px;
  line-height: 1.35;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compact-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: rgba(12, 54, 91, 0.98);
  box-shadow: 0 1px 0 rgba(157, 210, 255, 0.16);
}

.compact-table .actions {
  flex-wrap: nowrap;
}

.prospect-table-wrap {
  max-height: calc(100vh - 360px);
}

.prospect-table th:nth-child(1),
.prospect-table td:nth-child(1) {
  width: 48px;
  position: sticky;
  left: 0;
  z-index: 2;
  background: rgba(8, 31, 62, 0.98);
}

.prospect-table th:nth-child(2),
.prospect-table td:nth-child(2) {
  width: 360px;
  position: sticky;
  left: 48px;
  z-index: 2;
  background: rgba(8, 31, 62, 0.98);
  box-shadow: 1px 0 0 rgba(157, 210, 255, 0.12);
}

.prospect-table thead th:nth-child(1),
.prospect-table thead th:nth-child(2) {
  z-index: 4;
  background: rgba(12, 54, 91, 0.98);
}

.prospect-table th:nth-child(3),
.prospect-table td:nth-child(3) {
  width: 130px;
}

.prospect-table th:nth-child(4),
.prospect-table td:nth-child(4) {
  width: 180px;
}

.prospect-table th:nth-child(5),
.prospect-table td:nth-child(5) {
  width: 150px;
}

.prospect-table th:nth-child(6),
.prospect-table td:nth-child(6),
.prospect-table th:nth-child(7),
.prospect-table td:nth-child(7) {
  width: 150px;
}

.prospect-table th:nth-child(8),
.prospect-table td:nth-child(8),
.prospect-table th:nth-child(10),
.prospect-table td:nth-child(10),
.prospect-table th:nth-child(11),
.prospect-table td:nth-child(11) {
  width: 110px;
}

.prospect-table th:nth-child(9),
.prospect-table td:nth-child(9),
.prospect-table th:nth-child(12),
.prospect-table td:nth-child(12) {
  width: 190px;
}

.prospect-table th:nth-child(13),
.prospect-table td:nth-child(13) {
  width: 300px;
}

.row-link {
  border: 0;
  background: transparent;
  color: var(--cyan);
  font-weight: 900;
}

.tag {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
}

.good {
  color: var(--green);
  background: rgba(67, 232, 168, 0.14);
}

.warn {
  color: var(--gold);
  background: rgba(255, 200, 92, 0.14);
}

.bad {
  color: var(--red);
  background: rgba(255, 102, 132, 0.14);
}

.blue-tag {
  color: #7fb3ff;
  background: rgba(50, 108, 255, 0.18);
}

.gray-tag {
  color: #c8d3df;
  background: rgba(180, 195, 210, 0.14);
}

.quick-create {
  border: 1px solid rgba(32, 216, 255, 0.18);
  border-radius: 14px;
  padding: 12px;
  background: rgba(4, 15, 34, 0.34);
}

.quick-create summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 16px;
  border-radius: 10px;
  background: linear-gradient(135deg, #28c6e8, #326cff);
  font-weight: 900;
  cursor: pointer;
}

.quick-create[open] summary {
  margin-bottom: 16px;
}

.campaign-history {
  margin: 12px 18px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(4, 15, 34, 0.28);
}

.campaign-history > summary {
  padding: 13px 16px;
  color: var(--muted);
  font-weight: 700;
  cursor: pointer;
}

.campaign-history[open] > summary {
  color: var(--text);
  border-bottom: 1px solid var(--line);
}

.prospecting-setup-guide {
  margin: 16px 0;
}

.setup-readiness,
.setup-check {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
}

.setup-readiness {
  padding: 6px 10px;
  border-radius: 999px;
}

.setup-readiness.ready,
.setup-check,
.setup-credit-note.ready {
  color: #7df0bd;
}

.setup-readiness.pending,
.setup-credit-note.pending {
  color: #ffd36b;
}

.setup-readiness.ready {
  background: rgba(55, 214, 145, 0.14);
}

.setup-readiness.pending {
  background: rgba(255, 190, 64, 0.14);
}

.setup-step-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 18px 10px;
}

.setup-step {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(4, 15, 34, 0.32);
}

.setup-step.pending {
  border-color: rgba(255, 190, 64, 0.38);
}

.factory-setup-step-number {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #173a66;
  color: #dff7ff;
  font-weight: 900;
}

.setup-step-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.setup-step-copy strong,
.setup-step-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-step-copy small {
  color: var(--muted);
  font-size: 12px;
}

.setup-step .ghost {
  margin-left: auto;
  flex: 0 0 auto;
  padding: 6px 9px;
}

.setup-credit-note {
  margin: 0 18px 16px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

@media (max-width: 900px) {
  .setup-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .setup-step-grid {
    grid-template-columns: 1fr;
  }
}

.customer-level-metrics {
  margin-bottom: 14px;
}

.customer-filter-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(140px, 180px) minmax(160px, 220px) auto auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.customer-level-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 13px;
}

.customer-level-guide strong {
  color: var(--text);
}

.campaign-context-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(4, 15, 34, 0.42);
}

.campaign-context-preview strong {
  color: var(--text);
}

.campaign-context-preview span,
.campaign-context-preview em {
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(42, 199, 232, 0.1);
  color: #bcefff;
  font-style: normal;
  font-size: 12px;
}

.campaign-context-preview em {
  color: #f8c45c;
  background: rgba(248, 196, 92, 0.1);
}

.prospecting-readiness {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.readiness-item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-height: 84px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(4, 15, 34, 0.42);
}

.readiness-item > span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-weight: 900;
}

.readiness-item strong,
.readiness-item small {
  display: block;
}

.readiness-item small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.4;
}

.readiness-item .ghost {
  grid-column: 2;
  justify-self: start;
  min-height: 30px;
  padding: 4px 8px;
}

.readiness-item.ready > span {
  color: #69f0bf;
  background: rgba(45, 211, 154, 0.14);
}

.readiness-item.warning > span {
  color: #f8c45c;
  background: rgba(248, 196, 92, 0.12);
}

.readiness-item.blocked > span {
  color: #ff7e91;
  background: rgba(255, 83, 112, 0.12);
}

.tag.warn {
  color: #f8c45c;
  border-color: rgba(248, 196, 92, 0.45);
  background: rgba(248, 196, 92, 0.1);
}

@media (max-width: 900px) {
  .customer-filter-bar {
    grid-template-columns: 1fr 1fr;
  }

  .customer-filter-bar .input:first-child {
    grid-column: 1 / -1;
  }

  .prospecting-readiness {
    grid-template-columns: 1fr 1fr;
  }
}

.detail-hero {
  padding: 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.info-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(4, 15, 34, 0.42);
}

.info-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 6px;
}

.info-grid strong {
  white-space: normal;
  word-break: break-word;
}

.info-grid div.state-good {
  border-color: rgba(22, 163, 74, 0.45);
  background: rgba(22, 163, 74, 0.08);
}

.info-grid div.state-good strong {
  color: #4ade80;
}

.info-grid div.state-warn {
  border-color: rgba(217, 119, 6, 0.45);
  background: rgba(217, 119, 6, 0.08);
}

.info-grid div.state-warn strong {
  color: #fbbf24;
}

.info-grid div.state-bad {
  border-color: rgba(220, 38, 38, 0.45);
  background: rgba(220, 38, 38, 0.08);
}

.info-grid div.state-bad strong {
  color: #f87171;
}

.stage-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  text-align: center;
  color: var(--muted);
  grid-column: 1 / -1;
}

.stage-empty strong {
  color: var(--muted);
  font-size: 14px;
}

.notice {
  border: 1px solid rgba(255, 200, 92, 0.28);
  background: rgba(255, 200, 92, 0.1);
  color: #ffe5ab;
  border-radius: 12px;
  padding: 14px;
  line-height: 1.7;
}

.slim-notice {
  margin-top: 12px;
  padding: 10px 12px;
}

.command-hero {
  border: 1px solid rgba(32, 216, 255, 0.24);
  border-radius: 22px;
  min-height: 300px;
  padding: 28px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(10, 29, 64, 0.94), rgba(10, 22, 51, 0.86)),
    radial-gradient(circle at 78% 20%, rgba(32, 216, 255, 0.22), transparent 24%);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}

.command-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0 22%, rgba(32, 216, 255, 0.08) 24%, transparent 35% 100%),
    radial-gradient(circle at 86% 42%, rgba(67, 232, 168, 0.18), transparent 20%),
    radial-gradient(circle at 68% 72%, rgba(255, 200, 92, 0.1), transparent 20%);
}

.command-hero::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 34px;
  width: min(42vw, 520px);
  height: 220px;
  border: 1px solid rgba(157, 210, 255, 0.18);
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(32, 216, 255, 0.2), transparent 60%),
    repeating-linear-gradient(90deg, rgba(157, 210, 255, 0.12) 0 2px, transparent 2px 28px);
  transform: perspective(800px) rotateY(-15deg) rotateX(6deg);
  filter: drop-shadow(0 20px 50px rgba(32, 216, 255, 0.12));
  opacity: 0.72;
}

.hero-content {
  position: relative;
  z-index: 1;
  max-width: 780px;
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cyan);
  border: 1px solid rgba(32, 216, 255, 0.28);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(32, 216, 255, 0.08);
  font-size: 12px;
  font-weight: 900;
}

.command-hero h1 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.1;
  margin: 18px 0 14px;
  letter-spacing: 0;
}

.command-hero p {
  color: #c9e5ff;
  line-height: 1.8;
  max-width: 680px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.hero-actions .primary,
.hero-actions .secondary,
.hero-actions .ghost {
  width: auto;
  margin-top: 0;
  min-width: 138px;
}

.signal-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}

.signal-card {
  border: 1px solid rgba(157, 210, 255, 0.16);
  border-radius: 16px;
  padding: 14px;
  background: rgba(4, 15, 34, 0.55);
  color: var(--text);
  text-align: left;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.signal-card:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 216, 255, 0.45);
  background: rgba(32, 216, 255, 0.1);
}

.signal-card span {
  color: var(--muted);
  font-size: 12px;
}

.signal-card strong {
  display: block;
  color: var(--cyan);
  font-size: 24px;
  margin-top: 6px;
}

.flow-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.flow-step {
  border: 1px solid rgba(32, 216, 255, 0.18);
  border-radius: 14px;
  padding: 14px;
  background: rgba(4, 15, 34, 0.46);
  position: relative;
}

.flow-step b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, #28c6e8, #326cff);
  margin-bottom: 10px;
}

.flow-step strong {
  display: block;
  margin-bottom: 6px;
}

.flow-step span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.launch-card {
  border: 1px solid rgba(32, 216, 255, 0.2);
  border-radius: 18px;
  padding: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(32, 216, 255, 0.12), transparent 36%),
    rgba(4, 15, 34, 0.5);
  color: var(--text);
  text-align: left;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.launch-action {
  width: 100%;
  cursor: pointer;
}

.launch-card:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 216, 255, 0.48);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.launch-card h4 {
  font-size: 18px;
  margin-bottom: 8px;
}

.launch-card p {
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 14px;
}

.fake-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 10px 14px;
  border: 1px solid rgba(32, 216, 255, 0.45);
  color: var(--cyan);
  font-weight: 900;
}

.pulse-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 18px var(--green);
}

.funnel {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.funnel-step {
  border: 1px solid rgba(32, 216, 255, 0.2);
  background: linear-gradient(135deg, rgba(32, 216, 255, 0.12), rgba(50, 108, 255, 0.12));
  color: var(--text);
  border-radius: 14px;
  padding: 18px;
  text-align: left;
}

.funnel-step strong {
  display: block;
  color: var(--cyan);
  font-size: 28px;
  margin-bottom: 8px;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(4, auto);
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.choice-grid label,
.chart-list button {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  background: rgba(3, 13, 30, 0.52);
  color: #dcecff;
}

.choice-grid em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.chart-list {
  display: grid;
  gap: 10px;
}

.chart-list button {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.asset-grid,
.card-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.asset-card,
.list-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(4, 15, 34, 0.58);
  padding: 14px;
  display: grid;
  gap: 10px;
}

.asset-card h3,
.list-card h3 {
  font-size: 17px;
}

.asset-card p,
.list-card p,
.template-body {
  color: var(--muted);
  line-height: 1.6;
  white-space: normal;
  word-break: break-word;
}

.asset-thumb {
  height: 110px;
  border-radius: 12px;
  border: 1px dashed rgba(32, 216, 255, 0.3);
  display: grid;
  place-items: center;
  color: var(--cyan);
  background: linear-gradient(135deg, rgba(32, 216, 255, 0.12), rgba(50, 108, 255, 0.12));
}

.customer360 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.customer360 article {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(4, 15, 34, 0.58);
  padding: 14px;
}

.customer360 h4 {
  color: var(--cyan);
  margin-bottom: 10px;
}

.customer360 p {
  display: grid;
  gap: 4px;
  margin: 8px 0;
}

.customer360 span {
  color: var(--muted);
  font-size: 12px;
}

.customer360 strong {
  color: var(--text);
  word-break: break-word;
}

.link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.mobile-nav,
.mobile-actions {
  display: none;
}

.tabs-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

@media (max-width: 980px) {
  .login,
  .app,
  .metrics,
  .two,
  .three,
  .form-grid,
  .funnel,
  .signal-strip,
  .flow-rail,
  .toolbar,
  .asset-grid,
  .card-list,
  .customer360,
  .choice-grid {
    grid-template-columns: 1fr;
  }

  body {
    padding-bottom: 76px;
  }

  .login {
    padding: 28px;
  }

  .sidebar {
    display: none;
  }

  .main {
    padding: 16px;
  }

  .main::before {
    inset: 0;
  }

  .command-hero {
    min-height: auto;
    padding: 20px;
  }

  .command-hero::after {
    display: none;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    background: rgba(6, 16, 35, 0.94);
    padding: 12px 0;
  }

  .topbar h2 {
    font-size: 24px;
  }

  .status {
    display: none;
  }

  .mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    padding: 8px;
    background: rgba(3, 13, 30, 0.96);
    border-top: 1px solid var(--line);
    z-index: 20;
  }

  .mobile-nav button {
    border: 0;
    border-radius: 12px;
    padding: 10px 4px;
    color: #cfe7ff;
    background: transparent;
    font-weight: 900;
  }

  .mobile-nav button.active {
    color: var(--cyan);
    background: rgba(32, 216, 255, 0.12);
  }

  .mobile-nav button.mobile-logout {
    color: #ff9d9d;
  }

  .mobile-actions {
    display: grid;
    gap: 10px;
    margin-top: 16px;
  }

  .wide {
    grid-column: auto;
  }

  table {
    min-width: 0;
  }

  .responsive-list table,
  .responsive-list thead,
  .responsive-list tbody,
  .responsive-list tr,
  .responsive-list td {
    display: block;
    width: 100%;
  }

  .responsive-list thead {
    display: none;
  }

  .responsive-list tr {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 10px;
    margin: 10px;
    background: rgba(4, 15, 34, 0.58);
  }

  .responsive-list td {
    border: 0;
    white-space: normal;
    padding: 7px 4px;
  }
}
.factory-setup-path{margin-bottom:16px;border-color:rgba(48,196,239,.32)}
.company-credentials{margin-bottom:14px}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;color:#dcecff}
.credential-grid b{color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media (max-width:560px){.credential-grid{grid-template-columns:1fr}}
.factory-setup-path .panel-head{align-items:flex-start}
.factory-setup-path .panel-head h3{margin:0 0 5px}
.setup-progress{white-space:nowrap;color:#7ee7ff;font-size:12px;border:1px solid rgba(48,196,239,.35);padding:7px 10px;border-radius:999px}
.factory-setup-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.factory-setup-step{display:flex;gap:10px;min-height:132px;padding:14px;border:1px solid rgba(130,168,220,.2);background:rgba(5,22,55,.45);border-radius:8px}
.factory-setup-step.is-current{border-color:rgba(48,196,239,.55);box-shadow:inset 0 -2px 0 #30c4ef}
.factory-setup-step.is-done{border-color:rgba(53,215,166,.45)}
.factory-setup-step.is-locked{opacity:.6}
.factory-setup-step-number{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#143b70;color:#fff;font-weight:700}
.factory-setup-step.is-done .factory-setup-step-number{background:#1c8b75}
.factory-setup-step strong{display:block;color:#fff;margin:3px 0 7px}
.factory-setup-step p{min-height:34px;margin:0 0 10px;color:#9eb8d7;font-size:12px;line-height:1.5}
.factory-setup-step .secondary{font-size:12px;padding:6px 9px}
@media (max-width:900px){.factory-setup-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.factory-setup-step-grid{grid-template-columns:1fr}.factory-setup-path .panel-head{display:block}.setup-progress{display:inline-block;margin-top:10px}}

/* 2026 enterprise SaaS redesign */
:root{--bg:#f4f7fb;--panel:#fff;--panel2:#f8fafc;--line:#e5eaf1;--text:#152238;--muted:#69778c;--cyan:#2563eb;--blue:#155eef;--gold:#b7791f;--red:#d92d20;--green:#16875b;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
body{background:var(--bg);color:var(--text)}
button{transition:background-color .18s,color .18s,border-color .18s,transform .18s}
button:active{transform:translateY(1px)}
.app{grid-template-columns:248px minmax(0,1fr);background:#f4f7fb}
.sidebar{background:#0b1830;border:0;padding:22px 14px;color:#fff;scrollbar-color:#41506a transparent}
.brand-lockup{display:flex;align-items:center;gap:11px;padding:0 8px;margin-bottom:22px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#2f6fec;color:#fff;font-weight:800;font-size:17px}.brand-lockup small{color:#8fa0b8;font-size:11px;letter-spacing:.12em}.logo{font-size:16px;margin:0;letter-spacing:.04em}.role{display:flex;align-items:center;gap:7px;width:100%;padding:10px 11px;margin:0 0 20px;border:1px solid #263853;border-radius:8px;background:#13233e;color:#d7e1ef;font-size:12px}.role span{width:7px;height:7px;border-radius:50%;background:#33b47b}
.nav-group{margin:0 0 16px}.nav-group summary{padding:0 10px 7px;color:#73849e;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav-group-items{gap:3px}.nav button{position:relative;border-radius:7px;padding:9px 10px 9px 32px;color:#aebbd0;font-size:13px;font-weight:600;text-align:left}.nav button:hover{background:#142745;color:#fff}.nav button.active{background:#1e3a66;color:#fff;box-shadow:inset 3px 0 #4b8cff}.nav button::before{content:"";position:absolute;left:12px;top:50%;width:8px;height:8px;border:1.5px solid currentColor;border-radius:2px;transform:translateY(-50%)}
.sidebar>.ghost{width:100%;background:transparent;border-color:#263853;color:#93a4bd}
.main{padding:0 28px 40px;overflow-y:auto;background:#f4f7fb}.main::before{display:none}
.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.1fr) auto auto;align-items:center;gap:18px;margin:0 -28px 24px;padding:14px 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.page-heading h2,.topbar h2{font-size:18px;color:#14213a;margin:0}.page-heading .hint{font-size:11px;margin-top:3px;color:#8190a5}
.global-search{height:38px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid #dce3ec;border-radius:8px;background:#f8fafc;color:#7b879a}.global-search:focus-within{background:#fff;border-color:#89adf8;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.global-search input{width:100%;border:0;outline:0;background:transparent;color:#23314a}.global-search kbd{white-space:nowrap;border:1px solid #d8e0ea;border-radius:5px;padding:2px 6px;background:#fff;font-size:10px;color:#7b879a}.top-actions{display:flex;gap:8px;align-items:center}.credit-chip{display:flex;align-items:center;gap:8px;height:38px;padding:0 11px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#55657a;font-size:11px}.credit-chip strong{color:#155eef;font-size:13px}.icon-button{width:38px;height:38px;border:1px solid #d9e2ef;border-radius:8px;background:#fff;color:#2f6fec;font-size:9px}
.status{min-width:190px;border:0;background:transparent;padding:0;color:#66758b}.status div{font-size:10px}.status strong{display:block;color:#17243a;font-size:12px}.status small{color:#8b98aa;font-size:10px}.company-context-select{padding:7px 9px;background:#fff;color:#17243a}
.login{background:#f4f7fb}.brand h1{color:#12203a}.login-card,.panel,.metric,.detail-hero{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px}.login-card{color:#17243a}.input,.select,.textarea{background:#fff;border-color:#dbe2ea;color:#17243a;border-radius:7px}.field label{color:#56657a}
.primary,.secondary,.ghost,.danger{width:auto;margin-top:0;min-height:36px;border-radius:7px;padding:0 13px;font-size:12px;font-weight:700}.primary{background:#155eef;color:#fff}.secondary{background:#eef4ff;color:#155eef;border:1px solid #cdddff}.ghost{background:#fff;color:#46566d;border:1px solid #dbe2ea}.danger{background:#fff1f0;color:#c9362b;border-color:#ffd3cf}
.command-hero{min-height:0;padding:24px;border:1px solid #dfe6ef;border-radius:11px;background:#fff;box-shadow:none;color:#16243b}.command-hero::after{display:none}.command-hero .eyebrow{color:#155eef;font-size:10px;letter-spacing:.14em}.command-hero h1,.command-hero h2{max-width:780px;color:#12203a;font-size:27px;line-height:1.25}.command-hero p{max-width:760px;color:#66758a;font-size:13px}.hero-actions{gap:8px}.signal-strip{border-top:1px solid #edf0f4;margin:20px -24px -24px;padding:0;background:#fafbfd;border-radius:0 0 11px 11px}.signal-card{padding:15px 20px;border-right:1px solid #edf0f4;background:transparent;color:#627087}.signal-card strong{color:#17243a;font-size:20px}
.panel{box-shadow:none;overflow:hidden}.panel-head{padding:15px 17px;border-bottom:1px solid #edf0f4;background:#fff}.panel-head h3{color:#17243a;font-size:14px}.panel-body{padding:17px}.hint{color:#78869a}.notice{border:1px dashed #ccd6e3;background:#f8fafc;color:#718096;border-radius:8px;padding:24px;text-align:center}
.grid{gap:12px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.metric{position:relative;min-height:110px;padding:16px;border-color:#e4e9f0}.metric span{color:#758399;font-size:11px}.metric strong{color:#17243a;font-size:24px}.metric::before{content:"";position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:#2f6fec}.metric:hover{border-color:#b9cdf7;box-shadow:0 4px 16px rgba(16,24,40,.05)}
.launch-card{background:#fff;border:1px solid #e1e7ef;border-radius:10px;box-shadow:none;color:#17243a}.launch-card h4{color:#17243a}.launch-card p{color:#718096}.flow-rail{gap:0}.flow-step{background:#fff;border-color:#e2e8f0;border-radius:0}.flow-step:first-child{border-radius:8px 0 0 8px}.flow-step:last-child{border-radius:0 8px 8px 0}.flow-step b{background:#e9f0ff;color:#155eef}.flow-step strong{color:#24334b}.flow-step span{color:#748196}
.table-wrap{background:#fff}table{color:#26344c}th{background:#f8fafc;color:#6d7a8e;font-size:10px;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #e7ebf0}td{border-bottom:1px solid #edf0f4;color:#3e4c62;font-size:12px}tbody tr:hover{background:#f8fbff}.row-link,.link-button{color:#155eef}.tag,.status-tag{border-radius:999px;background:#eef4ff;color:#155eef;border:1px solid #d5e2ff}.chart-list button{background:#fff;border-bottom-color:#edf0f4;color:#536175}.chart-list strong{color:#17243a}
.customer-filter-bar,.toolbar{background:#fff}.quick-create{border-color:#dfe5ed;background:#fafbfd}.quick-create summary{color:#155eef}.customer-level-guide{background:#f8fafc;border-color:#e1e7ef;color:#68768b}.customer360{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.customer360 article{background:#fbfcfe;border-color:#e2e7ee;border-radius:8px}.customer360 h4{color:#155eef}.customer360 span{color:#75839a}.customer360 strong{color:#17243a}
.funnel-step,.signal-card,.launch-card{box-shadow:none}.asset-thumb{background:#f7f9fc;color:#155eef;border-color:#cbd7e8}.factory-setup-step{background:#f8fafc;border-color:#dfe6ef}.factory-setup-step strong{color:#17243a}.factory-setup-step p{color:#738197}
@media(max-width:1180px){.topbar{grid-template-columns:1fr minmax(220px,1fr) auto}.status{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){body{padding-bottom:68px}.main{padding:0 14px 28px}.topbar{margin:0 -14px 16px;padding:11px 14px;grid-template-columns:1fr auto}.global-search{grid-column:1/-1;grid-row:2}.top-actions{grid-column:2}.topbar .status{display:none}.mobile-nav{background:#fff;border-top-color:#dfe5ed;box-shadow:0 -4px 18px rgba(15,23,42,.08)}.mobile-nav button{color:#718096}.mobile-nav button.active{background:#edf4ff;color:#155eef}.command-hero{padding:19px}.signal-strip{margin:18px -19px -19px;grid-template-columns:repeat(2,1fr)}.signal-card{border-bottom:1px solid #edf0f4}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.customer360{grid-template-columns:1fr}.responsive-list tr{background:#fff;border-color:#dfe5ed}}
@media(max-width:560px){.page-heading .hint,.global-search kbd{display:none}.top-actions .credit-chip span{display:none}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:96px;padding:13px}.metric strong{font-size:20px}.command-hero h1,.command-hero h2{font-size:22px}.hero-actions{display:grid}.hero-actions button{width:100%}.grid.two,.grid.three{grid-template-columns:1fr}}

/* AI-native operating system theme */
:root{--bg:#07101d;--panel:#0d1828;--panel2:#111e31;--line:#203149;--text:#edf5ff;--muted:#8293aa;--cyan:#27d3f2;--blue:#3d7bff;--green:#2bc58d;--gold:#e2ad45;--red:#f26b6b;--shadow:0 18px 50px rgba(0,0,0,.22)}
body,.app,.main{background:#07101d;color:var(--text)}body{background-image:linear-gradient(rgba(60,123,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(60,123,255,.025) 1px,transparent 1px);background-size:42px 42px}.main{background:transparent}.sidebar{background:#081322;border-right:1px solid #172941}.brand-mark{background:#2672ff;box-shadow:0 0 24px rgba(39,114,255,.3)}.brand-lockup small{color:#60738d}.role{background:#0b1b2e;border-color:#1c334e;color:#b8c7da}.nav button{color:#8394ab}.nav button:hover{background:#10233b}.nav button.active{background:#102947;color:#ecf6ff;box-shadow:inset 2px 0 #35c9ef}.nav button.active::before{color:#43d6f4}.nav-group summary{color:#53667f}.sidebar>.ghost{background:transparent;border-color:#1d324a;color:#71849d}
.topbar{background:rgba(7,16,29,.91);border-bottom-color:#17283e;backdrop-filter:blur(16px)}.page-heading h2,.topbar h2{color:#eaf3ff}.page-heading .hint{color:#61748e}.global-search{background:#0b1727;border-color:#1b3048;color:#657a95}.global-search:focus-within{background:#0d1a2c;border-color:#2c69db;box-shadow:0 0 0 3px rgba(41,113,255,.1)}.global-search input{color:#dce9f8}.global-search kbd{background:#101f32;border-color:#293a50;color:#6f8198}.credit-chip,.icon-button{background:#0c1929;border-color:#20344c;color:#8193aa}.credit-chip strong{color:#36d0f0}.status strong{color:#dce8f6}.status,.status small{color:#6d8099}.company-context-select{background:#0b192a;color:#dbe8f8;border-color:#233a55}
.panel,.metric,.detail-hero,.login-card{background:#0d1828;border-color:#1d3048;box-shadow:none}.panel-head{background:#0d1828;border-bottom-color:#1a2c42}.panel-head h3{color:#e9f3ff}.panel-body{background:transparent}.hint{color:#71839a}.notice{background:#0a1727;border-color:#28405d;color:#8397b1}.input,.select,.textarea{background:#091524;border-color:#24364d;color:#dce9f8}.field label{color:#899bb1}.primary{background:#3478f6;color:#fff;border-color:#3478f6;box-shadow:0 5px 16px rgba(52,120,246,.18)}.primary:hover{background:#4385ff}.secondary{background:#102947;color:#61d7f0;border-color:#22496a}.ghost{background:#0c1929;color:#9eb0c6;border-color:#263a52}.danger{background:#2a1720;color:#ff8b8b;border-color:#55303a}
.command-hero{background:#0b1727;border-color:#1d3149;color:#eaf4ff}.command-hero h1,.command-hero h2{color:#edf6ff}.command-hero p{color:#8395ad}.signal-strip{background:#091523;border-top-color:#192b40}.signal-card{border-right-color:#192b40;color:#7588a1}.signal-card strong{color:#edf6ff}.panel,.command-hero{box-shadow:0 12px 35px rgba(0,0,0,.12)}
.metric{background:#0d1929;border-color:#1c2e44}.metric span{color:#788ba5}.metric strong{color:#eaf4ff}.metric:hover{border-color:#285384;box-shadow:0 10px 30px rgba(0,0,0,.14)}.launch-card,.flow-step{background:#0d1929;border-color:#1d3047;color:#e5f0fd}.launch-card h4,.flow-step strong{color:#eaf4ff}.launch-card p,.flow-step span{color:#778aa3}.flow-step b{background:#102d4e;color:#43ccec}
.table-wrap,.customer-filter-bar,.toolbar{background:#0d1828}table{color:#c6d3e3}th{background:#0a1524;color:#677b95;border-bottom-color:#203149}td{border-bottom-color:#182a3f;color:#adbed2}tbody tr:hover{background:#102137}.row-link,.link-button{color:#55bdf5}.tag,.status-tag{background:#102b44;color:#59cce7;border-color:#244965}.quick-create{background:#0a1625;border-color:#22354c}.customer-level-guide,.customer360 article{background:#0a1625;border-color:#1e3148;color:#7589a3}.customer360 h4{color:#48c9e8}.customer360 strong{color:#deebf9}.chart-list button{background:#0d1828;border-bottom-color:#192b40;color:#7e91a9}.chart-list strong{color:#e2edf9}
.ai-command-hero{position:relative;overflow:hidden;padding:28px;border:1px solid #1c3553;border-radius:14px;background:linear-gradient(105deg,#0d1b2e 0%,#0b1829 58%,#0a2130 100%);box-shadow:0 20px 60px rgba(0,0,0,.22)}.ai-command-hero::before{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000)}.command-copy,.ai-command-bar,.context-ribbon{position:relative}.system-status{display:flex;align-items:center;gap:8px;color:#59cbe7;font-size:10px;font-weight:800;letter-spacing:.14em}.system-status span,.live-dot{width:7px;height:7px;border-radius:50%;background:#31d5a0;box-shadow:0 0 0 5px rgba(49,213,160,.08)}.command-copy h1{margin:13px 0 4px;font-size:30px;letter-spacing:-.025em}.command-copy p{color:#8598b0;font-size:14px}.ai-command-bar{display:flex;align-items:center;gap:11px;max-width:900px;margin-top:24px;padding:7px 7px 7px 15px;border:1px solid #28537a;border-radius:11px;background:#081321;box-shadow:0 0 0 4px rgba(40,122,240,.05)}.ai-command-bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e3eefb;font-size:13px}.ai-command-bar input::placeholder{color:#5d718a}.ai-glyph{color:#46d2f1;font-size:18px}.ai-command-bar button{height:38px}.context-ribbon{display:flex;align-items:center;gap:20px;margin-top:20px;color:#788ca4;font-size:11px}.context-ribbon strong{color:#d9e6f5}.context-ribbon .safe{display:flex;align-items:center;gap:6px}.context-ribbon .safe i{width:6px;height:6px;border-radius:50%;background:#2ac58f}.context-ribbon button{margin-left:auto;border:0;background:transparent;color:#4bc6e3;font-size:11px}
.ai-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.ai-kpi-grid button{position:relative;display:grid;gap:7px;padding:17px;text-align:left;border:1px solid #1b3048;border-radius:10px;background:#0d1929;color:#7890aa}.ai-kpi-grid button::after{content:"";position:absolute;top:17px;right:17px;width:6px;height:6px;border-radius:50%;background:#34cdef}.ai-kpi-grid strong{color:#ebf5ff;font-size:25px}.ai-kpi-grid small{color:#2dc58e}.ai-kpi-grid .warn{color:#e6ae4d}
.command-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;margin-top:14px}.ops-card{overflow:hidden;border:1px solid #1b3047;border-radius:12px;background:#0c1828;box-shadow:0 15px 40px rgba(0,0,0,.14)}.ops-card>header{display:flex;align-items:flex-start;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #182b40}.ops-card h3{margin-top:3px;color:#e7f2ff;font-size:14px}.section-kicker{color:#48617f;font-size:9px;font-weight:800;letter-spacing:.15em}.confidence,.match-score,.run-id{padding:5px 8px;border:1px solid #265276;border-radius:999px;background:#0c2840;color:#4bc9e6;font-size:10px}
.world-network{position:relative;height:260px;overflow:hidden;background-color:#091522;background-image:radial-gradient(ellipse at 20% 50%,rgba(50,115,177,.18) 0 13%,transparent 14%),radial-gradient(ellipse at 52% 42%,rgba(50,115,177,.18) 0 16%,transparent 17%),radial-gradient(ellipse at 76% 52%,rgba(50,115,177,.18) 0 18%,transparent 19%),radial-gradient(ellipse at 87% 75%,rgba(50,115,177,.15) 0 7%,transparent 8%)}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(45,106,162,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,162,.08) 1px,transparent 1px);background-size:32px 32px}.region{position:absolute;padding:5px 7px;border:1px solid #27506f;border-radius:6px;background:#0a1b2a;color:#7790aa;font-size:9px}.region b{color:#4fd0ec}.americas{left:17%;top:45%}.europe{left:49%;top:30%}.asia{left:72%;top:47%}.oceania{right:8%;bottom:15%}.route{position:absolute;height:1px;background:#2faad0;transform-origin:left;box-shadow:0 0 8px #2faad0}.r1{width:210px;left:21%;top:48%;transform:rotate(-12deg)}.r2{width:180px;left:54%;top:35%;transform:rotate(18deg)}.r3{width:150px;left:72%;top:51%;transform:rotate(29deg)}.scan-ring{position:absolute;left:48%;top:26%;width:70px;height:70px;border:1px solid rgba(46,207,240,.22);border-radius:50%;box-shadow:0 0 0 18px rgba(46,207,240,.03)}.map-card>footer{display:flex;justify-content:space-between;padding:12px 17px;color:#70839c;font-size:10px}.map-card footer span{display:flex;align-items:center;gap:8px}.map-card footer strong{color:#cfe0f2}
.reasoning-card{padding-bottom:12px}.reasoning-stream{padding:8px 17px}.reasoning-stream>div{display:grid;grid-template-columns:26px 1fr auto;align-items:start;gap:9px;padding:13px 0;border-bottom:1px solid #172b40}.reasoning-stream b{color:#3c668d;font-size:10px}.reasoning-stream p{display:grid;gap:4px}.reasoning-stream p strong{color:#d7e5f4;font-size:11px}.reasoning-stream p span{color:#71849d;font-size:10px;line-height:1.5}.reasoning-stream em{color:#31c897;font-size:9px;font-style:normal}.evidence-source{display:flex;gap:6px;flex-wrap:wrap;padding:8px 17px}.evidence-source span{width:100%;color:#536a85;font-size:9px}.evidence-source b{padding:4px 7px;border:1px solid #1f3a54;border-radius:5px;color:#7492ad;font-size:9px;font-weight:500}
.workflow-card{margin-top:14px}.stage-track{display:grid;grid-template-columns:repeat(5,1fr);padding:21px 18px}.stage-track>div{position:relative;display:grid;gap:5px;padding-left:36px}.stage-track>div::after{content:"";position:absolute;left:22px;right:-14px;top:13px;height:1px;background:#20344b}.stage-track>div:last-child::after{display:none}.stage-track i{position:absolute;z-index:1;left:0;display:grid;place-items:center;width:26px;height:26px;border:1px solid #2a4058;border-radius:50%;background:#0b1725;color:#647993;font-size:10px;font-style:normal}.stage-track strong{color:#9fb1c6;font-size:11px}.stage-track span{color:#536980;font-size:9px}.stage-track .done i{background:#113c3b;border-color:#267c6c;color:#48d5a8}.stage-track .done::after{background:#26635d}.stage-track .active i{border-color:#37c8e7;box-shadow:0 0 0 5px rgba(55,200,231,.07)}.stage-track .active i::after{content:"";width:6px;height:6px;border-radius:50%;background:#42d2ef}.stage-track .active strong{color:#50d0ec}
.lower-grid{grid-template-columns:1.1fr .9fr}.company-match{display:flex;align-items:center;gap:11px;padding:16px 18px}.company-avatar{display:grid;place-items:center;width:40px;height:40px;border:1px solid #284d6d;border-radius:9px;background:#102b43;color:#4cc9e7;font-weight:800}.company-match h4{color:#e3eefb;font-size:13px}.company-match p{margin-top:4px;color:#697e98;font-size:10px}.verified-badge{margin-left:auto;color:#34c895;font-size:10px}.match-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px}.match-signals span{display:grid;gap:4px;padding:9px;border:1px solid #1b3047;border-radius:7px;color:#637790;font-size:9px}.match-signals b{color:#cfe0f1;font-size:11px}.evidence-note{margin:13px 18px;padding:10px;border-left:2px solid #2e759f;background:#0a1523;color:#7890aa;font-size:10px;line-height:1.6}.match-card footer{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 16px}.queue-card{padding-bottom:8px}.queue-row{display:grid;grid-template-columns:28px 1fr auto 15px;align-items:center;gap:8px;width:100%;padding:11px 17px;border:0;border-bottom:1px solid #172a3f;background:transparent;text-align:left;color:#8396ad}.queue-row:hover{background:#102136}.queue-index{color:#3c5876;font-size:9px}.queue-row div{display:grid;gap:3px}.queue-row strong{color:#cfdeee;font-size:11px}.queue-row small{color:#637892;font-size:9px}.queue-row b{color:#43cbe9;font-size:10px}.queue-row i{font-style:normal}.empty-state{display:grid;place-items:center;gap:6px;padding:32px;color:#657990}.empty-state span{color:#31c994}.empty-state strong{color:#a9bbcf;font-size:11px}.empty-state small{font-size:9px}
@media(max-width:1100px){.command-grid{grid-template-columns:1fr}.ai-kpi-grid{grid-template-columns:repeat(2,1fr)}.stage-track{grid-template-columns:1fr;gap:15px}.stage-track>div::after{left:13px;right:auto;top:26px;bottom:-16px;width:1px;height:auto}.world-network{height:230px}}
@media(max-width:700px){.ai-command-hero{padding:20px}.ai-command-bar{display:grid;grid-template-columns:auto 1fr}.ai-command-bar button{grid-column:1/-1}.context-ribbon{align-items:flex-start;flex-direction:column;gap:8px}.context-ribbon button{margin:0}.ai-kpi-grid{grid-template-columns:1fr 1fr}.stage-track{padding:18px}.lower-grid{grid-template-columns:1fr}.match-signals{grid-template-columns:1fr}.company-match{align-items:flex-start;flex-wrap:wrap}.verified-badge{width:100%;margin-left:51px}.world-network{height:200px}}

/* Screenshot-reference layout: compact AI command console */
.app{grid-template-columns:180px minmax(0,1fr);max-width:1920px;margin:0 auto;border:1px solid #142840;border-radius:10px;min-height:100vh}.sidebar{padding:14px 12px}.brand-lockup{height:62px;padding:0 10px;margin-bottom:14px}.brand-lockup .logo{font-size:22px;letter-spacing:.08em}.brand-lockup .logo b{color:#2f7dff}.brand-lockup small{display:block;margin-top:0;color:#dfe9f7;font-size:13px;letter-spacing:0}.nav-group summary{display:none}.nav-group-items{gap:10px}.nav button{height:46px;padding:0 12px 0 43px;border-radius:8px;font-size:14px}.nav button::before{left:16px;width:13px;height:13px;border:0;background:currentColor;opacity:.8;clip-path:polygon(50% 0,100% 35%,87% 100%,13% 100%,0 35%)}.nav button.active{background:#073568;color:#46a9ff;box-shadow:inset 0 0 18px rgba(26,122,255,.15)}.sidebar>.ghost{position:absolute;bottom:18px;left:15px;width:150px}.main{padding:0 22px 16px}.topbar{height:68px;grid-template-columns:320px minmax(300px,1fr) 180px auto;gap:16px;margin:0 -22px 14px;padding:0 22px;background:#07111e}.company-switcher{position:relative;display:grid;gap:3px;padding-right:32px;border-right:1px solid #1c2e43}.company-switcher small{color:#61748d;font-size:10px}.company-switcher strong{overflow:hidden;color:#e7eef8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.company-switcher span{position:absolute;right:18px;bottom:2px;color:#90a3ba}.mail-safety{display:flex;align-items:center;gap:10px}.mail-safety>b{display:grid;place-items:center;width:28px;height:32px;color:#28d49a;font-size:26px}.mail-safety div{display:grid;gap:3px}.mail-safety strong{color:#2ed19b;font-size:12px}.mail-safety strong i{display:inline-block;width:6px;height:6px;margin-left:4px;border-radius:50%;background:#2ed19b}.mail-safety small{color:#60738d;font-size:9px}.global-search{height:36px}.top-actions{gap:5px}.top-actions .icon-button{border:0;background:transparent}.user-avatar{width:32px;height:32px;border:0;border-radius:50%;background:#1767da;color:#fff;font-size:10px;font-weight:800}
.nav-config{margin-top:14px;padding-top:11px;border-top:1px solid #172a40}.nav-config summary{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;color:#5d718a;font-size:9px;letter-spacing:.09em;cursor:pointer}.nav-config summary::after{content:"＋";color:#45617e;font-size:12px}.nav-config[open] summary::after{content:"−"}.nav-config .nav-group-items{gap:3px;margin-top:4px}.nav-config .nav-group-items button{height:34px;padding-left:32px;color:#71849d;font-size:11px}.nav-config .nav-group-items button::before{left:13px;width:9px;height:9px;clip-path:none;border:1px solid currentColor;border-radius:2px;background:transparent}.sidebar>.ghost{display:none}
.view-todos #view{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(340px,.95fr);grid-template-areas:"kpi kpi" "hero reason" "flow reason" "map match";gap:12px}.view-todos .ai-kpi-grid{grid-area:kpi;margin:0;gap:10px}.view-todos .ai-command-hero{grid-area:hero;padding:20px;border-radius:10px;background:#091727}.view-todos .ai-command-hero::before{opacity:.18}.view-todos .system-status,.view-todos .context-ribbon{display:none}.view-todos .command-copy h1{margin:0 0 5px;font-size:22px}.view-todos .command-copy h1::after{content:" ◆";color:#3d8bff;font-size:12px}.view-todos .command-copy p{font-size:11px}.view-todos .ai-command-bar{min-height:105px;max-width:none;margin-top:18px;padding:16px 124px 16px 18px;border-color:#28425d;background:#0c1b2d}.view-todos .ai-command-bar::before{content:"我想找";position:absolute;top:14px;left:18px;color:#70839b;font-size:10px}.view-todos .ai-command-bar input{padding-top:19px;font-size:14px}.view-todos .ai-command-bar .ai-glyph{display:none}.view-todos .ai-command-bar button{position:absolute;right:23px;top:15px;width:78px;height:78px;display:grid;place-items:center;border:2px solid #4ad8ff;border-radius:50%;padding:0;background:#0b5fe5;box-shadow:0 0 0 8px rgba(35,109,255,.12),0 0 24px rgba(42,147,255,.48);font-size:11px}.view-todos .ai-command-bar button b{display:none}.view-todos .workflow-card{grid-area:flow;margin:0}.view-todos>.command-grid{display:contents}.view-todos .map-card{grid-area:map}.view-todos .reasoning-card{grid-area:reason}.view-todos>.lower-grid{display:contents}.view-todos .match-card{grid-area:match}.view-todos .queue-card{display:none}.view-todos .world-network{height:235px}.view-todos .stage-track{padding:20px 14px}.view-todos .ops-card{border-radius:10px}.view-todos .ops-card>header{padding:14px}.view-todos .ai-kpi-grid button{min-height:88px;padding:14px 14px 14px 70px}.view-todos .ai-kpi-grid button::before{content:"";position:absolute;left:18px;top:20px;width:38px;height:38px;border-radius:50%;background:#123b61;box-shadow:inset 0 0 0 9px rgba(31,126,225,.08)}.view-todos .ai-kpi-grid button:nth-child(2)::before{background:#123d36}.view-todos .ai-kpi-grid button:nth-child(3)::before{background:#3c2a15}.view-todos .ai-kpi-grid strong{font-size:22px}.view-todos .ai-kpi-grid button::after{left:33px;right:auto;top:35px;background:#39a5ff}.view-todos .company-match{align-items:flex-start}.view-todos .match-card footer{padding-top:10px}.view-todos .match-card .primary{min-width:140px}
@media(max-width:1200px){.topbar{grid-template-columns:240px 1fr 170px auto}.view-todos #view{grid-template-columns:1.6fr 1fr}.view-todos .stage-track{grid-template-columns:repeat(5,1fr);gap:0}.view-todos .stage-track>div::after{left:22px;right:-14px;top:13px;bottom:auto;width:auto;height:1px}}
@media(max-width:980px){.app{display:block;border:0}.topbar{height:auto;grid-template-columns:1fr auto;padding-top:10px;padding-bottom:10px}.company-switcher{border:0}.mail-safety{grid-column:1}.global-search{grid-column:1/-1}.view-todos #view{display:flex;flex-direction:column}.view-todos .ai-kpi-grid{order:0}.view-todos .ai-command-hero{order:1}.view-todos .reasoning-card{order:2}.view-todos .workflow-card{order:3}.view-todos .map-card{order:4}.view-todos .match-card{order:5}}

/* AI-native secure access */
.ai-login{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);align-items:center;gap:7vw;min-height:100vh;overflow:hidden;padding:100px clamp(48px,7vw,120px) 60px;background:#050d18;color:#eaf4ff}.login-grid-bg{position:absolute;inset:0;opacity:.55;background-image:linear-gradient(rgba(46,112,181,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(46,112,181,.055) 1px,transparent 1px),radial-gradient(circle at 28% 55%,rgba(13,102,210,.16),transparent 34%);background-size:44px 44px,44px 44px,100% 100%;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.7),transparent)}.login-nav{position:absolute;z-index:2;left:clamp(48px,7vw,120px);right:clamp(48px,7vw,120px);top:28px;display:flex;align-items:center;justify-content:space-between}.login-logo{display:flex;align-items:baseline;gap:10px}.login-logo b{color:#3984ff;font-size:24px;letter-spacing:.08em}.login-logo span{color:#cfdae9;font-size:13px}.login-system{display:flex;align-items:center;gap:8px;color:#49657f;font-size:9px;font-weight:800;letter-spacing:.15em}.login-system i{width:6px;height:6px;border-radius:50%;background:#31d09b;box-shadow:0 0 0 5px rgba(49,208,155,.07)}.login-intro{position:relative;z-index:1;max-width:760px}.login-kicker{display:flex;align-items:center;gap:8px;color:#39c9eb;font-size:11px;font-weight:800;letter-spacing:.16em}.login-kicker span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #275876;border-radius:6px;background:#0c2033}.login-intro h1{margin:20px 0 18px;color:#f1f7ff;font-size:clamp(44px,4.7vw,76px);line-height:1.08;letter-spacing:-.055em}.login-intro h1 em{color:#4b91ff;font-style:normal;text-shadow:0 0 32px rgba(42,124,255,.22)}.login-intro>p{max-width:630px;color:#71869f;font-size:14px;line-height:1.9}.login-capabilities{display:flex;gap:10px;margin-top:27px}.login-capabilities span{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #1a3149;border-radius:7px;background:#091725;color:#8ca0b7;font-size:10px}.login-capabilities i{color:#3fc7e7;font-size:8px;font-style:normal}.login-orbit{position:relative;width:min(520px,75%);height:170px;margin-top:30px;overflow:hidden}.orbit-core{position:absolute;z-index:2;left:46%;top:57px;display:grid;place-items:center;width:72px;height:72px;border:1px solid #3cc9ef;border-radius:50%;background:#08254a;box-shadow:0 0 0 10px rgba(28,106,225,.08),0 0 42px rgba(36,142,255,.32)}.orbit-core b{color:#eaf6ff;font-size:24px}.orbit-core small{margin-top:-12px;color:#55cae8;font-size:7px}.orbit-ring{position:absolute;left:12%;top:20px;width:420px;height:125px;border:1px solid rgba(50,128,219,.23);border-radius:50%;transform:rotate(-7deg)}.ring-two{left:22%;top:5px;width:310px;height:155px;transform:rotate(11deg)}.orbit-node{position:absolute;width:7px;height:7px;border-radius:50%;background:#3f9cff;box-shadow:0 0 12px #3f9cff}.n1{left:14%;top:70px}.n2{left:38%;top:19px}.n3{right:8%;top:78px}.n4{right:28%;bottom:14px;background:#30d09a;box-shadow:0 0 12px #30d09a}.login-live-row{display:flex;gap:22px;padding-top:14px;border-top:1px solid #14283d;color:#536a83;font-size:9px}.login-live-row span{display:flex;align-items:center;gap:7px}.login-live-row i{width:6px;height:6px;border-radius:50%;background:#30cd99}
.ai-login .login-card{position:relative;z-index:2;width:100%;max-width:510px;justify-self:end;padding:34px;border:1px solid #203953;border-radius:14px;background:rgba(8,20,34,.92);box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(18px)}.ai-login .login-card::before{content:"";position:absolute;left:30px;right:30px;top:0;height:1px;background:linear-gradient(90deg,transparent,#42ccec,transparent)}.login-card-top{display:flex;align-items:center;gap:13px}.login-auth-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #285477;border-radius:10px;background:#0c2841;color:#42cbea;font-size:18px}.login-card-top div{display:grid;gap:4px}.login-card-top small{color:#3b83a2;font-size:8px;font-weight:800;letter-spacing:.16em}.login-card-top h2{color:#edf5ff;font-size:20px}.ai-login .login-card>.hint{margin-top:13px;color:#687d96;font-size:11px}.ai-login-form{display:grid;gap:17px;margin-top:25px}.ai-login-form .field{gap:7px}.ai-login-form .field label{color:#8296ad;font-size:10px}.login-input-wrap{position:relative}.login-input-wrap>span{position:absolute;z-index:1;left:13px;top:50%;color:#48647e;transform:translateY(-50%)}.ai-login-form .input{height:48px;padding-left:39px;border-color:#213a53;background:#071522;color:#e3eefb}.ai-login-form .input:focus{border-color:#3577ba;box-shadow:0 0 0 3px rgba(46,127,230,.09)}.login-form-meta{display:flex;justify-content:space-between;color:#5f748c;font-size:9px}.login-form-meta label{display:flex;align-items:center;gap:6px}.login-form-meta input{accent-color:#2f7cf3}.ai-login-form .primary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;height:48px;margin-top:3px;border-radius:8px;background:#236fed;font-size:12px}.ai-login-form .primary b{font-size:16px}.login-trust{display:flex;justify-content:space-between;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #182c42;color:#526a83;font-size:8px}.login-trust span{display:flex;align-items:center;gap:5px}.login-trust i{width:5px;height:5px;border-radius:50%;background:#29c893}.file-warning{display:grid;gap:5px;margin-top:18px;padding:11px 12px;border:1px solid #6c4e20;border-radius:7px;background:#241b0d;color:#bd8b3c}.file-warning b{font-size:10px}.file-warning span{font-size:9px;line-height:1.6}.login-footer{position:absolute;z-index:2;left:clamp(48px,7vw,120px);right:clamp(48px,7vw,120px);bottom:20px;display:flex;justify-content:space-between;color:#354b63;font-size:8px}
@media(max-width:1050px){.ai-login{grid-template-columns:1fr;padding-top:110px}.login-intro{display:none}.ai-login .login-card{justify-self:center}.login-system{display:none}}
@media(max-width:560px){.ai-login{padding:90px 18px 60px}.login-nav{left:20px;right:20px}.ai-login .login-card{padding:24px}.login-footer{left:20px;right:20px}.login-trust{flex-wrap:wrap}}

/* Login visual lock: match the AI command-center reference without changing auth behavior. */
.ai-login{
  min-height:100vh!important;
  grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)!important;
  gap:clamp(44px,8vw,132px)!important;
  padding:92px clamp(34px,7vw,112px) 56px!important;
  background:
    radial-gradient(circle at 72% 38%,rgba(20,112,210,.16),transparent 27%),
    radial-gradient(circle at 15% 72%,rgba(18,204,224,.09),transparent 30%),
    #050d18!important;
}
.ai-login .login-grid-bg{opacity:.36!important;background-size:42px 42px!important;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.62),transparent)!important}
.ai-login .login-intro{max-width:700px!important}
.ai-login .login-kicker{font-size:10px!important;letter-spacing:.19em!important}
.ai-login .login-intro h1{font-size:clamp(42px,5vw,78px)!important;line-height:1.04!important;letter-spacing:-.055em!important}
.ai-login .login-intro>p{max-width:590px!important;color:#8a9db4!important;font-size:14px!important;line-height:1.85!important}
.ai-login .login-card{
  max-width:455px!important;
  padding:30px!important;
  background:linear-gradient(145deg,rgba(12,29,48,.96),rgba(7,18,31,.96))!important;
  border-color:#294765!important;
  border-radius:16px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(45,151,255,.035) inset!important;
}
.ai-login .login-card-top h2{font-size:21px!important;color:#f2f7ff!important}
.ai-login .login-card-top small{color:#49cde9!important}
.ai-login .login-card>.hint{color:#8da0b6!important}
.ai-login-form .input{height:50px!important;background:#071522!important;border-color:#29435c!important}
.ai-login-form .input::placeholder{color:#536a83!important}
.ai-login-form .primary{height:50px!important;background:linear-gradient(100deg,#2374ed,#2e8bff)!important;box-shadow:0 10px 28px rgba(35,116,237,.24)!important}
.ai-login-form .primary:hover{filter:brightness(1.08)!important}
.ai-login .login-live-row{color:#698099!important}
.ai-login .login-logo b{font-size:28px!important}
.ai-login .login-logo span{font-size:16px!important}
.ai-login .login-system{font-size:12px!important}
.ai-login .login-kicker{font-size:14px!important}
.ai-login .login-kicker span{width:30px;height:30px!important}
.ai-login .login-intro>p{font-size:18px!important;line-height:1.75!important;color:#b0c1d5!important}
.ai-login .login-capabilities span{font-size:13px!important;padding:10px 13px!important}
.ai-login .login-live-row{font-size:12px!important}
.ai-login .login-card-top small{font-size:11px!important}
.ai-login .login-card-top h2{font-size:28px!important}
.ai-login .login-card>.hint{font-size:15px!important}
.ai-login-form .field label{font-size:14px!important}
.ai-login-form .input{height:58px!important;font-size:17px!important}
.login-form-meta{font-size:13px!important}
.ai-login-form .primary{height:58px!important;font-size:16px!important}
.login-trust{font-size:11px!important}
.login-footer{font-size:11px!important}
.file-warning b{font-size:13px!important}.file-warning span{font-size:12px!important}
@media(max-width:1050px){.ai-login{grid-template-columns:1fr!important;padding-top:100px!important}.ai-login .login-card{justify-self:center!important}}

.company-context-select {
  min-width: 180px;
  max-width: 260px;
  color: var(--text, #edf6ff);
  background: rgba(7, 19, 38, .88);
  border: 1px solid rgba(91, 180, 255, .35);
  border-radius: 10px;
  padding: 8px 30px 8px 10px;
  font: inherit;
}
.data-empty { color: var(--muted, #8ea5c0); display: grid; place-items: center; min-height: 120px; }
@media (max-width: 720px) {
  .company-switcher { min-width: 0; }
  .company-context-select { min-width: 130px; max-width: 170px; }
  .main { overflow-x: hidden; }
  .table-wrap, .panel .table-wrap { max-width: 100%; overflow-x: auto; }
}

/* ============================================================
   v3 视觉覆盖层（2026-08-05）
   深色默认 + 浅色可选主题；统一设计 token；命令面板 / 主题开关 /
   侧边栏折叠 / Toast 升级。仅覆盖视觉，不改变任何业务逻辑。
   ============================================================ */
:root{
  --v3-bg:#0a1120;--v3-panel:#111b2e;--v3-panel2:#16223a;--v3-panel3:#1b2a45;
  --v3-line:#22324d;--v3-line2:#2d4160;
  --v3-text:#eef4fd;--v3-muted:#93a6c0;--v3-faint:#6d82a0;
  --v3-accent:#4b93ff;--v3-accent2:#2fd0b0;
  --v3-accent-weak:rgba(75,147,255,.13);
  --v3-gold:#e2ad45;--v3-red:#f26b6b;
  --v3-shadow:0 14px 40px rgba(0,0,0,.35);
  --v3-ease:cubic-bezier(.22,.61,.36,1);
  --v3-ease-spring:cubic-bezier(.34,1.56,.64,1);
}
html[data-theme="light"]{
  --v3-bg:#f6f8fb;--v3-panel:#fdfefe;--v3-panel2:#f3f6fa;--v3-panel3:#eaf0f7;
  --v3-line:#e3e9f2;--v3-line2:#d5deea;
  --v3-text:#33445c;--v3-muted:#6d7d94;--v3-faint:#93a2b7;
  --v3-accent:#4f7cd4;--v3-accent2:#35a48c;
  --v3-accent-weak:rgba(79,124,212,.09);
  --v3-gold:#a8843e;--v3-red:#c96a6a;
  --v3-shadow:0 12px 32px rgba(30,45,70,.08);
}
/* 主题切换按钮（顶栏） */
.theme-toggle{display:inline-flex;align-items:center;gap:3px;font-size:12px}
.theme-toggle .tt-sun,.theme-toggle .tt-moon{color:var(--v3-gold)}
.theme-toggle .tt-track{position:relative;width:20px;height:12px;border-radius:99px;background:var(--v3-line2);transition:background .3s var(--v3-ease)}
.theme-toggle .tt-track i{position:absolute;left:1px;top:1px;width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .3s var(--v3-ease-spring)}
.theme-toggle.on .tt-track{background:var(--v3-accent)}
.theme-toggle.on .tt-track i{transform:translateX(8px)}

/* 应用框架与过渡 */
.app{transition:grid-template-columns .35s var(--v3-ease)}
.app.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}
body{transition:background-color .4s var(--v3-ease),color .4s var(--v3-ease)}
body{
  background:
    radial-gradient(circle at 14% 8%, rgba(75,147,255,.10), transparent 30%),
    radial-gradient(circle at 78% 0%, rgba(47,208,176,.08), transparent 36%),
    linear-gradient(135deg, var(--v3-bg), var(--v3-panel) 58%, var(--v3-bg));
}
html[data-theme="light"] body{background:var(--v3-bg)}

/* 侧边栏 */
.sidebar{background:linear-gradient(180deg,#0d1628,#0a1220 70%);transition:background-color .4s var(--v3-ease)}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#fdfefe,#f3f6fa 70%)}
.sidebar .brand-lockup{display:flex;align-items:center;gap:11px;padding:2px 8px 18px}
.sidebar .brand-lockup .logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#4b93ff,#2fd0b0);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;box-shadow:0 6px 18px rgba(75,147,255,.3);margin:0}
.sidebar .brand-lockup small{color:var(--v3-faint);letter-spacing:.12em;font-size:11px}
.app.sidebar-collapsed .sidebar{padding:20px 10px}
.app.sidebar-collapsed .sidebar .brand-lockup{justify-content:center;padding-left:0;padding-right:0}
.app.sidebar-collapsed .sidebar .brand-lockup small,.app.sidebar-collapsed .sidebar .nav-group summary,
.app.sidebar-collapsed .sidebar .nav-group-items button,.app.sidebar-collapsed .sidebar>.ghost{display:none}
.app.sidebar-collapsed .nav-group-items button{justify-content:center;height:44px;font-size:0}
.app.sidebar-collapsed .nav-group-items button::before{position:static;margin:0;width:14px;height:14px}
.app.sidebar-collapsed .sidebar>.ghost{position:static;width:auto}
.collapse-btn{
  position:absolute;left:236px;top:74px;z-index:30;width:22px;height:22px;border-radius:50%;
  background:var(--v3-panel2);border:1px solid var(--v3-line2);color:var(--v3-faint);display:grid;place-items:center;
  transition:all .3s var(--v3-ease);box-shadow:0 2px 6px rgba(0,0,0,.18);cursor:pointer;
}
.collapse-btn:hover{color:var(--v3-accent);border-color:rgba(75,147,255,.5)}
.app.sidebar-collapsed .collapse-btn{left:64px}
.app.sidebar-collapsed .collapse-btn svg{transform:rotate(180deg)}

/* 顶栏 */
.topbar{background:rgba(10,17,32,.82);backdrop-filter:blur(14px);transition:background-color .4s var(--v3-ease)}
html[data-theme="light"] .topbar{background:rgba(253,254,254,.85)}
.top-actions .icon-button{width:40px;height:40px;border-radius:10px;transition:all .22s var(--v3-ease)}
.top-actions .icon-button:hover{color:var(--v3-accent);border-color:rgba(75,147,255,.45);transform:translateY(-2px)}

/* 面板 / 卡片 */
.panel,.metric,.detail-hero,.login-card{background:linear-gradient(180deg,var(--v3-panel),var(--v3-panel2));border-color:var(--v3-line);transition:background-color .4s var(--v3-ease),border-color .3s var(--v3-ease)}
html[data-theme="light"] .panel,html[data-theme="light"] .metric,html[data-theme="light"] .login-card{background:linear-gradient(180deg,#fdfefe,#f6f8fb)}
.panel:hover,.metric:hover{border-color:var(--v3-line2);box-shadow:var(--v3-shadow)}
.panel-head{background:var(--v3-panel);border-bottom-color:var(--v3-line)}
html[data-theme="light"] .panel-head{background:var(--v3-panel)}
.panel-head h3{color:var(--v3-text)}

/* 指标卡 */
.metric{min-height:110px;padding:17px 18px;border-radius:12px;overflow:hidden;position:relative}
.metric span{color:var(--v3-muted)}
.metric strong{color:var(--v3-text)}
.metric::before{width:8px;height:8px;background:var(--v3-accent)}
button.metric{cursor:pointer;transition:transform .25s var(--v3-ease-spring),border-color .25s var(--v3-ease),box-shadow .25s var(--v3-ease)}
button.metric:hover{transform:translateY(-3px);border-color:rgba(75,147,255,.45);box-shadow:var(--v3-shadow)}
button.metric::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--v3-accent),transparent);opacity:0;transition:opacity .3s var(--v3-ease)}
button.metric:hover::after{opacity:1}
button.metric em{color:var(--v3-accent2)}
div.metric{pointer-events:none}

/* 按钮 */
.primary,.secondary,.ghost,.danger{transition:all .22s var(--v3-ease);border-radius:9px}
.primary{background:linear-gradient(135deg,#4b93ff,#2a6de0);box-shadow:0 5px 16px rgba(75,147,255,.25)}
.primary:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(75,147,255,.35)}
.secondary:hover,.ghost:hover{transform:translateY(-1px)}
button:active{transform:scale(.97)}

/* 表格 */
.table-wrap{background:var(--v3-panel)}
th{background:rgba(22,34,58,.5);color:var(--v3-faint);letter-spacing:.06em}
html[data-theme="light"] th{background:rgba(243,246,250,.8)}
td{color:var(--v3-muted)}
tbody tr:hover{background:rgba(75,147,255,.05)}
.row-link,.link-button{color:var(--v3-accent)}
.tag,.status-tag{color:var(--v3-accent);background:var(--v3-accent-weak);border-color:rgba(75,147,255,.3)}

/* 提示 / 状态 */
.hint{color:var(--v3-muted)}
.notice{background:var(--v3-panel2);border-color:var(--v3-line2);color:var(--v3-muted)}
.notice.success{color:var(--v3-accent2);border-color:rgba(47,208,176,.3)}
.notice.warning,.notice.warn{color:var(--v3-gold);border-color:rgba(226,173,69,.3)}
.input,.select,.textarea{border-radius:8px;transition:border-color .2s var(--v3-ease),box-shadow .2s var(--v3-ease)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--v3-accent);box-shadow:0 0 0 3px rgba(75,147,255,.12)}

/* Toast 升级 */
.page-toast{display:flex;align-items:center;gap:10px;padding:11px 18px;border-radius:12px;background:var(--v3-panel);border:1px solid var(--v3-line2);box-shadow:0 14px 40px rgba(0,0,0,.4);font-size:13px;color:var(--v3-text);animation:ptIn .35s var(--v3-ease-spring);max-width:420px;z-index:400}
.page-toast .pt-ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800}
.page-toast.success .pt-ic{background:rgba(47,208,176,.15);color:var(--v3-accent2)}
.page-toast.error .pt-ic{background:rgba(242,107,107,.15);color:var(--v3-red)}
.page-toast.info .pt-ic{background:rgba(75,147,255,.15);color:var(--v3-accent)}
@keyframes ptIn{from{opacity:0;transform:translateY(-14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
.page-toast.show{opacity:1;transform:translateY(0);transition:opacity .3s var(--v3-ease),transform .3s var(--v3-ease)}
.page-toast:not(.show){opacity:0;transform:translateY(-10px)}

/* 命令面板 */
.cmd-overlay{position:fixed;inset:0;z-index:500;background:rgba(4,8,16,.68);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:12vh 20px 40px}
.cmd-overlay.open{display:flex}
.cmd-panel{width:min(600px,94vw);background:linear-gradient(180deg,#121d31,#0e1828);border:1px solid var(--v3-line2);border-radius:16px;box-shadow:0 32px 90px rgba(0,0,0,.6);overflow:hidden;animation:ptIn .28s var(--v3-ease-spring)}
html[data-theme="light"] .cmd-panel{background:linear-gradient(180deg,#fdfefe,#f3f6fa)}
.cmd-input{display:flex;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid var(--v3-line)}
.cmd-input .ci-search{color:var(--v3-accent);font-size:18px}
.cmd-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--v3-text);font-size:14px}
.cmd-input input::placeholder{color:var(--v3-faint)}
.cmd-input kbd,.cmd-foot kbd{font-size:10px;border:1px solid var(--v3-line2);border-radius:5px;padding:2px 7px;color:var(--v3-faint);background:var(--v3-panel)}
.cmd-body{max-height:min(52vh,420px);overflow-y:auto;padding:8px}
.cmd-hint{padding:10px 12px;font-size:11px;color:var(--v3-faint);letter-spacing:.1em;font-weight:700}
.cmd-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:10px;color:var(--v3-muted);text-align:left;font-size:13px;transition:all .15s var(--v3-ease)}
.cmd-item:hover,.cmd-item.sel{background:var(--v3-accent-weak);color:var(--v3-text)}
.cmd-item .ci-ic{width:32px;height:32px;border-radius:9px;background:var(--v3-panel2);border:1px solid var(--v3-line);display:grid;place-items:center;color:var(--v3-faint);flex:none;font-size:13px}
.cmd-item.sel .ci-ic{color:var(--v3-accent);border-color:rgba(75,147,255,.45)}
.cmd-item .ci-main{display:grid;gap:1px;min-width:0}
.cmd-item .ci-main b{font-size:13px;font-weight:600;color:#dbe7f6}
html[data-theme="light"] .cmd-item .ci-main b{color:#42526b}
.cmd-item .ci-main small{font-size:11px;color:var(--v3-faint)}
.cmd-item kbd{margin-left:auto}
.cmd-foot{display:flex;align-items:center;gap:16px;padding:10px 18px;border-top:1px solid var(--v3-line);font-size:10.5px;color:var(--v3-faint)}

/* 移动端：折叠按钮隐藏 */
@media (max-width: 760px){
  .collapse-btn{display:none}
  .app{grid-template-columns:1fr}
  .app.sidebar-collapsed{grid-template-columns:1fr}
}

/* ============================================================
   v3 登录页视觉（2026-08-05）
   与工作台 v3 调性统一：柔和渐变、玻璃拟态卡片、统一按钮、微动效
   说明：旧登录页锁定段大量使用 !important，此处关键规则同样加 !important 保证覆盖
   ============================================================ */
.ai-login{
  background:
    radial-gradient(circle at 72% 32%, rgba(75,147,255,.14), transparent 30%),
    radial-gradient(circle at 16% 76%, rgba(47,208,176,.10), transparent 32%),
    radial-gradient(circle at 45% 12%, rgba(138,122,214,.08), transparent 34%),
    #050d18!important;
}
html[data-theme="light"] .ai-login{
  background:
    radial-gradient(circle at 72% 32%, rgba(79,124,212,.10), transparent 30%),
    radial-gradient(circle at 16% 76%, rgba(53,164,140,.08), transparent 32%),
    #f6f8fb!important;
}
html[data-theme="light"] .ai-login .login-grid-bg{opacity:.2!important}
html[data-theme="light"] .ai-login .login-logo b{color:var(--v3-accent)!important}
html[data-theme="light"] .ai-login .login-system{color:var(--v3-faint)!important}
html[data-theme="light"] .ai-login .login-kicker{color:var(--v3-accent)!important}
html[data-theme="light"] .ai-login .login-intro h1{color:var(--v3-text)!important}
html[data-theme="light"] .ai-login .login-intro h1 em{color:var(--v3-accent)!important}
html[data-theme="light"] .ai-login .login-intro>p{color:var(--v3-muted)!important}
html[data-theme="light"] .ai-login .login-capabilities span{background:rgba(243,246,250,.7);border-color:var(--v3-line);color:var(--v3-muted)}
html[data-theme="light"] .ai-login .login-live-row{border-top-color:var(--v3-line);color:var(--v3-faint)}
html[data-theme="light"] .ai-login .login-card{
  background:linear-gradient(145deg,rgba(253,254,254,.97),rgba(243,246,250,.97))!important;
  border-color:var(--v3-line2)!important;
  box-shadow:0 30px 90px rgba(30,45,70,.12)!important;
}
html[data-theme="light"] .ai-login .login-card-top h2{color:var(--v3-text)!important}
html[data-theme="light"] .ai-login .login-card-top small{color:var(--v3-accent)!important}
html[data-theme="light"] .ai-login .login-card>.hint{color:var(--v3-muted)!important}
html[data-theme="light"] .ai-login-form .field label{color:var(--v3-muted)!important}
html[data-theme="light"] .ai-login-form .input{background:rgba(243,246,250,.85)!important;border-color:var(--v3-line2)!important;color:var(--v3-text)!important}
html[data-theme="light"] .ai-login-form .input::placeholder{color:var(--v3-faint)!important}
html[data-theme="light"] .login-form-meta{color:var(--v3-faint)!important}
html[data-theme="light"] .login-trust{border-top-color:var(--v3-line);color:var(--v3-faint)}
html[data-theme="light"] .login-footer{color:var(--v3-faint)!important}
html[data-theme="light"] .login-footer a{color:var(--v3-accent)!important}
html[data-theme="light"] .ai-login .login-auth-icon{background:rgba(79,124,212,.1);border-color:rgba(79,124,212,.3);color:var(--v3-accent)}
html[data-theme="light"] .ai-login .login-orbit .orbit-core{background:rgba(79,124,212,.12);border-color:var(--v3-accent)}
html[data-theme="light"] .ai-login .login-orbit .orbit-core b{color:var(--v3-text)}
html[data-theme="light"] .ai-login .login-orbit .orbit-core small{color:var(--v3-accent2)}
/* 登录卡片：柔和玻璃拟态 */
.ai-login .login-card{
  background:linear-gradient(145deg,rgba(12,29,48,.94),rgba(7,18,31,.96))!important;
  border-color:rgba(75,147,255,.18)!important;
  border-radius:18px!important;
  backdrop-filter:blur(20px)!important;
}
.ai-login .login-card::before{
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(75,147,255,.7),transparent)!important;
}
/* 登录按钮：v3 渐变 + 悬停动效 */
.ai-login-form .primary{
  background:linear-gradient(135deg,#4b93ff,#2a6de0)!important;
  box-shadow:0 10px 28px rgba(75,147,255,.28)!important;
  transition:all .25s var(--v3-ease);
}
.ai-login-form .primary:hover{
  filter:brightness(1.08)!important;
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(75,147,255,.38)!important;
}
.ai-login-form .primary b{transition:transform .25s var(--v3-ease)}
.ai-login-form .primary:hover b{transform:translateX(3px)}
/* 输入框聚焦 */
.ai-login-form .input{
  transition:border-color .2s var(--v3-ease),box-shadow .2s var(--v3-ease),background-color .3s var(--v3-ease);
}
.ai-login-form .input:focus{
  border-color:var(--v3-accent)!important;
  box-shadow:0 0 0 3px rgba(75,147,255,.14)!important;
}
/* 品牌区微动效 */
.ai-login .login-logo b{transition:color .3s var(--v3-ease)}
.ai-login .login-capabilities span{transition:all .25s var(--v3-ease)}
.ai-login .login-capabilities span:hover{transform:translateY(-2px);border-color:rgba(75,147,255,.4);color:var(--v3-text)}
/* 主标题渐变文字 */
.ai-login .login-intro h1 em{
  display:inline-block;
  background:linear-gradient(120deg,#6fb4ff,#4b93ff 55%,#2fd0b0)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
html[data-theme="light"] .ai-login .login-intro h1 em{
  background:linear-gradient(120deg,#7aa4e8,#4f7cd4 55%,#35a48c)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}

/* ============================================================
   v3 首页工作台视觉（2026-08-05）
   覆盖 renderTodos 的首页专属类，升级为 v3 调性（柔和靛蓝/渐变/动效）
   ============================================================ */
/* Hero 命令台 */
.ai-command-hero{
  border:1px solid rgba(75,147,255,.18);
  border-radius:16px;
  background:
    radial-gradient(ellipse at 82% 18%,rgba(75,147,255,.16),transparent 42%),
    radial-gradient(ellipse at 12% 85%,rgba(47,208,176,.1),transparent 40%),
    linear-gradient(120deg,#101c33,#0c1526 60%,#0f2233);
  transition:box-shadow .3s var(--v3-ease);
}
html[data-theme="light"] .ai-command-hero{
  background:radial-gradient(ellipse at 82% 18%,rgba(79,124,212,.10),transparent 42%),radial-gradient(ellipse at 12% 85%,rgba(53,164,140,.07),transparent 40%),linear-gradient(120deg,#fdfefe,#f3f6fa);
  border-color:var(--v3-line);
}
.ai-command-hero:hover{box-shadow:0 18px 50px rgba(0,0,0,.25)}
html[data-theme="light"] .ai-command-hero:hover{box-shadow:var(--v3-shadow)}
.system-status{color:var(--v3-accent2)}
.system-status span,.live-dot{background:var(--v3-accent2);box-shadow:0 0 0 5px rgba(47,208,176,.1)}
.command-copy h1{color:var(--v3-text)}
.command-copy p{color:var(--v3-muted)}
.ai-command-bar{border-color:var(--v3-line2);background:rgba(10,18,32,.85);box-shadow:0 0 0 4px rgba(75,147,255,.06)}
html[data-theme="light"] .ai-command-bar{background:rgba(255,255,255,.9)}
.ai-command-bar input{color:var(--v3-text)}
.ai-command-bar input::placeholder{color:var(--v3-faint)}
.ai-glyph{color:var(--v3-accent)}
.ai-command-bar .primary{background:linear-gradient(135deg,#4b93ff,#2a6de0);box-shadow:0 5px 16px rgba(75,147,255,.25)}
.context-ribbon{color:var(--v3-faint)}
.context-ribbon strong{color:var(--v3-text)}
.context-ribbon .safe i{background:var(--v3-accent2)}
.context-ribbon button{color:var(--v3-accent)}
/* KPI 卡 */
.ai-kpi-grid button{
  border:1px solid var(--v3-line);
  border-radius:12px;
  background:linear-gradient(180deg,var(--v3-panel),var(--v3-panel2));
  color:var(--v3-muted);
  transition:transform .25s var(--v3-ease-spring),border-color .25s var(--v3-ease),box-shadow .25s var(--v3-ease);
}
html[data-theme="light"] .ai-kpi-grid button{background:linear-gradient(180deg,#fdfefe,#f6f8fb)}
.ai-kpi-grid button:hover{transform:translateY(-4px);border-color:rgba(75,147,255,.45);box-shadow:0 14px 34px rgba(0,0,0,.3)}
.ai-kpi-grid button::after{background:var(--v3-accent)}
.ai-kpi-grid strong{color:var(--v3-text)}
.ai-kpi-grid small{color:var(--v3-accent2)}
.ai-kpi-grid .warn{color:var(--v3-gold)}
/* 卡片 */
.ops-card{
  border:1px solid var(--v3-line);
  border-radius:14px;
  background:linear-gradient(180deg,var(--v3-panel),#0f192c);
  box-shadow:none;
  transition:border-color .25s var(--v3-ease),box-shadow .25s var(--v3-ease);
}
html[data-theme="light"] .ops-card{background:linear-gradient(180deg,#fdfefe,#f6f8fb)}
.ops-card:hover{border-color:var(--v3-line2);box-shadow:0 14px 40px rgba(0,0,0,.2)}
.ops-card>header{border-bottom-color:var(--v3-line)}
.ops-card h3{color:var(--v3-text)}
.section-kicker{color:var(--v3-accent)}
.confidence,.match-score,.run-id{border-color:var(--v3-line2);background:var(--v3-panel2);color:var(--v3-accent2)}
/* 世界地图 */
.world-network{background-color:#091522}
html[data-theme="light"] .world-network{background-color:var(--v3-panel2)}
.map-card>footer{color:var(--v3-faint)}
.map-card footer strong{color:var(--v3-text)}
/* 推理流 */
.reasoning-stream>div{border-bottom-color:var(--v3-line)}
.reasoning-stream p strong{color:var(--v3-text)}
.reasoning-stream p span{color:var(--v3-muted)}
.reasoning-stream em{color:var(--v3-accent2)}
.evidence-source span{color:var(--v3-faint)}
.evidence-source b{border-color:var(--v3-line2);color:var(--v3-muted)}
/* 阶段流 */
.stage-track>div::after{background:var(--v3-line2)}
.stage-track i{border-color:var(--v3-line2);background:var(--v3-panel2);color:var(--v3-faint)}
.stage-track strong{color:var(--v3-muted)}
.stage-track span{color:var(--v3-faint)}
.stage-track .done i{background:rgba(47,208,176,.15);border-color:var(--v3-accent2);color:var(--v3-accent2);box-shadow:0 0 0 4px rgba(47,208,176,.08)}
.stage-track .done::after{background:linear-gradient(90deg,var(--v3-accent2),var(--v3-line2))}
.stage-track .active i{border-color:var(--v3-accent);box-shadow:0 0 0 5px rgba(75,147,255,.12)}
.stage-track .active i::after{background:var(--v3-accent)}
.stage-track .active strong{color:var(--v3-accent)}
/* 匹配卡 */
.company-avatar{border-color:var(--v3-line2);background:var(--v3-panel2);color:var(--v3-accent)}
.company-match h4{color:var(--v3-text)}
.company-match p{color:var(--v3-muted)}
.verified-badge{color:var(--v3-accent2)}
.evidence-note{border-left-color:rgba(75,147,255,.5);background:var(--v3-panel2);color:var(--v3-muted)}
/* 队列 */
.queue-row{border-bottom-color:var(--v3-line);color:var(--v3-muted)}
.queue-row:hover{background:rgba(75,147,255,.05)}
.queue-index{color:var(--v3-faint)}
.queue-row strong{color:var(--v3-text)}
.queue-row small{color:var(--v3-faint)}
.queue-row b{color:var(--v3-accent2)}
/* 空状态 */
.empty-state{color:var(--v3-faint)}
.empty-state span{color:var(--v3-accent2)}
.empty-state strong{color:var(--v3-muted)}
html[data-theme="light"] .empty-state strong{color:var(--v3-text)}

/* todos 视图高特异性覆盖（压过 L1966 紧凑布局的旧色值） */
.view-todos .ai-command-hero{
  background:
    radial-gradient(ellipse at 82% 18%,rgba(75,147,255,.16),transparent 42%),
    radial-gradient(ellipse at 12% 85%,rgba(47,208,176,.1),transparent 40%),
    linear-gradient(120deg,#101c33,#0c1526 60%,#0f2233)!important;
  border-radius:16px!important;
}
html[data-theme="light"] .view-todos .ai-command-hero{
  background:
    radial-gradient(ellipse at 82% 18%,rgba(79,124,212,.10),transparent 42%),
    radial-gradient(ellipse at 12% 85%,rgba(53,164,140,.07),transparent 40%),
    linear-gradient(120deg,#fdfefe,#f3f6fa)!important;
}
.view-todos .ai-command-bar{
  border-color:var(--v3-line2)!important;
  background:rgba(10,18,32,.85)!important;
}
html[data-theme="light"] .view-todos .ai-command-bar{background:rgba(255,255,255,.9)!important}
.view-todos .ai-command-bar button{
  border-color:var(--v3-accent2)!important;
  background:linear-gradient(135deg,#4b93ff,#2a6de0)!important;
  box-shadow:0 0 0 8px rgba(75,147,255,.12),0 0 24px rgba(75,147,255,.4)!important;
}
.view-todos .ai-command-bar::before{color:var(--v3-faint)!important}
.view-todos .command-copy h1{color:var(--v3-text)!important}
html[data-theme="light"] .view-todos .command-copy h1{color:var(--v3-text)}
.view-todos .command-copy h1::after{color:var(--v3-accent)!important}
.view-todos .command-copy p{color:var(--v3-muted)!important}
.view-todos .ai-kpi-grid button{
  background:linear-gradient(180deg,var(--v3-panel),var(--v3-panel2))!important;
}
html[data-theme="light"] .view-todos .ai-kpi-grid button{background:linear-gradient(180deg,#fdfefe,#f6f8fb)!important}
.view-todos .ai-kpi-grid button::before{background:#123b61!important}
.view-todos .ai-kpi-grid button:nth-child(2)::before{background:#123d36!important}
.view-todos .ai-kpi-grid button:nth-child(3)::before{background:#3c2a15!important}
.view-todos .ai-kpi-grid button::after{background:var(--v3-accent)!important}
.view-todos .ops-card{border-radius:14px!important}
