/* Shared GO3D Digital Systems visual system for the Project Desk and GO3D modules. */
:root {
  color-scheme: light;
  --go3d-navy: #071a28;
  --go3d-blue: #087fa5;
  --go3d-cyan: #56c2e4;
  --go3d-cyan-strong: #087fa5;
  --go3d-ice: #e7f5fa;
  --go3d-paper: #f3f7f9;
  --go3d-white: #ffffff;
  --go3d-line: #dce7ec;
  --go3d-ink: #142c3a;
  --go3d-muted: #617986;
  --go3d-amber: #b77a19;
  --go3d-font-ui: Inter, "Segoe UI", Arial, sans-serif;

  /* Legacy module variables map to the shared GO3D palette. */
  --ink: var(--go3d-ink);
  --muted: var(--go3d-muted);
  --line: var(--go3d-line);
  --paper: var(--go3d-paper);
  --white: var(--go3d-white);
  --blue: var(--go3d-blue);
  --lime: var(--go3d-cyan);
  --amber: var(--go3d-amber);
}

body {
  color: var(--go3d-ink);
  background: var(--go3d-paper);
  font-family: var(--go3d-font-ui);
}

/* Keep the brand typography local to the user's system; no external font fetches. */
body * {
  font-family: var(--go3d-font-ui) !important;
}

.topbar .brand-wordmark {
  color: #f3f7f9;
  font: 700 18px/1.15 var(--go3d-font-ui);
  letter-spacing: -.35px;
  white-space: nowrap;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--go3d-cyan);
  outline-offset: 2px;
}

/* Project Desk */
.rail {
  background: #f5f9fb;
  border-right-color: var(--go3d-line);
}

.rail .brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 25px;
  padding: 14px 13px 13px;
  border: 1px solid #193546;
  border-radius: 13px;
  background: var(--go3d-navy);
  color: #fff;
  letter-spacing: 0;
}

.rail .brand-wordmark {
  display: block;
  max-width: 100%;
  color: #fff;
  font: 700 17px/1.15 var(--go3d-font-ui);
  letter-spacing: -.35px;
}

