:root {
  --font-cn: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-display-cn: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-number: "DIN Alternate", "SF Pro Display", "Aptos", "Segoe UI", Arial, var(--font-cn);
  --type-body: 14px;
  --type-small: 12px;
  --type-title: 18px;
  --type-page: 24px;
  --type-hero: 31px;
}

html,
body,
button,
input,
select,
textarea,
.nav-item,
.chip,
.badge,
.data-table,
.assistant-bubble,
.user-bubble,
.document-card,
.archive-card,
.search-hit,
.list-item {
  font-family: var(--font-cn) !important;
  letter-spacing: 0;
}

body {
  color: #182230;
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.workspace-topbar h1,
.hero-login h1,
.login-panel h2,
.command-copy h2,
.ops-copy h2,
.control-hero h2,
.project-hero h2,
.repository-hero h2,
.search-hero h2,
.admin-hero h2,
.card-head h2,
.plant-map-head h2,
.compact-head h2,
.panel-card h2,
.ops-panel h2,
.brand-block strong,
.list-title strong,
.overview-project-head strong,
.overview-row strong {
  font-family: var(--font-display-cn) !important;
  font-weight: 560 !important;
  letter-spacing: 0;
}

.workspace-topbar h1 {
  font-size: var(--type-page) !important;
  line-height: 1.24 !important;
}

.command-copy h2,
.ops-copy h2 {
  font-size: var(--type-hero) !important;
  line-height: 1.24 !important;
}

.control-hero h2,
.project-hero h2,
.repository-hero h2,
.search-hero h2,
.admin-hero h2 {
  font-size: 23px !important;
  line-height: 1.28 !important;
}

.card-head h2,
.plant-map-head h2,
.compact-head h2,
.panel-card h2,
.ops-panel h2 {
  font-size: var(--type-title) !important;
  line-height: 1.32 !important;
}

.eyebrow {
  color: #5f6b7a;
  font-size: var(--type-small);
  font-weight: 500 !important;
  letter-spacing: 0;
  line-height: 1.38;
  text-transform: none;
}

.subtle,
.meta,
.overview-meta,
.brand-block span,
.nav-footer,
.data-table td,
.document-card .meta,
.archive-card .meta,
.search-hit p {
  color: #667085;
  font-weight: 400;
  line-height: 1.58;
}

.brand-block strong {
  color: #111827;
  font-size: 15px;
  line-height: 1.28;
}

.brand-block span {
  font-size: 12px;
  line-height: 1.36;
}

.nav-item {
  min-height: 40px;
  color: #475467;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.22;
}

.nav-item.active {
  color: var(--cds-blue);
  font-weight: 560 !important;
}

button,
.chip,
.badge,
.runtime-pill,
.runtime-chips span {
  font-weight: 520;
}

button {
  min-height: 39px;
  line-height: 1.2;
}

input,
select,
textarea {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42;
}

input::placeholder,
textarea::placeholder {
  color: #98a2b3;
  font-weight: 400;
}

.data-table th {
  color: #667085;
  font-size: 12px;
  font-weight: 500 !important;
}

.data-table td {
  color: #182230;
  font-size: 13px;
}

.data-table td strong,
.document-card strong,
.archive-card strong,
.search-hit strong,
.list-item strong,
.ledger-card-head strong,
.control-ledger-card strong {
  font-weight: 560 !important;
}

.stat-card strong,
.overview-score,
.overview-metrics strong,
.project-metric strong,
.repository-metric strong,
.search-metric strong,
.admin-metric strong,
.inbox-metric strong,
.control-status-strip strong,
.plant-zone strong,
.object-link-card strong,
.repository-governance-card strong {
  font-family: var(--font-number) !important;
  font-weight: 560 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.login-production .login-visual {
  background:
    linear-gradient(90deg, rgba(8, 16, 34, .82), rgba(8, 16, 34, .48) 48%, rgba(8, 16, 34, .16)),
    url("/assets/industrial-cluster-hero.png") center/cover;
}

.login-production .brand-mark {
  border-radius: 8px;
  font-family: var(--font-display-cn) !important;
  font-weight: 560 !important;
}

.login-production .hero-login .eyebrow {
  color: rgba(241, 245, 249, .9);
  font-size: 12px;
  font-weight: 400 !important;
}

.login-production .hero-login h1 {
  max-width: 760px;
  color: #ffffff;
  font-size: clamp(38px, 4.4vw, 56px) !important;
  font-weight: 560 !important;
  line-height: 1.16 !important;
}

.login-production .hero-login > p:not(.eyebrow) {
  max-width: 650px;
  color: rgba(241, 245, 249, .92);
  font-size: clamp(15px, 1.12vw, 17px) !important;
  font-weight: 400;
  line-height: 1.82;
}

.login-production .login-metrics span {
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
}

.login-production .login-evidence span {
  font-size: 12px;
  font-weight: 400;
}

.login-production .login-panel {
  width: min(100% - 48px, 408px);
  padding: 32px 34px;
  border-color: #dfe7f2;
  border-radius: 8px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .1);
}

.login-production .login-panel .eyebrow {
  color: #2563eb;
  font-weight: 500 !important;
}

.login-production .login-panel h2 {
  color: #101828;
  font-size: 25px !important;
  font-weight: 560 !important;
  line-height: 1.26 !important;
}

.login-production .login-panel .subtle {
  color: #667085;
  font-size: 13px;
  line-height: 1.6;
}

.login-production .login-panel label,
.form-grid label,
.modal-card label,
.voice-field,
.voice-rate-field,
.control-entry-form label span {
  color: #344054;
  font-size: 12px;
  font-weight: 500 !important;
  line-height: 1.35;
}

.login-production .login-panel input {
  min-height: 44px;
  border-color: #d8e0ea;
  background: #f8fafc;
  color: #101828;
  font-size: 14px;
}

.login-production .login-panel button[type="submit"],
.login-production .login-panel > button {
  min-height: 44px;
  margin-top: 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 560;
}

.login-status-line {
  color: #667085;
  font-size: 12px;
  font-weight: 400;
}

@media (max-width: 780px) {
  :root {
    --type-body: 13px;
    --type-title: 16px;
    --type-page: 21px;
    --type-hero: 23px;
  }

  body,
  button,
  input,
  select,
  textarea,
  .nav-item,
  .chip,
  .badge,
  .assistant-bubble,
  .user-bubble {
    font-size: var(--type-body);
  }

  .workspace-topbar h1 {
    font-size: var(--type-page) !important;
    line-height: 1.24 !important;
  }

  .workspace-topbar .subtle,
  .meta {
    font-size: 12px;
  }

  .command-copy h2,
  .ops-copy h2,
  .control-hero h2,
  .project-hero h2,
  .repository-hero h2,
  .search-hero h2,
  .admin-hero h2 {
    font-size: var(--type-hero) !important;
    line-height: 1.26 !important;
  }

  .card-head h2,
  .plant-map-head h2,
  .compact-head h2,
  .panel-card h2,
  .ops-panel h2 {
    font-size: var(--type-title) !important;
    line-height: 1.3 !important;
  }

  .nav-item {
    min-height: 36px;
    font-size: 12px !important;
  }

  .login-production .login-visual {
    padding: 18px 16px 0;
  }

  .login-production .brand-mark {
    width: 38px;
    height: 38px;
    margin-bottom: 13px;
    font-size: 19px;
  }

  .login-production .hero-login .eyebrow {
    margin-bottom: 6px;
  }

  .login-production .hero-login h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  .login-production .login-panel {
    width: calc(100% - 20px);
    margin-bottom: 18px;
    padding: 20px;
  }

  .login-production .login-panel h2 {
    font-size: 22px !important;
  }

  .login-production .login-panel .subtle {
    font-size: 12px;
    line-height: 1.55;
  }

  .login-production .login-panel label {
    margin-top: 15px;
  }
}

@media (max-width: 360px) {
  .login-production .login-visual {
    padding: 15px 12px 0;
  }

  .login-production .hero-login h1 {
    font-size: 23px !important;
  }

  .login-production .login-panel {
    width: calc(100% - 14px);
    padding: 18px;
  }
}
