@import url("../assets/fonts/source-fonts.css");
@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/newsreader-600.ttf") format("truetype");
}
@font-face {
  font-family: Sarabun;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/sarabun-500.ttf") format("truetype");
}
@font-face {
  font-family: Sarabun;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/sarabun-700.ttf") format("truetype");
}

/* Apply only to the component's own scope: nested Aegis scopes remain independent. */
[data-aegis] {
  /* Sapphire identity, warm gold mark — bright Day reading surfaces (revision 1.1.0). */
  --ag-paper: #f4f7fc;
  --ag-surface: #ffffff;
  --ag-raised: #e7edf7;
  --ag-ink: #101d2e;
  --ag-muted: #435066;
  --ag-line: #8a9ab4;
  --ag-soft: #d7e0ee;
  --ag-well: #eef3fb;
  --ag-link: #1d4fa0;
  --ag-primary: #c9973b;
  --ag-primary-ink: #241a06;
  --ag-selected: #123a72;
  --ag-on-selected: #fbf6ea;
  --ag-threshold: #c9973b;
  --ag-focus: #1d4fa0;
  --ag-positive: #146c42;
  --ag-negative: #a3272c;
  --ag-warning: #8a4b0d;
  --ag-series-current: #1d4fa0;
  --ag-series-compare: #6b7686;
  /* Vivid, stable revenue categories — kept apart from semantic status roles. */
  --ag-cat-rooms: #2354c7;
  --ag-cat-banquet: #7c3fb0;
  --ag-cat-other: #c1552f;
  --ag-cat-plaza: #0f8f7e;
  /* Sapphire identity field, for the masthead/centrepiece sweep only. */
  --ag-sapphire: #123a72;
  --ag-sapphire-deep: #0b294f;
  --ag-sapphire-ink: #fbf6ea;
  --ag-gold: #c9973b;
  --ag-gold-deep: #a87826;
  --ag-radius: 4px;
  --ag-space-1: 4px;
  --ag-space-2: 8px;
  --ag-space-3: 12px;
  --ag-space-4: 16px;
  --ag-space-6: 24px;
  --ag-space-8: 32px;
  /* Fibonacci relationships for the signature centrepiece, golden split and pictogram frames. */
  --ag-space-13: 13px;
  --ag-space-21: 21px;
  --ag-space-34: 34px;
  --ag-space-55: 55px;
  --ag-split-ratio: 1.618fr 1fr;
  --ag-ui: Anuphan, Arial, sans-serif;
  --ag-thai: Sarabun, Tahoma, sans-serif;
  --ag-display: Newsreader, Georgia, serif;
  background: var(--ag-paper);
  color: var(--ag-ink);
  color-scheme: light;
  font: 500 17px/1.55 var(--ag-thai);
}
[data-aegis][data-theme="night"] {
  /* Deep ink/sapphire Night — never a global inversion or a brown flattening. */
  --ag-paper: #0a1524;
  --ag-surface: #122238;
  --ag-raised: #1a3253;
  --ag-ink: #eef3fb;
  --ag-muted: #b7c4dc;
  --ag-line: #44577c;
  --ag-soft: #253c60;
  --ag-well: #0f1d32;
  --ag-link: #7fa8f2;
  --ag-focus: #9dc0f6;
  --ag-positive: #8ed7ab;
  --ag-negative: #ff9d92;
  --ag-warning: #f2b673;
  --ag-series-current: #7fa8f2;
  --ag-series-compare: #a7b3c6;
  /* Night category colours are re-tested for luminance, not the Day hue moved verbatim. */
  --ag-cat-rooms: #7ea3f2;
  --ag-cat-banquet: #c298ee;
  --ag-cat-other: #f0916a;
  --ag-cat-plaza: #57d0bd;
  --ag-sapphire: #0d1e38;
  --ag-sapphire-deep: #050d1c;
  --ag-sapphire-ink: #f5ead2;
  --ag-gold: #e0b563;
  --ag-gold-deep: #b98a3d;
  /* Night selection reverses to warm gold-on-ink: sapphire-on-sapphire would lose contrast. */
  --ag-selected: #d9ad5c;
  --ag-on-selected: #241a06;
  --ag-threshold: #e0b563;
  --ag-primary: #e0b563;
  color-scheme: dark;
}
[data-aegis] *,
[data-aegis] *::before,
[data-aegis] *::after {
  box-sizing: border-box;
}
[data-aegis] button,
[data-aegis] input,
[data-aegis] select,
[data-aegis] textarea {
  font: inherit;
}
[data-aegis] a:not(.ag-button) {
  color: var(--ag-link);
}
[data-aegis] :focus-visible {
  outline: 2px solid var(--ag-focus);
  outline-offset: 3px;
}
.ag-sr {
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.ag-skip:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  left: 16px;
  padding: 12px;
  position: fixed;
  top: 16px;
  width: auto;
  z-index: 4;
  background: var(--ag-surface);
}
.ag-shell {
  margin: auto;
  max-width: 1584px;
  padding: var(--ag-space-4);
}
.ag-masthead {
  align-items: center;
  border-bottom: 3px solid var(--ag-threshold);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ag-space-4);
  min-height: 104px;
  padding: var(--ag-space-4) 0;
}
/* The signature identity band. The one dominant concave sweep lives on a single content
   surface per page (.ag-surface--signature below), not as a band across this whole edge —
   a full-width band read as a flat symmetric hill, not the settled asymmetric corner. */
