/* AMG reporting theme. Load after each page's local stylesheet.
   Supplied square brand artwork is displayed intact, without cropping or recoloring.
   Blue marks actions/selection; cyan supports data; gold is a restrained accent.
   Warning text uses dark amber, never the low-contrast gold artwork color. */
:root {
  --amg-blue: #063BE5;
  --amg-deep-blue: #0833B8;
  --amg-cyan: #11B9E9;
  --amg-gold: #F5B85B;
  --amg-cyan-ink: #076B88;
  --amg-warning: #774509;
  --amg-warning-bg: #FFF5E5;
  --bg: #F5F7FC;
  --paper: #FFFFFF;
  --surface: var(--paper);
  --white: var(--paper);
  --ink: #172642;
  --muted: #506078;
  --line: #CED7E6;
  --border: var(--line);
  --subtle: #EDF2FA;
  --soft: #EAF0FF;
  --accent: var(--amg-blue);
  --primary: var(--amg-blue);
  --blue: var(--amg-blue);
  --navy: var(--amg-deep-blue);
  --teal: var(--amg-blue);
  --teal-bg: var(--soft);
  --cyan: var(--amg-cyan);
  --gold: var(--amg-gold);
  --warn: var(--amg-warning);
  --warnbg: var(--amg-warning-bg);
  --orange: var(--amg-warning);
  --orange-bg: var(--amg-warning-bg);
  --bad: #AB283B;
  --danger: var(--bad);
  --overlay: rgb(23 38 66 / 55%);
  --radius: 8px;
  --r: var(--radius);
  --ease: cubic-bezier(.25,1,.5,1);
}
body { background: var(--bg); color: var(--ink); }
header, .header { background: var(--paper); border-bottom-color: var(--line); }
.brand { display: flex; align-items: center; gap: 16px; min-width: 0; white-space: normal; }
.brand > div { min-width: 0; }
.brand strong { color: var(--ink); }
.brand small, .brand p { display: block; color: var(--muted); font-size: .875rem; line-height: 1.5; margin: 4px 0 0; font-weight: 400; }
.amg-logo { display: block; width: 80px; height: 80px; aspect-ratio: 1; object-fit: contain; flex: 0 0 auto; }
header nav a, .page-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--amg-deep-blue); }
header nav a[aria-current=page], .page-nav a[aria-current=page] { color: var(--paper); background: var(--amg-blue); }
header nav a:hover, .page-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
header nav a[aria-current=page]:hover { background: var(--amg-deep-blue); }
.primary, button.primary { background: var(--amg-blue); color: var(--paper); border-color: var(--amg-blue); }
.primary:hover, button.primary:hover { background: var(--amg-deep-blue); color: var(--paper); }
.group-nav button[aria-pressed=true], .feature-button[aria-pressed=true] { background: var(--soft); color: var(--amg-deep-blue); }
.seat.selected { outline-color: var(--amg-blue); }
.notice, .demo-banner, .tag.warn { background: var(--amg-warning-bg); color: var(--amg-warning); }
.chart-outstanding, .local-chart-bar.disconnected { background: var(--amg-warning); }
.chart-received { background: var(--amg-blue); }
.chart-inactive { background: var(--muted); }
a { text-underline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--amg-deep-blue); outline-offset: 3px; }
input, select, textarea { font-size: 1rem; }
::placeholder { color: var(--muted); opacity: 1; }
button:disabled, .primary:disabled { color: var(--muted); background: var(--subtle); border-color: var(--line); }
h1, h2, h3 { text-wrap: balance; }
.summary-status { margin-block: 16px; color: var(--muted); }
.summary-status[data-state=error] { color: var(--bad); }
.summary-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 16px; }
.summary-controls .field { flex: 1; }
@media (max-width: 640px) {
  .amg-logo { width: 64px; height: 64px; }
  .brand { gap: 12px; }
  header nav, .page-nav { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  header nav a, .page-nav a { min-width: 0; padding: 8px; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  button:hover, button:active, nav a:hover { transform: none; }
}
