/* Shared Norivon identity for the site, login and workspaces. */
.site-body, .auth-page, .workspace {
  --brand-orange: #ff6b2c;
  --brand-link: #b43b0b;
  --ink: #151a1e;
  --muted: #596168;
  --paper: #ffffff;
  --line: #dfe2e5;
  --green: var(--brand-link);
  --lime: var(--brand-orange);
  color: var(--ink);
  background: var(--paper);
}
:is(.site-body, .auth-page, .workspace) a:hover { color: var(--brand-link); }
:is(.site-body, .auth-page, .workspace) :focus-visible { outline-color: var(--brand-link); }
:is(.site-body, .auth-page, .workspace) .skip-link { color: #fff; }
:is(.site-body, .auth-page, .workspace) .wordmark img { display: block; width: 174px; max-width: 100%; height: auto; }
.site-body .product-brand { margin-bottom: 28px; }
.site-body .product-brand img { display: block; width: 250px; max-width: 100%; height: auto; }
:is(.site-body, .auth-page, .workspace) .btn-primary {
  --bs-btn-color: var(--ink);
  --bs-btn-bg: var(--brand-orange);
  --bs-btn-border-color: var(--brand-orange);
  --bs-btn-hover-color: var(--ink);
  --bs-btn-hover-bg: #ff834e;
  --bs-btn-hover-border-color: #ff834e;
  --bs-btn-active-color: var(--ink);
  --bs-btn-active-bg: #f45b1c;
  --bs-btn-active-border-color: #f45b1c;
  --bs-btn-disabled-color: var(--ink);
  --bs-btn-disabled-bg: var(--brand-orange);
  --bs-btn-disabled-border-color: var(--brand-orange);
  --bs-btn-focus-shadow-rgb: 255, 107, 44;
}
.site-body .btn-outline-dark {
  --bs-btn-color: var(--ink);
  --bs-btn-border-color: var(--ink);
  --bs-btn-hover-bg: var(--ink);
  --bs-btn-hover-color: #fff;
}
.site-body .btn-outline-dark:hover { color: #fff; }
:is(.site-body, .auth-page, .workspace) .btn-primary:hover { color: var(--ink); }
.site-body .final-cta :focus-visible { outline-color: var(--ink); }
.site-body .hero h1 > span {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--brand-orange);
  text-decoration-thickness: .065em;
  text-underline-offset: .09em;
}
:is(.site-body, .auth-page, .workspace) .tiny-dot { background: var(--brand-orange); }
.site-body .readiness-art { border-color: #dfe2e5; background: #f3f4f5; }
.site-body .art-grid {
  background-image: linear-gradient(#151a1e12 1px, transparent 1px), linear-gradient(90deg, #151a1e12 1px, transparent 1px);
}
.site-body .art-label, .site-body .art-footnote { color: #596168; }
.site-body .orbit { border-color: #adb3b8; }
.site-body .core-chip {
  background: var(--ink);
  border-color: #30363b;
  box-shadow: 12px 20px 0 #dfe2e5, 22px 35px 35px #151a1e22;
  transform: none;
}
.site-body .core-chip img { width: 68%; height: auto; }
.site-body .core-chip small { color: #fff; font-size: .65rem; letter-spacing: .16em; margin-top: 12px; padding: 0; }
.site-body .art-tag { border-color: var(--line); box-shadow: 0 5px 12px #151a1e08; }
.site-body .problem-section, .site-body .preview-section { background: #f3f4f5; }
.site-body .problem-lines p { border-color: var(--line); }
.site-body .feature-card:hover { box-shadow: 0 8px 25px #151a1e0a; }
.site-body .dark-card p, .site-body .dark-card .feature-number, .site-body .step p { color: #ced2d5; }
.site-body .step { border-color: #596168; }
.site-body .app-preview { border-color: var(--line); box-shadow: 0 25px 50px #151a1e10; }
.site-body .preview-nav { background: #f6f7f8; }
.site-body .preview-brand { width: 145px; height: auto; }
.site-body .outline-badge { border-color: #aeb4b9; }
.site-body .final-cta { background: var(--brand-orange); color: var(--ink); }
.site-body .final-cta .eyebrow, .site-body .final-cta p:last-child { color: var(--ink); }
.site-body .final-cta .btn-light { background: var(--ink); color: #fff; border-color: var(--ink); }
.site-body .final-cta .btn-light:hover { background: #30363b; border-color: #30363b; color: #fff; }
.site-body .empty-state { border-color: #aeb4b9; }

/* Keep the existing responsive layouts and semantic status colors. */
:is(.auth-page, .workspace) { --bs-secondary-color: var(--muted); }
:is(.auth-page, .workspace) .form-control,
:is(.auth-page, .workspace) .form-select { border-color: #adb3b8; }
:is(.auth-page, .workspace) .form-control:focus,
:is(.auth-page, .workspace) .form-select:focus {
  border-color: var(--brand-link);
  box-shadow: 0 0 0 .25rem #ff6b2c26;
}
.auth-page .auth-story { background: #f3f4f5; color: var(--ink); border-right: 1px solid var(--line); }
.auth-page .auth-story p,
.auth-page .auth-story small { color: var(--muted); }
.auth-page .auth-story .eyebrow { color: var(--brand-link); }
.auth-page .auth-story h1 { text-decoration: underline; text-decoration-color: var(--brand-orange); text-decoration-thickness: .065em; text-underline-offset: .09em; }
.workspace { background: #f3f4f5; }
.workspace .workspace-sidebar { background: #fff; color: var(--ink); border-right: 1px solid var(--line); }
.workspace .sidebar-caption,
.workspace .sidebar-bottom { color: var(--muted); }
.workspace .workspace-sidebar nav > a { color: var(--muted); }
.workspace .workspace-sidebar nav > a:hover { background: #f3f4f5; color: var(--ink); }
.workspace .workspace-sidebar nav > a[aria-current] { background: #fff0e8; color: var(--brand-link); }
.workspace .welcome-banner { background: #fff0e8; border-color: #ffd3bf; }
.workspace .device-monogram { border-color: #adb3b8; }
.workspace .device-specs > div { border-color: var(--line); }
.workspace .empty-state { border-color: #aeb4b9; }
.workspace .chart-empty,
.workspace .table th { background: #f6f7f8; }
.workspace .table { --bs-table-hover-bg: #fff0e8; }
.workspace .pagination { --bs-pagination-color: var(--brand-link); --bs-pagination-hover-color: var(--brand-link); --bs-pagination-active-bg: var(--brand-link); --bs-pagination-active-border-color: var(--brand-link); --bs-pagination-focus-color: var(--brand-link); --bs-pagination-focus-box-shadow: 0 0 0 .25rem #ff6b2c26; }
@media (max-width: 600px) {
  .site-body .row { --bs-gutter-x: 2rem; }
  .site-body .hero h1 { font-size: clamp(2.55rem, 12vw, 3.2rem); }
  :is(.site-body, .auth-page, .workspace) .wordmark img { width: 138px; }
  .auth-page .auth-story { border-right: 0; border-bottom: 1px solid var(--line); }
  .site-body .product-brand img { width: 210px; }
  .site-body .core-chip small { font-size: .52rem; margin-top: 8px; }
  .site-body .preview-brand { width: 130px; }
}
@media (max-width: 360px) {
  .site-body .site-header .container-xl { gap: 10px !important; padding-inline: 16px; }
  .site-body .site-header .wordmark img { width: 120px; }
}
