/* AMT Digital reference layer: presentation only; no journey behaviour lives here. */
html {
  background: var(--amt-navy-950);
}

body {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 12% 12%, rgba(47, 56, 159, 0.28), transparent 35rem),
    radial-gradient(circle at 88% 42%, rgba(10, 133, 174, 0.14), transparent 34rem),
    linear-gradient(150deg, var(--amt-navy-950) 0%, var(--amt-indigo-800) 48%, var(--amt-navy-900) 100%);
  color: var(--amt-text);
  font-family: var(--amt-font-sans);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: 0.32;
  background:
    repeating-radial-gradient(ellipse at 12% 54%, transparent 0 24px, rgba(88, 102, 199, 0.08) 25px 26px, transparent 27px 49px),
    linear-gradient(115deg, transparent 0 48%, rgba(96, 224, 241, 0.025) 49% 50%, transparent 51% 100%);
  mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}

.amt-header {
  min-height: 72px;
  background: rgba(3, 10, 34, 0.94);
  border-bottom-color: rgba(66, 223, 244, 0.34);
  box-shadow: 0 10px 32px rgba(0, 4, 24, 0.22);
}

.brand strong {
  color: var(--amt-gold);
  text-shadow: 0 0 22px rgba(244, 195, 84, 0.18);
}

.brand span,
.amt-header nav a,
.amt-header nav button {
  color: var(--amt-text);
}

.amt-header nav a,
.amt-header nav button {
  min-height: var(--amt-control-height);
  border-radius: var(--amt-radius-sm);
  transition: border-color var(--amt-motion-fast), background-color var(--amt-motion-fast), transform var(--amt-motion-fast);
}

.amt-header nav a:hover,
.amt-header nav button:hover {
  border-color: rgba(66, 223, 244, 0.7);
  background: rgba(29, 58, 119, 0.42);
}

.amt-header nav .active {
  border-color: var(--amt-cyan);
  background: rgba(19, 66, 116, 0.58);
  box-shadow: inset 0 0 0 1px rgba(66, 223, 244, 0.14), 0 0 24px rgba(21, 199, 232, 0.08);
}

.amt-header nav .help-link {
  border-color: rgba(244, 195, 84, 0.74);
  color: var(--amt-gold);
}

.journey-intro {
  padding-top: clamp(1.5rem, 4vw, 3rem);
}

.journey-intro h1,
.workspace-head h2,
.amt-outputs h2,
.dialog-card h2 {
  font-family: var(--amt-font-display);
  letter-spacing: -0.025em;
}

.kicker {
  color: var(--amt-gold);
}

.journey-intro > div > p:last-child,
.journey-progress small,
.section-copy,
.status,
.indicator p,
.protect-row small,
.report-guidance small {
  color: var(--amt-text-muted);
}

.journey-progress,
.linear-shell,
.amt-outputs,
.dialog-card,
.report-dialog,
.country-protection {
  border-color: var(--amt-border);
  background: linear-gradient(155deg, rgba(33, 39, 105, 0.88), rgba(8, 20, 57, 0.96));
  box-shadow: var(--amt-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.linear-shell,
.amt-outputs {
  border-radius: var(--amt-radius-lg);
}

.workspace-head,
.linear-nav {
  border-color: var(--amt-border-soft);
}

.progress-track {
  height: 7px;
  background: rgba(105, 116, 214, 0.35);
}

.progress-track span {
  background: linear-gradient(90deg, var(--amt-cyan), var(--amt-lime));
  box-shadow: 0 0 16px rgba(66, 223, 244, 0.28);
}

input,
select,
textarea {
  min-height: var(--amt-control-height);
  border: 1px solid rgba(134, 146, 218, 0.84);
  border-radius: var(--amt-radius-sm);
  background: #f8f9ff;
  color: #101631;
  box-shadow: inset 0 1px 2px rgba(9, 15, 43, 0.16);
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline: 3px solid var(--amt-focus);
  outline-offset: 3px;
}

.primary,
.secondary,
.linear-nav button,
.choice-button,
.output-actions button,
.final-actions button {
  min-height: var(--amt-control-height);
  border-radius: var(--amt-radius-sm);
  border-color: rgba(92, 218, 241, 0.72);
  background: linear-gradient(145deg, rgba(19, 73, 126, 0.96), rgba(23, 41, 102, 0.96));
  box-shadow: var(--amt-shadow-sm);
  transition: transform var(--amt-motion-fast), border-color var(--amt-motion-fast), filter var(--amt-motion-fast);
}

.primary {
  border-color: var(--amt-gold-soft);
  background: linear-gradient(145deg, var(--amt-gold-soft), var(--amt-gold));
  color: var(--amt-navy-950);
}

.primary:hover,
.secondary:hover,
.linear-nav button:hover:not(:disabled),
.choice-button:hover,
.output-actions button:hover:not(:disabled),
.final-actions button:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.live-result,
.personal-result,
.info-panel,
.rating-grid div,
.rating-card,
.check-row,
details.assessment,
.indicator,
.prep-grid label,
.prep-summary,
.protect-row,
.report-guidance,
.private-pathway-body,
.clinical-detail,
.yellow-fever-split,
.return-review fieldset,
.completion-screen dl {
  border-color: var(--amt-border-soft);
  background: linear-gradient(145deg, rgba(35, 43, 106, 0.76), rgba(14, 29, 70, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.guidance-note,
.risk-key,
.privacy-before-health,
.card-recommendation,
.report-summary,
.reminder {
  border-left-color: var(--amt-gold);
  background: linear-gradient(125deg, rgba(53, 52, 101, 0.88), rgba(35, 39, 84, 0.84));
}

.saved-state,
.success,
.prep-complete {
  color: var(--amt-success);
}

.travel-card,
.wallet-card {
  border-color: var(--amt-gold);
  background:
    radial-gradient(circle at 86% 10%, rgba(66, 223, 244, 0.12), transparent 16rem),
    linear-gradient(145deg, rgba(4, 15, 45, 0.98), rgba(18, 35, 82, 0.98));
  box-shadow: var(--amt-shadow-lg), inset 0 0 0 1px rgba(244, 195, 84, 0.1);
}

.linear-nav {
  background: rgba(4, 12, 39, 0.94);
}

footer {
  border-top-color: rgba(66, 223, 244, 0.22);
  color: var(--amt-text-muted);
}

@media (max-width: 760px) {
  .amt-header {
    min-height: auto;
    padding: 10px 12px;
  }

  .amt-header nav a,
  .amt-header nav button {
    min-height: 44px;
  }

  .linear-shell,
  .amt-outputs {
    border-radius: var(--amt-radius-md);
  }

  .journey-intro {
    padding-top: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.check-row button.action[aria-pressed="true"] {
  border-color: var(--amt-warning);
  background: color-mix(in srgb, var(--amt-warning) 20%, var(--amt-panel));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--amt-warning) 68%, transparent);
}

.button-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .72rem 1rem;
  border: 1px solid var(--amt-cyan);
  border-radius: var(--amt-radius-sm);
  color: var(--amt-text);
  text-decoration: none;
}

.intelligence-summary {
  margin: 1rem 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid color-mix(in srgb, var(--amt-gold) 70%, transparent);
  border-left: 5px solid var(--amt-gold);
  border-radius: var(--amt-radius-md);
  background: linear-gradient(135deg, rgba(28, 33, 91, .88), rgba(7, 35, 58, .94));
}