.ag-masthead--signature {
  background:
    radial-gradient(120% 160% at 10% -20%, rgb(255 255 255 / 0.16), transparent 55%),
    linear-gradient(135deg, var(--ag-sapphire) 0%, var(--ag-sapphire-deep) 100%);
  border-bottom: 3px solid var(--ag-threshold);
  color: var(--ag-sapphire-ink);
  padding: var(--ag-space-21) var(--ag-space-21) var(--ag-space-13);
  position: relative;
}
.ag-masthead--signature .ag-brand-subline,
.ag-masthead--signature .ag-account {
  color: rgb(251 246 234 / 0.72);
}
.ag-masthead--signature .ag-account small {
  color: var(--ag-sapphire-ink);
}
/* One dominant signature surface per page: an asymmetric, isolated corner wedge — the settled
   inward-curve language — echoed at small scale only by the existing bookmark/evidence markers.
   Decorative and non-content: it sits behind the surface's own text via z-index, never over it. */
.ag-surface--signature {
  overflow: hidden;
  position: relative;
}
.ag-surface--signature > * {
  position: relative;
  z-index: 1;
}
/* Narrow widths (and any longer kicker/heading) must reserve real layout space beside the
   corner, not merely rely on z-index: a wrapped line can still sit at the same height as the
   corner and read as glyphs on dark artwork. Reserve exactly the corner's own rendered width,
   at the same breakpoint the golden split stacks at, so nothing is ever hidden or clipped. */
@media (max-width: 720px) {
  .ag-surface--signature > .ag-kicker,
  .ag-surface--signature > .ag-title {
    padding-right: clamp(128px, 26vw, 224px);
  }
}
.ag-signature-corner {
  -webkit-mask-image: url("../assets/brand/signature-corner.svg");
  -webkit-mask-position: top right;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background:
    radial-gradient(160% 160% at 100% 0%, rgb(255 255 255 / 0.14), transparent 60%),
    linear-gradient(155deg, var(--ag-sapphire) 0%, var(--ag-sapphire-deep) 100%);
  height: clamp(96px, 20vw, 172px);
  mask-image: url("../assets/brand/signature-corner.svg");
  mask-position: top right;
  mask-repeat: no-repeat;
  mask-size: contain;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: clamp(128px, 26vw, 224px);
  z-index: 0;
}
.ag-signature-corner::after {
  -webkit-mask-image: url("../assets/brand/keeper-ink.svg");
  -webkit-mask-position: 62% 42%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 46%;
  background: rgb(255 255 255 / 0.16);
  content: "";
  inset: 0;
  mask-image: url("../assets/brand/keeper-ink.svg");
  mask-position: 62% 42%;
  mask-repeat: no-repeat;
  mask-size: 46%;
  position: absolute;
}
.ag-mark {
  height: 58px;
  width: 58px;
}
.ag-masthead--signature .ag-mark {
  filter: drop-shadow(0 1px 0 rgb(0 0 0 / 0.25));
}
/* The gold mark on a sapphire masthead: keeper-ink.svg's exact, untouched silhouette geometry
   used as a mask so it can be gold (no tile), themed per Day/Night, with no new creature. */
