/* Tax Genius permanent compatibility shell. Keep this file dependency-free. */
:root {
  color-scheme: light;
  --tg-shell-navy: #10233f;
  --tg-shell-gold: #b08d2f;
  --tg-shell-text: #111827;
  --tg-shell-muted: #64748b;
  --tg-shell-border: #dbe3ec;
  --tg-shell-bg: #ffffff;
}

*, *::before, *::after { box-sizing: border-box; }
html { width: 100%; min-height: 100%; overflow-x: hidden; background: var(--tg-shell-bg); }
body { margin: 0; width: 100%; min-height: 100vh; overflow-x: hidden; background: var(--tg-shell-bg); color: var(--tg-shell-text); font-family: Arial, Helvetica, system-ui, sans-serif; }
#root { width: 100%; min-height: 100vh; overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, select, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--tg-shell-gold); outline-offset: 2px; }

#tg-static-loader {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #f8fafc;
  color: var(--tg-shell-navy);
}
.tg-static-loader-card {
  width: 100%;
  max-width: 460px;
  border: 1px solid var(--tg-shell-border);
  border-radius: 24px;
  padding: 30px 26px;
  text-align: center;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
}
.tg-static-loader-mark {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  margin: 0 auto 18px;
  border: 3px solid #e6d9af;
  border-top-color: var(--tg-shell-navy);
  animation: tg-shell-spin 1s linear infinite;
}
.tg-static-loader-kicker { margin: 0 0 8px; font-size: 11px; letter-spacing: 0.22em; font-weight: 800; text-transform: uppercase; color: var(--tg-shell-gold); }
.tg-static-loader-title { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 800; color: var(--tg-shell-navy); }
.tg-static-loader-text { margin: 12px auto 0; max-width: 340px; font-size: 14px; line-height: 1.7; color: var(--tg-shell-muted); }
@keyframes tg-shell-spin { to { transform: rotate(360deg); } }

/* Adaptive policy hooks. Business content must never depend on these selectors. */
html[data-tg-capability="core"] [data-tg-enhanced-only="true"],
html[data-tg-data="save"] [data-tg-decorative-media="true"] { display: none !important; }

html[data-tg-motion="reduce"] *,
html[data-tg-motion="reduce"] *::before,
html[data-tg-motion="reduce"] *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}
html[data-tg-motion="reduce"] .tg-static-loader-mark { animation: none; border-color: var(--tg-shell-navy); }

html[data-tg-transparency="reduce"] * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html[data-tg-contrast="more"] { filter: contrast(1.08); }
@media (forced-colors: active) {
  * { forced-color-adjust: auto; }
  .tg-static-loader-card { border: 2px solid CanvasText; box-shadow: none; }
}

html[data-tg-capability="core"] .tg-adaptive-optional,
html[data-tg-data="save"] .tg-adaptive-optional { display: none !important; }

@media (max-width: 640px) {
  .tg-static-loader-card { border-radius: 18px; padding: 24px 18px; }
  .tg-static-loader-title { font-size: 21px; }
}