.rail .brand-product {
  margin: 0;
  color: #8bdcf3;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.rail-label,
.eyebrow {
  color: #648394;
}

.nav-item {
  color: #4f6876;
}

.nav-item span {
  color: #6b8796;
}

.nav-item:hover {
  background: #eaf4f8;
}

.nav-item.selected {
  background: var(--go3d-ice);
  color: var(--go3d-navy);
}

.nav-item.selected span {
  color: var(--go3d-blue);
}

.nav-item b {
  color: #6e8793;
}

.topbar {
  border-bottom-color: var(--go3d-line);
  box-shadow: 0 2px 12px #071a2808;
}

.breadcrumbs,
.breadcrumbs b {
  color: var(--go3d-muted);
}

.breadcrumbs b {
  color: var(--go3d-navy);
}

.add-button,
.focus-actions .focus-done {
  background: var(--go3d-navy);
  border-color: var(--go3d-navy);
}

.add-button:hover,
.focus-actions .focus-done:hover {
  background: var(--go3d-blue);
  border-color: var(--go3d-blue);
}

.content > .eyebrow,
.register-note {
  color: var(--go3d-muted);
}

.focus-card,
.summary-card,
.project-card,
.empty {
  border-color: var(--go3d-line);
  box-shadow: 0 5px 18px #102c3a08;
}

.focus-card {
  border-left: 3px solid var(--go3d-cyan);
}

.focus-kicker,
.sum-top,
.section-head p,
.project-next,
.project-meta,
.subtitle {
  color: var(--go3d-muted);
}

.focus-next,
.focus-project,
.section-head h2,
.project-name,
.sum-number {
  color: var(--go3d-navy);
}

.pulse,
.sum-dot,
.process-dot {
  background: var(--go3d-blue);
}

.sum-dot,
.summary-card:nth-child(2) .sum-dot,
.summary-card:nth-child(3) .sum-dot {
  background: var(--go3d-cyan-strong);
}

.status-pill:not(.month):not(.shelf):not(.archive) {
  background: var(--go3d-ice);
  color: #14506a;
}

.project-card:hover {
  border-color: #86cfe4;
  box-shadow: 0 8px 24px #102c3a10;
}

.card-actions button,
.focus-actions button,
.cancel-btn,
.filter,
.search,
.field-label input,
.field-label textarea,
.field-label select {
  border-color: var(--go3d-line);
}

.card-actions button:hover,
.focus-actions button:hover {
  border-color: #8dcde0;
  color: var(--go3d-blue);
  background: #f3fbfd;
}

.card-actions .resume {
  border-color: #d0eaf2;
  background: var(--go3d-ice);
  color: #14506a;
}

.field-label input:focus,
.field-label textarea:focus,
.field-label select:focus,
.search:focus-within {
  outline: 2px solid #a8dfef;
  outline-offset: 1px;
}

.avatar {
  background: var(--go3d-navy);
  color: #fff;
}

.process-metric,
.email-tools {
  border-color: var(--go3d-line);
}

.process-metric strong,
.email-tools h2 {
  color: var(--go3d-navy);
}

.process-tabs button[aria-pressed="true"] {
  border-color: var(--go3d-navy);
  background: var(--go3d-navy);
}

.process-tabs button:hover,
.process-open {
  color: var(--go3d-blue);
}

.email-tools {
  background: #f0f8fb;
}

.email-kicker {
  color: #587b8b;
}

.command-examples span {
  border-color: #d4e8ef;
  color: #285568;
}

.rail-bottom {
  border-top-color: var(--go3d-line);
}

footer {
  color: #7b909b;
}

dialog {
  box-shadow: 0 22px 70px #071a2833;
}

.field-label input,
.field-label textarea,
.field-label select {
  outline-color: #84cde2;
}

/* Scan-to-CAD uses the same palette with a restrained dark product header. */
body.scan-to-cad-module {
  background: var(--go3d-paper);
}

.scan-to-cad-module .topbar {
  background: var(--go3d-navy);
  border-bottom: 1px solid #244153;
}

.product-mark {
  color: #8bdcf3;
}

.top-links a:hover {
  color: #fff;
}

.top-links span {
  color: #9bb3be;
}

.scan-to-cad-module .hero h1,
.scan-to-cad-module .panel h2,
.scan-to-cad-module .panel h3,
.scan-to-cad-module .section-title,
.scan-to-cad-module .character-name {
  color: var(--go3d-navy);
}

.scan-to-cad-module .hero h1 em,
.scan-to-cad-module .eyebrow,
.scan-to-cad-module .lesson-no,
.scan-to-cad-module .layer-no {
  color: var(--go3d-blue);
}

.scan-to-cad-module .chips span,
.scan-to-cad-module .character,
.scan-to-cad-module .panel,
.scan-to-cad-module .step-content,
.scan-to-cad-module .lesson {
  border-color: var(--go3d-line);
}

.scan-to-cad-module .chips span {
  background: var(--go3d-white);
  color: #3c677b;
}

.scan-to-cad-module .panel,
.scan-to-cad-module .character,
.scan-to-cad-module .step-content,
.scan-to-cad-module .lesson {
  box-shadow: 0 5px 18px #102c3a08;
}

.scan-to-cad-module .character:hover,
.scan-to-cad-module .step:hover {
  border-color: #8dcde0;
  background: #f3fbfd;
}

.scan-to-cad-module .character.active,
.scan-to-cad-module .step.current {
  border-color: #8dcde0;
  background: var(--go3d-ice);
}

.scan-to-cad-module .step.complete span {
  border-color: var(--go3d-cyan-strong);
  background: var(--go3d-cyan-strong);
  color: var(--go3d-white);
}

.scan-to-cad-module .notice {
  border-color: #b9deea;
  background: #edf8fb;
}

.scan-to-cad-module .notice-tag {
  color: #276a83;
}

.scan-to-cad-module .step-actions .primary,
.scan-to-cad-module .primary {
  border-color: var(--go3d-navy);
  background: var(--go3d-navy);
}

.scan-to-cad-module .step-actions .primary:hover,
.scan-to-cad-module .primary:hover {
  border-color: var(--go3d-blue);
  background: var(--go3d-blue);
}

.scan-to-cad-module .secondary:focus-visible,
.scan-to-cad-module .step-actions button:focus-visible {
  outline-color: var(--go3d-cyan);
}

.scan-to-cad-module .product {
  border: 1px solid #244153;
  background: var(--go3d-navy);
}

.scan-to-cad-module .product .eyebrow,
.scan-to-cad-module .layer-no {
  color: #8bdcf3;
}

.scan-to-cad-module .notice {
  border-color: #b9deea;
  background: var(--go3d-ice);
  color: var(--go3d-ink);
}

.scan-to-cad-module .notice h2 {
  color: var(--go3d-navy);
}

.scan-to-cad-module .notice p {
  color: var(--go3d-ink);
}

.scan-to-cad-module .lesson-no {
  color: var(--go3d-blue);
}

.scan-to-cad-module .step-warning {
  border-color: #edcf9c;
}

@media (max-width: 680px) {
  .rail .brand {
    border-radius: 10px;
  }

  .rail .brand-wordmark { font-size: 14px; }
}