.ag-mark--signature {
  -webkit-mask-image: url("../assets/brand/keeper-ink.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background: var(--ag-gold);
  display: inline-block;
  mask-image: url("../assets/brand/keeper-ink.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.ag-brand {
  font: 600 clamp(36px, 5vw, 64px) / 0.9 var(--ag-display);
  letter-spacing: -0.03em;
  margin: 0;
}
.ag-brand-subline,
.ag-account,
.ag-kicker,
.ag-stamp {
  color: var(--ag-muted);
  font: 600 0.8em/1.25 var(--ag-ui);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ag-account {
  margin-left: auto;
  text-align: right;
}
.ag-account small {
  display: block;
  font: 500 1em/1.4 var(--ag-thai);
  letter-spacing: 0;
  text-transform: none;
}
.ag-nav,
.ag-tabs,
.ag-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ag-nav {
  border-bottom: 1px solid var(--ag-soft);
  padding: 12px 0;
}
.ag-button,
.ag-nav a,
.ag-tabs button {
  align-items: center;
  background: var(--ag-surface);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius);
  color: var(--ag-ink);
  cursor: pointer;
  display: inline-flex;
  font: 600 0.8em/1.2 var(--ag-ui);
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  text-decoration: none;
}
.ag-button--primary {
  background: var(--ag-primary);
  border-color: #a87826;
  color: var(--ag-primary-ink);
}
.ag-button--quiet {
  border: 0;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ag-button--danger {
  border-color: currentColor;
  color: var(--ag-negative);
}
.ag-icon-button {
  padding: 0;
  width: 44px;
}
.ag-button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}
.ag-tabs button[aria-selected="true"],
.ag-nav a[aria-current="page"],
[data-ag-theme][aria-pressed="true"] {
  background: var(--ag-selected);
  border-color: var(--ag-selected);
  box-shadow: inset 3px 0 var(--ag-threshold);
  color: var(--ag-on-selected);
}
.ag-grid {
  display: grid;
  gap: var(--ag-space-4);
}
.ag-grid--metrics {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.ag-grid--two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.ag-grid--three {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
/* Main analysis/support split, 1.618:1 after gutter — a composition tool, not a snap grid for marks. */
.ag-split {
  align-items: start;
  display: grid;
  gap: var(--ag-space-21);
  grid-template-columns: var(--ag-split-ratio);
}
@media (max-width: 720px) {
  .ag-split {
    grid-template-columns: 1fr;
  }
}
.ag-cat-rooms {
  color: var(--ag-cat-rooms);
}
.ag-cat-banquet {
  color: var(--ag-cat-banquet);
}
.ag-cat-other {
  color: var(--ag-cat-other);
}
.ag-cat-plaza {
  color: var(--ag-cat-plaza);
}
.ag-bar.ag-cat-rooms i,
.ag-bar i.ag-cat-rooms {
  background: var(--ag-cat-rooms);
}
.ag-bar.ag-cat-banquet i,
.ag-bar i.ag-cat-banquet {
  background: var(--ag-cat-banquet);
}
.ag-bar.ag-cat-other i,
.ag-bar i.ag-cat-other {
  background: var(--ag-cat-other);
}
.ag-bar.ag-cat-plaza i,
.ag-bar i.ag-cat-plaza {
  background: var(--ag-cat-plaza);
}
.ag-pictogram {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
}
.ag-pictogram--dense {
  height: 24px;
  width: 24px;
}
.ag-category-row {
  align-items: center;
  display: flex;
  gap: var(--ag-space-3);
}
.ag-surface {
  background: var(--ag-surface);
  border: 1px solid var(--ag-soft);
  padding: var(--ag-space-6);
}
.ag-surface--raised,
.ag-metric {
  background: var(--ag-raised);
}
.ag-surface--reading {
  border-left: 3px solid var(--ag-threshold);
}
.ag-metric {
  border-top: 3px solid var(--ag-threshold);
  padding: 16px;
}
.ag-well {
  background: var(--ag-well);
  border-left: 3px solid var(--ag-threshold);
  padding: 16px;
}
.ag-title {
  font: 700 clamp(32px, 4vw, 54px) / 1.02 var(--ag-thai);
  margin: 8px 0 16px;
}
.ag-title [lang="en"] {
  color: var(--ag-muted);
  display: block;
  font: 600 0.52em/1.1 var(--ag-display);
  margin-top: 8px;
}
.ag-value {
  font: 600 clamp(36px, 5vw, 68px) / 1 var(--ag-display);
  font-variant-numeric: tabular-nums;
  margin: 8px 0;
  white-space: nowrap;
}
.ag-negative {
  color: var(--ag-negative);
}
.ag-positive {
  color: var(--ag-positive);
}
.ag-unknown {
  color: var(--ag-muted);
  font-style: italic;
}
.ag-field {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
}
.ag-field label {
  font-weight: 700;
}
.ag-input {
  background: var(--ag-surface);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius);
  color: var(--ag-ink);
  min-height: 44px;
  padding: 9px 12px;
  width: 100%;
}
.ag-input[aria-invalid="true"] {
  border: 2px solid var(--ag-negative);
}
.ag-field-error {
  color: var(--ag-negative);
  min-height: 1.45em;
}
.ag-error-summary {
  background: color-mix(in srgb, var(--ag-negative) 10%, var(--ag-surface));
  border-left: 3px solid var(--ag-negative);
  margin-bottom: 16px;
  padding: 12px;
}
.ag-error-summary:empty {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}
.ag-check {
  align-items: center;
  display: flex;
  gap: 8px;
  min-height: 44px;
}
.ag-check input {
  accent-color: var(--ag-selected);
  height: 20px;
  width: 20px;
}
.ag-switch {
  appearance: none;
  background: var(--ag-line);
  border-radius: 99px;
  height: 28px;
  position: relative;
  width: 48px;
}
.ag-switch::after {
  background: var(--ag-surface);
  border-radius: 50%;
  content: "";
  height: 22px;
  left: 3px;
  position: absolute;
  top: 3px;
  transition: transform 0.15s;
  width: 22px;
}
.ag-switch:checked {
  background: var(--ag-selected);
}
.ag-switch:checked::after {
  transform: translateX(20px);
}
.ag-badge {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  display: inline-flex;
  font: 600 0.75em/1 var(--ag-ui);
  gap: 6px;
  padding: 5px 8px;
}
.ag-badge--warning {
  color: var(--ag-warning);
}
.ag-badge--error {
  color: var(--ag-negative);
}
.ag-badge--ok {
  color: var(--ag-positive);
}
.ag-state {
  background: var(--ag-well);
  border-left: 3px solid var(--ag-line);
  padding: 16px;
}
.ag-state--error {
  border-color: var(--ag-negative);
}
.ag-state--partial {
  border-color: var(--ag-warning);
}
.ag-toast {
  align-items: center;
  background: var(--ag-surface);
  border-left: 3px solid var(--ag-selected);
  bottom: 16px;
  box-shadow: 0 12px 30px #0003;
  display: flex;
  gap: 12px;
  max-width: 420px;
  padding: 16px;
  position: fixed;
  right: 16px;
  z-index: 3;
}
.ag-table-wrap {
  border: 1px solid var(--ag-soft);
  overflow-x: auto;
}
.ag-table {
  border-collapse: collapse;
  min-width: 620px;
  width: 100%;
}
.ag-table caption {
  font-weight: 700;
  padding: 12px;
  text-align: left;
}
.ag-table th,
.ag-table td {
  border-bottom: 1px solid var(--ag-soft);
  padding: 12px;
  text-align: left;
}
.ag-table th {
  background: var(--ag-raised);
  font: 600 0.75em/1.2 var(--ag-ui);
}
.ag-table th button {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
.ag-table th[aria-sort] button::after {
  content: " ↕";
}
.ag-table th[aria-sort="ascending"] button::after {
  content: " ↑";
}
.ag-table th[aria-sort="descending"] button::after {
  content: " ↓";
}
.ag-number {
  font-family: var(--ag-ui);
  font-variant-numeric: tabular-nums;
  text-align: right !important;
  white-space: nowrap;
}
.ag-pagination {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.ag-comparison {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--ag-soft);
  display: grid;
  font: inherit;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 0;
  text-align: left;
  width: 100%;
}
button.ag-comparison {
  cursor: pointer;
  color: inherit;
}
/* Detail 1: focusing/selecting a row outlines its matching chart mark, and the reverse. */
[data-ag-link-key].is-linked,
button.ag-comparison.is-linked {
  background: var(--ag-well);
  outline: 2px solid var(--ag-focus);
  outline-offset: 2px;
}
g[data-ag-link-key] {
  cursor: pointer;
}
g[data-ag-link-key]:focus-visible {
  outline: 2px solid var(--ag-focus);
  outline-offset: 2px;
}
.ag-bar {
  background: var(--ag-soft);
  height: 10px;
  margin-top: 7px;
}
.ag-bar i {
  background: var(--ag-series-current);
  display: block;
  height: 100%;
}
.ag-comparator {
  color: var(--ag-muted);
  font-family: var(--ag-ui);
}
.ag-chart {
  background: var(--ag-well);
  border: 1px solid var(--ag-soft);
  height: auto;
  width: 100%;
}
.ag-chart text {
  fill: var(--ag-ink);
  font: 14px var(--ag-ui);
}
.ag-chart .series-a {
  fill: var(--ag-series-current);
}
.ag-chart .series-b {
  fill: var(--ag-series-compare);
}
.ag-chart .ag-mark-ring {
  fill: none;
  stroke: var(--ag-focus);
  stroke-width: 3;
  opacity: 0;
}
g[data-ag-link-key].is-linked .ag-mark-ring {
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .ag-chart .ag-mark-ring {
    transition: opacity 120ms ease;
  }
}
.ag-scenario-caption {
  display: grid;
  font: 600 16px/1.4 var(--ag-ui);
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  margin: 12px 0;
}
.ag-scenario-caption div {
  border-top: 1px solid var(--ag-soft);
  padding-top: 8px;
}
.ag-scenario-caption dt {
  color: var(--ag-muted);
}
.ag-scenario-caption dd {
  font-variant-numeric: tabular-nums;
  margin: 2px 0 0;
}
.ag-calendar-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}
.ag-calendar-grid {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(7, 1fr);
}
.ag-calendar-weekday {
  color: var(--ag-muted);
  font: 600 0.72em/1.2 var(--ag-ui);
  padding: 8px 0;
  text-align: center;
}
.ag-calendar-grid button {
  background: var(--ag-surface);
  border: 1px solid var(--ag-soft);
  color: var(--ag-ink);
  cursor: pointer;
  min-height: 44px;
  padding: 2px;
  position: relative;
}
.ag-calendar-grid button[data-today="true"] {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--ag-threshold);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.ag-calendar-grid button[aria-pressed="true"] {
  background: var(--ag-well);
  box-shadow: inset 0 0 0 2px var(--ag-primary);
}
/* Detail 2: the selected day and its detail panel share a small gold bookmark corner. */
.ag-calendar-grid button[aria-pressed="true"]::after,
.ag-bookmark::before {
  background: var(--ag-gold);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  right: 3px;
  top: 0;
  width: 8px;
}
.ag-bookmark {
  padding-right: var(--ag-space-13);
  position: relative;
}
.ag-calendar-fallback {
  margin-top: 12px;
}
.ag-calendar-fallback label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
}
.ag-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.ag-breadcrumb li + li::before {
  color: var(--ag-muted);
  content: "/";
  margin-right: 8px;
}
dialog.ag-dialog {
  background: var(--ag-surface);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius);
  color: var(--ag-ink);
  max-width: min(560px, calc(100% - 32px));
  padding: 24px;
}
dialog.ag-dialog::backdrop {
  background: #0008;
}
/* Detail 3: an evidence view repeats the source record/period; the marker never means approved. */
.ag-evidence-marker {
  background: var(--ag-gold);
  border-radius: 2px;
  clip-path: polygon(0 0, 100% 0, 100% 65%, 50% 100%, 0 65%);
  display: none;
  flex-shrink: 0;
  height: 12px;
  width: 9px;
}
[data-ag-evidence-row].is-evidence-open .ag-evidence-marker {
  display: inline-block;
}
.ag-evidence-print-ref {
  display: none;
}
.ag-evidence-source {
  color: var(--ag-muted);
  font: 600 0.85em/1.4 var(--ag-ui);
}
@media (min-width: 900px) {
  [data-aegis] {
    font-size: 18px;
  }
  .ag-shell {
    padding: 24px;
  }
  .ag-surface {
    padding: 32px;
  }
  .ag-ledger {
    grid-column: 1 / -1;
  }
}
@media (min-width: 1600px) {
  [data-aegis] {
    font-size: 19px;
  }
  .ag-shell {
    padding: 32px;
  }
}
@media (min-width: 1800px) {
  [data-aegis] {
    font-size: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-aegis] *,
  [data-aegis] *::before,
  [data-aegis] *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
@media print {
  [data-aegis] {
    --ag-paper: #fff;
    --ag-surface: #fff;
    --ag-raised: #f0f0f0;
    --ag-ink: #20242a;
    --ag-muted: #4b5560;
    --ag-line: #9aa1a8;
    --ag-soft: #dde1e4;
    --ag-well: #eef0f2;
    --ag-link: #305ab0;
    --ag-positive: #185c3d;
    --ag-negative: #9d2930;
    --ag-warning: #824213;
    --ag-cat-rooms: #1d3f8f;
    --ag-cat-banquet: #5c2f8a;
    --ag-cat-other: #8f3f22;
    --ag-cat-plaza: #0b6a5e;
    background: #fff !important;
    color: #20242a !important;
  }
  .ag-nav,
  .ag-actions,
  .ag-theme {
    display: none !important;
  }
  .ag-surface {
    break-inside: avoid;
  }
  /* Print substitutes flat ink for the enamel sweep and drops purely interactive markers. */
  .ag-masthead--signature {
    background: none !important;
    border-bottom: 3px solid #20242a;
    color: #20242a !important;
  }
  .ag-masthead--signature .ag-brand-subline,
  .ag-masthead--signature .ag-account,
  .ag-masthead--signature .ag-account small {
    color: #4b5560 !important;
  }
  .ag-mark--signature {
    background: #20242a !important;
  }
  .ag-signature-corner,
  .ag-evidence-marker,
  .ag-calendar-grid button[aria-pressed="true"]::after,
  .ag-bookmark::before {
    display: none !important;
  }
  .ag-evidence-print-ref {
    display: inline;
  }
}
