/*
 * Entitlements console — the standalone operator skin.
 *
 * A plain stylesheet rather than styled-components or the MUI theme, and that
 * is the point: this console is not a page inside the product, it is a separate
 * operator tool that happens to be served by the same app. Carrying the design
 * across as CSS keeps it reviewable against the prototype it came from, one
 * rule at a time, instead of re-expressing 235 rules as component props.
 *
 * EVERY RULE IS SCOPED UNDER `.ec-root`. The prototype styled bare `body`,
 * `table`, `thead th` and `:focus-visible`; unscoped, those would repaint the
 * rest of the app the moment this chunk loaded. The custom properties live on
 * `.ec-root` too, so the app's own theme tokens are untouched.
 *
 * Theme: the prototype toggled `data-theme` on <html>. Here the tokens live on
 * `.ec-root`, so the toggle stamps the attribute on THAT element — the console
 * can be dark while the rest of the app is light, which is correct for a tool
 * that opens in its own tab.
 */
.ec-root {
  --ground: #f1f3f6;
  --surface: #ffffff;
  --surface-2: #f7f8fa;
  --ink: #141a24;
  --ink-2: #5a6478;
  --ink-3: #8d95a6;
  --line: #dde1e9;
  --line-strong: #c3cad6;
  --accent: #1b2a4a;
  --accent-ink: #ffffff;
  --focus: #3f6fd8;
  --ok: #14795b;
  --ok-bg: #e4f4ee;
  --warn: #8a5c07;
  --warn-bg: #fbf0dc;
  --crit: #ad2a20;
  --crit-bg: #fbe8e6;
  /* "watching" — computing the answer, acting on nothing. Deliberately cool:
       it is not a warning, it is an observation. */
  --watch: #3a5f9e;
  --watch-bg: #e6edf9;
  --p-essential: #34875a;
  --p-essential-bg: #e6f4ea;
  --p-pro: #6249bf;
  --p-pro-bg: #ebe7fa;
  --p-enterprise: #b4467f;
  --p-enterprise-bg: #f9e5ef;
  --shadow:
    0 1px 2px rgba(20, 26, 36, 0.06), 0 8px 24px -12px rgba(20, 26, 36, 0.18);
  --radius: 6px;
  --mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
    monospace;
  --sans:
    ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  .ec-root {
    --ground: #0e1219;
    --surface: #161b25;
    --surface-2: #1c222e;
    --ink: #e7ebf3;
    --ink-2: #99a3b6;
    --ink-3: #6b7488;
    --line: #262d3b;
    --line-strong: #38414f;
    --accent: #cdd8ef;
    --accent-ink: #10141c;
    --focus: #7fa4f0;
    --ok: #4ecfa4;
    --ok-bg: #102c25;
    --warn: #e0ac4a;
    --warn-bg: #2f2413;
    --crit: #f2867c;
    --crit-bg: #331714;
    --watch: #8fb0ea;
    --watch-bg: #15203a;
    --p-essential: #6ecf8c;
    --p-essential-bg: #14301f;
    --p-pro: #a693f0;
    --p-pro-bg: #211b3a;
    --p-enterprise: #ee8abc;
    --p-enterprise-bg: #331426;
    --shadow:
      0 1px 2px rgba(0, 0, 0, 0.4), 0 10px 30px -14px rgba(0, 0, 0, 0.7);
  }
}
.ec-root[data-theme="dark"] {
  --ground: #0e1219;
  --surface: #161b25;
  --surface-2: #1c222e;
  --ink: #e7ebf3;
  --ink-2: #99a3b6;
  --ink-3: #6b7488;
  --line: #262d3b;
  --line-strong: #38414f;
  --accent: #cdd8ef;
  --accent-ink: #10141c;
  --focus: #7fa4f0;
  --ok: #4ecfa4;
  --ok-bg: #102c25;
  --warn: #e0ac4a;
  --warn-bg: #2f2413;
  --crit: #f2867c;
  --crit-bg: #331714;
  --watch: #8fb0ea;
  --watch-bg: #15203a;
  --p-essential: #6ecf8c;
  --p-essential-bg: #14301f;
  --p-pro: #a693f0;
  --p-pro-bg: #211b3a;
  --p-enterprise: #ee8abc;
  --p-enterprise-bg: #331426;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 10px 30px -14px rgba(0, 0, 0, 0.7);
}
.ec-root[data-theme="light"] {
  --ground: #f1f3f6;
  --surface: #ffffff;
  --surface-2: #f7f8fa;
  --ink: #141a24;
  --ink-2: #5a6478;
  --ink-3: #8d95a6;
  --line: #dde1e9;
  --line-strong: #c3cad6;
  --accent: #1b2a4a;
  --accent-ink: #ffffff;
  --focus: #3f6fd8;
  --ok: #14795b;
  --ok-bg: #e4f4ee;
  --warn: #8a5c07;
  --warn-bg: #fbf0dc;
  --crit: #ad2a20;
  --crit-bg: #fbe8e6;
  --watch: #3a5f9e;
  --watch-bg: #e6edf9;
  --p-essential: #34875a;
  --p-essential-bg: #e6f4ea;
  --p-pro: #6249bf;
  --p-pro-bg: #ebe7fa;
  --p-enterprise: #b4467f;
  --p-enterprise-bg: #f9e5ef;
  --shadow:
    0 1px 2px rgba(20, 26, 36, 0.06), 0 8px 24px -12px rgba(20, 26, 36, 0.18);
}
.ec-root * {
  box-sizing: border-box;
}
.ec-root {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.ec-root .wrap {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 24px 96px;
}
.ec-root .proto {
  background: var(--warn-bg);
  color: var(--warn);
  border-bottom: 1px solid color-mix(in srgb, var(--warn) 28%, transparent);
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 7px 24px;
  text-align: center;
}
/* ---------- masthead ---------- */
.ec-root .mast {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.ec-root .mast-in {
  max-width: 1360px;
  margin: 0 auto;
  padding: 22px 24px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.ec-root .mast h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.ec-root .mast p {
  margin: 4px 0 0;
  color: var(--ink-2);
  font-size: 13px;
  max-width: 62ch;
}
.ec-root .mast-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ec-root .mast-meta {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--ink-3);
  text-align: right;
  line-height: 1.7;
  white-space: nowrap;
}
.ec-root .bell {
  appearance: none;
  cursor: pointer;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: 7px 12px 7px 11px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.ec-root .bell:hover {
  background: var(--surface-2);
}
.ec-root .bell-badge {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1;
  background: var(--line-strong);
  color: var(--ink-2);
  border-radius: 20px;
  padding: 3px 6px;
  font-variant-numeric: tabular-nums;
}
.ec-root .bell-badge[data-sev="crit"] {
  background: var(--crit);
  color: var(--crit-bg);
}
.ec-root .bell-badge[data-sev="warn"] {
  background: var(--warn);
  color: var(--warn-bg);
}
/* ---------- flyout: anchored under the bell, fills remaining viewport ---------- */
.ec-root .flyout {
  position: fixed;
  z-index: 46;
  width: min(430px, calc(100vw - 32px));
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: none;
  flex-direction: column;
  overflow: hidden;
}
.ec-root .flyout[data-open="1"] {
  display: flex;
}
.ec-root .fly-hd {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ec-root .fly-t {
  font-size: 14px;
  font-weight: 600;
}
.ec-root .fly-bd {
  overflow-y: auto;
  flex: 1 1 auto;
}
.ec-root .note {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 11px;
  align-items: flex-start;
}
.ec-root .note:last-child {
  border-bottom: 0;
}
.ec-root .note-rail {
  width: 3px;
  align-self: stretch;
  border-radius: 3px;
  flex: none;
  background: var(--line-strong);
}
.ec-root .note[data-sev="crit"] .note-rail {
  background: var(--crit);
}
.ec-root .note[data-sev="warn"] .note-rail {
  background: var(--warn);
}
.ec-root .note-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ec-root .note-t {
  font-size: 13px;
  font-weight: 550;
}
.ec-root .note-d {
  font-size: 12.5px;
  color: var(--ink-2);
}
.ec-root .note-acts {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.ec-root .fly-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--ink-3);
  font-size: 13px;
}
/* ---------- tiles ---------- */
.ec-root .tiles {
  display: grid;
  gap: 1px;
  background: var(--line);
  grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin: 22px 0 0;
}
.ec-root .tile {
  background: var(--surface);
  padding: 13px 15px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ec-root .tile-k {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.ec-root .tile-v {
  font-family: var(--mono);
  font-size: 25px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.ec-root .tile-n {
  font-size: 11.5px;
  color: var(--ink-2);
}
.ec-root .tile[data-sev="warn"] .tile-v,
.ec-root .tile[data-sev="warn"] .tile-n {
  color: var(--warn);
}
.ec-root .tile[data-sev="crit"] .tile-v,
.ec-root .tile[data-sev="crit"] .tile-n {
  color: var(--crit);
}
/* ---------- tabs ---------- */
.ec-root .tabs {
  display: flex;
  gap: 2px;
  margin: 26px 0 0;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}
.ec-root .tab {
  appearance: none;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 13.5px;
  color: var(--ink-2);
  padding: 9px 14px 10px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.ec-root .tab:hover {
  color: var(--ink);
}
.ec-root .tab[aria-selected="true"] {
  color: var(--ink);
  border-bottom-color: var(--accent);
  font-weight: 550;
}
.ec-root .tab-n {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink-3);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 0 6px;
  font-variant-numeric: tabular-nums;
}
.ec-root .tab[data-tab="beta"][aria-selected="true"] {
  border-bottom-color: var(--warn);
}
/* ---------- toolbar ---------- */
/* No top margin: `main.wrap` already carries padding-top, and the toolbar is
   the first child of almost every tab. The prototype needed the 18px because
   it had no container padding to sit inside. */
.ec-root .ec-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
.ec-root .bar-spacer {
  flex: 1 1 auto;
}
.ec-root input[type="search"],
.ec-root input[type="text"],
.ec-root input[type="date"],
.ec-root select,
.ec-root textarea {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: 7px 10px;
}
.ec-root input[type="search"] {
  min-width: 236px;
}
.ec-root textarea {
  resize: vertical;
  min-height: 62px;
  width: 100%;
}
.ec-root :focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 1px;
}
.ec-root .seg {
  display: flex;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  overflow: hidden;
}
.ec-root .seg button {
  appearance: none;
  border: 0;
  background: var(--surface);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 12.5px;
  color: var(--ink-2);
  padding: 6px 11px;
  border-right: 1px solid var(--line);
}
.ec-root .seg button:last-child {
  border-right: 0;
}
.ec-root .seg button[aria-pressed="true"] {
  background: var(--accent);
  color: var(--accent-ink);
}
/* A state you are in but cannot choose — shown, not hidden, so the set of
     states is visibly complete and the reason it is unavailable is legible. */
.ec-root .seg button[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}
.ec-root .seg button[disabled][aria-pressed="true"] {
  opacity: 1;
  background: var(--surface-2);
  color: var(--ink-2);
  font-style: italic;
}
.ec-root .btn {
  appearance: none;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  background: var(--accent);
  color: var(--accent-ink);
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  padding: 7px 13px;
}
.ec-root .btn-ghost {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line-strong);
}
.ec-root .btn-ghost:hover {
  background: var(--surface-2);
}
.ec-root .ec-btn-danger {
  background: var(--crit);
  border-color: var(--crit);
  color: #fff;
}
.ec-root[data-theme="dark"] .ec-btn-danger {
  color: var(--crit-bg);
}
.ec-root .btn-sm {
  font-size: 12px;
  padding: 4px 9px;
}
.ec-root .btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}
/* ---------- table ---------- */
.ec-root .panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.ec-root .scroll {
  overflow-x: auto;
}
.ec-root table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
}
.ec-root thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-2);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 500;
  text-align: left;
  padding: 9px 14px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.ec-root tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.ec-root tbody tr:last-child td {
  border-bottom: 0;
}
.ec-root tbody tr[data-clickable]:hover {
  background: var(--surface-2);
  cursor: pointer;
}
.ec-root .num {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
}
.ec-root .empty {
  padding: 44px 20px;
  text-align: center;
  color: var(--ink-3);
  font-size: 13px;
}
.ec-root .right {
  text-align: right;
}
.ec-root .nowrap {
  white-space: nowrap;
}
.ec-root .fname {
  font-weight: 550;
}
.ec-root .fkey {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--ink-3);
}
.ec-root .cname {
  font-weight: 500;
}
.ec-root .reason {
  color: var(--ink-2);
  font-size: 12.5px;
  max-width: 36ch;
}
.ec-root .muted {
  color: var(--ink-3);
}
/* ---------- plan pips ---------- */
.ec-root .rungs {
  display: inline-flex;
  gap: 4px;
}
.ec-root .rung {
  appearance: none;
  width: 38px;
  height: 24px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border: 1px dashed var(--line-strong);
  background: var(--surface);
  color: var(--ink-3);
}
.ec-root .rung[aria-pressed="true"] {
  border-style: solid;
}
.ec-root .rung[aria-pressed="true"][data-plan="essential"] {
  background: var(--p-essential-bg);
  border-color: color-mix(in srgb, var(--p-essential) 42%, transparent);
  color: var(--p-essential);
}
.ec-root .rung[aria-pressed="true"][data-plan="pro"] {
  background: var(--p-pro-bg);
  border-color: color-mix(in srgb, var(--p-pro) 42%, transparent);
  color: var(--p-pro);
}
.ec-root .rung[aria-pressed="true"][data-plan="enterprise"] {
  background: var(--p-enterprise-bg);
  border-color: color-mix(in srgb, var(--p-enterprise) 42%, transparent);
  color: var(--p-enterprise);
}
.ec-root .rung-live {
  cursor: pointer;
}
.ec-root .rung-live:hover {
  border-style: solid;
  color: var(--ink);
}
.ec-root .rung-changed {
  box-shadow: 0 0 0 2px var(--focus);
}
/* Legacy and the old ladder sit outside the new plans — separated by one
   divider element, not coloured in. */
.ec-root .rung-divider {
  width: 1px;
  height: 16px;
  background: var(--line-strong);
  align-self: center;
  margin: 0 3px;
  flex: none;
}
.ec-root .rungs {
  position: relative;
}
.ec-root .rung[aria-pressed="true"][data-plan="legacy"] {
  background: var(--surface-2);
  border-color: var(--line-strong);
  color: var(--ink-2);
}
/* ---------- chips ---------- */
.ec-root .chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.02em;
  border-radius: 20px;
  padding: 2px 9px;
  white-space: nowrap;
  border: 1px solid transparent;
}
.ec-root .chip-ga {
  background: var(--surface-2);
  color: var(--ink-2);
  border-color: var(--line);
}
.ec-root .chip-beta {
  background: var(--warn-bg);
  color: var(--warn);
  border-color: color-mix(in srgb, var(--warn) 26%, transparent);
}
.ec-root .chip-ok {
  background: var(--ok-bg);
  color: var(--ok);
  border-color: color-mix(in srgb, var(--ok) 26%, transparent);
}
.ec-root .chip-warn {
  background: var(--warn-bg);
  color: var(--warn);
  border-color: color-mix(in srgb, var(--warn) 26%, transparent);
}
.ec-root .chip-crit {
  background: var(--crit-bg);
  color: var(--crit);
  border-color: color-mix(in srgb, var(--crit) 26%, transparent);
}
.ec-root .chip-watch {
  background: var(--watch-bg);
  color: var(--watch);
  border-color: color-mix(in srgb, var(--watch) 30%, transparent);
}
.ec-root .chip-plan[data-plan="essential"] {
  background: var(--p-essential-bg);
  color: var(--p-essential);
  border-color: color-mix(in srgb, var(--p-essential) 30%, transparent);
}
.ec-root .chip-plan[data-plan="pro"] {
  background: var(--p-pro-bg);
  color: var(--p-pro);
  border-color: color-mix(in srgb, var(--p-pro) 30%, transparent);
}
.ec-root .chip-plan[data-plan="enterprise"] {
  background: var(--p-enterprise-bg);
  color: var(--p-enterprise);
  border-color: color-mix(in srgb, var(--p-enterprise) 30%, transparent);
}
.ec-root .chip-plan[data-plan="legacy"] {
  background: var(--surface-2);
  color: var(--ink-2);
  border-color: var(--line-strong);
}
.ec-root .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}
/* ---------- master switch strip ---------- */
.ec-root .sysbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: 13px 16px;
  margin: 22px 0 0;
}
.ec-root .sysbar[data-on="0"] {
  border-left: 3px solid var(--ink-3);
}
.ec-root .sysbar[data-on="1"] {
  border-left: 3px solid var(--ok);
}
.ec-root .sys-state {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.ec-root .sys-k {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.ec-root .sys-v {
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ec-root .sys-d {
  font-size: 12.5px;
  color: var(--ink-2);
  max-width: 74ch;
}
.ec-root .sys-flag {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--ink-3);
}
.ec-root .switch {
  appearance: none;
  cursor: pointer;
  flex: none;
  width: 46px;
  height: 26px;
  border-radius: 20px;
  position: relative;
  background: var(--line-strong);
  border: 1px solid var(--line-strong);
  padding: 0;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.ec-root .switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: transform 0.15s ease;
}
.ec-root .switch[aria-checked="true"] {
  background: var(--ok);
  border-color: var(--ok);
}
.ec-root .switch[aria-checked="true"]::after {
  transform: translateX(20px);
}
/* ---------- rollout tab ---------- */
.ec-root .rollout {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ec-root .rcard {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
}
.ec-root .rcard h3 {
  margin: 0 0 4px;
  font-size: 14.5px;
  font-weight: 600;
}
.ec-root .rcard p {
  margin: 0 0 12px;
  font-size: 12.5px;
  color: var(--ink-2);
  max-width: 78ch;
}
.ec-root .rcard p:last-child {
  margin-bottom: 0;
}
.ec-root .gates {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(268px, 1fr));
  margin-top: 4px;
}
.ec-root .gate {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 13px;
  background: var(--surface-2);
}
.ec-root .gate-t {
  font-size: 12.5px;
  font-weight: 550;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
}
.ec-root .gate-d {
  font-size: 12px;
  color: var(--ink-2);
}
.ec-root .gate-n {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--ink-3);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ec-root .bar-track {
  height: 8px;
  border-radius: 6px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  overflow: hidden;
  display: flex;
}
.ec-root .bar-seg {
  height: 100%;
}
.ec-root .bar-legend {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 9px;
  font-size: 12px;
  color: var(--ink-2);
}
.ec-root .bar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ec-root .bar-key {
  width: 9px;
  height: 9px;
  border-radius: 2px;
  flex: none;
}
/* ---------- bulk selection ---------- */
.ec-root .bulkbar {
  display: none;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  background: var(--watch-bg);
  border: 1px solid color-mix(in srgb, var(--watch) 30%, transparent);
  border-radius: var(--radius);
  padding: 9px 13px;
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--watch);
}
.ec-root .bulkbar[data-active="1"] {
  display: flex;
}
.ec-root .bulkbar .bulk-n {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ec-root .selcell {
  width: 34px;
}
.ec-root .selcell input {
  width: 15px;
  height: 15px;
  accent-color: var(--focus);
  cursor: pointer;
  display: block;
}
/* ---------- what the customer sees ---------- */
.ec-root .sees {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
}
.ec-root .sees svg {
  width: 13px;
  height: 13px;
  flex: none;
}
.ec-root .sees-normal {
  color: var(--ok);
}
.ec-root .sees-locked {
  color: var(--crit);
}
.ec-root .sees-hidden {
  color: var(--ink-3);
}
.ec-root .exc-link {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--ink);
  background: none;
  border: 0;
  border-bottom: 1px dashed var(--line-strong);
  cursor: pointer;
  padding: 0 0 1px;
}
.ec-root .exc-link:hover {
  border-bottom-style: solid;
}
.ec-root .exc-zero {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--ink-3);
}
/* ---------- plans grid ---------- */
.ec-root .plans {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(232px, 1fr));
}
.ec-root .plan-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.ec-root .plan-hd {
  padding: 13px 15px;
  border-bottom: 1px solid var(--line);
}
.ec-root .plan-card[data-plan="essential"] .plan-hd {
  background: var(--p-essential-bg);
}
.ec-root .plan-card[data-plan="pro"] .plan-hd {
  background: var(--p-pro-bg);
}
.ec-root .plan-card[data-plan="enterprise"] .plan-hd {
  background: var(--p-enterprise-bg);
}
.ec-root .plan-nm {
  font-size: 15px;
  font-weight: 600;
}
.ec-root .plan-card[data-plan="essential"] .plan-nm {
  color: var(--p-essential);
}
.ec-root .plan-card[data-plan="pro"] .plan-nm {
  color: var(--p-pro);
}
.ec-root .plan-card[data-plan="enterprise"] .plan-nm {
  color: var(--p-enterprise);
}
.ec-root .plan-sub {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink-2);
  margin-top: 2px;
}
.ec-root .plan-body {
  padding: 12px 15px 15px;
}
.ec-root .plan-grp {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 7px;
}
.ec-root .plan-li {
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 3px 0;
  font-size: 12.5px;
}
/* ---------- company detail ---------- */
.ec-root .facts {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 15px 17px;
  margin-bottom: 14px;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.ec-root .lk {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.ec-root .lk-k {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.ec-root .lk-v {
  font-size: 14px;
  font-weight: 550;
  overflow-wrap: anywhere;
}
.ec-root .lk-v.email {
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 400;
}
.ec-root .verdict {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
}
.ec-root .verdict-y {
  color: var(--ok);
}
.ec-root .verdict-n {
  color: var(--ink-3);
}
.ec-root .sec-h {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 22px 0 8px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.ec-root .sec-h::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}
.ec-root .crumb {
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
  font-family: var(--sans);
  font-size: 12.5px;
  color: var(--ink-2);
}
.ec-root .crumb:hover {
  color: var(--ink);
  text-decoration: underline;
}
.ec-root .cols2 {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
}
.ec-root .subtabs {
  margin: 4px 0 0;
}
.ec-root .copyrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ec-root .copy-btn {
  appearance: none;
  cursor: pointer;
  background: none;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 2px 4px;
  line-height: 0;
  color: var(--ink-3);
}
.ec-root .copy-btn:hover {
  color: var(--ink);
  background: var(--surface-2);
  border-color: var(--line);
}
.ec-root .copy-btn svg {
  width: 13px;
  height: 13px;
  display: block;
}
.ec-root .copy-btn[data-done="1"] {
  color: var(--ok);
}
.ec-root .inv-doc {
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.7;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 16px;
  overflow-x: auto;
}
.ec-root .inv-doc .row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.ec-root .inv-doc .rule {
  border-top: 1px solid var(--line-strong);
  margin: 8px 0;
}
.ec-root .inv-doc .tot {
  font-weight: 600;
}
/* ---------- drawer ---------- */
.ec-root .scrim {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 20, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  z-index: 40;
}
.ec-root .scrim[data-open="1"] {
  opacity: 1;
  pointer-events: auto;
}
.ec-root .drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(460px, 94vw);
  background: var(--surface);
  border-left: 1px solid var(--line);
  box-shadow: var(--shadow);
  z-index: 41;
  transform: translateX(100%);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
}
.ec-root .drawer[data-open="1"] {
  transform: translateX(0);
}
.ec-root .drawer-hd {
  padding: 17px 20px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  flex: none;
}
.ec-root .drawer-bd {
  padding: 17px 20px 30px;
  overflow-y: auto;
  flex: 1 1 auto;
}
.ec-root .drawer-ft {
  flex: none;
  padding: 12px 20px;
  border-top: 1px solid var(--line);
  background: var(--surface-2);
  display: none;
  align-items: center;
  gap: 9px;
}
.ec-root .drawer-ft[data-dirty="1"] {
  display: flex;
}
.ec-root .drawer-ft .ft-note {
  font-size: 12px;
  color: var(--warn);
  flex: 1 1 auto;
}
.ec-root .x {
  appearance: none;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 19px;
  line-height: 1;
  color: var(--ink-3);
  padding: 2px 5px;
}
.ec-root .x:hover {
  color: var(--ink);
}
.ec-root .dsec {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 20px 0 7px;
}
.ec-root .dsec:first-child {
  margin-top: 0;
}
.ec-root .drow {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 5px 0;
  border-bottom: 1px dotted var(--line);
  font-size: 12.5px;
  align-items: center;
}
.ec-root .drow:last-child {
  border-bottom: 0;
}
.ec-root .drow > span:first-child {
  color: var(--ink-2);
}
/* ---------- modal ---------- */
.ec-root .modal {
  position: fixed;
  z-index: 42;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%);
  width: min(560px, 94vw);
  max-height: 88vh;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.16s ease,
    transform 0.16s ease;
  display: flex;
  flex-direction: column;
}
.ec-root .modal[data-open="1"] {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
.ec-root .modal-hd {
  padding: 16px 19px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  font-weight: 600;
  flex: none;
}
.ec-root .modal-bd {
  padding: 17px 19px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  overflow-y: auto;
}
.ec-root .modal-ft {
  padding: 13px 19px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  align-items: center;
  flex: none;
}
.ec-root .field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ec-root .field label {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.ec-root .field-note {
  font-size: 11.5px;
  color: var(--ink-3);
}
.ec-root .hint {
  font-size: 12px;
  padding: 9px 11px;
  border-radius: var(--radius);
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
}
.ec-root .hint-warn {
  background: var(--warn-bg);
  border-color: color-mix(in srgb, var(--warn) 28%, transparent);
  color: var(--warn);
}
.ec-root .hint-crit {
  background: var(--crit-bg);
  border-color: color-mix(in srgb, var(--crit) 28%, transparent);
  color: var(--crit);
}
.ec-root .hint-ok {
  background: var(--ok-bg);
  border-color: color-mix(in srgb, var(--ok) 28%, transparent);
  color: var(--ok);
}
.ec-root .err {
  color: var(--crit);
  font-size: 12px;
  margin-right: auto;
}
.ec-root .cbox {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  padding: 5px 0;
  cursor: pointer;
}
.ec-root .cbox input {
  width: 15px;
  height: 15px;
  accent-color: var(--focus);
  flex: none;
}
.ec-root .cbox-txt {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.35;
}
.ec-root .cbox-nm {
  font-size: 13px;
}
.ec-root .picker {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 210px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 6px 10px 8px;
}
.ec-root .picker-search {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius) var(--radius) 0 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}
.ec-root .picker-empty {
  padding: 18px 4px;
  text-align: center;
  color: var(--ink-3);
  font-size: 12.5px;
}
.ec-root .picker-count {
  font-size: 11.5px;
  color: var(--ink-3);
}
.ec-root .name-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 3px;
}
.ec-root .name-list .nl-row {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 12.5px;
}
.ec-root .name-list .nl-row .fkey {
  font-size: 11px;
}
.ec-root .impact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ec-root .impact-line {
  font-size: 13.5px;
}
.ec-root .impact-list {
  font-size: 12.5px;
  color: var(--ink-2);
}
.ec-root .impact-list b {
  font-weight: 550;
  color: var(--ink);
}
/* ---------- toast ---------- */
.ec-root .toast {
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: 26px;
  transform: translate(-50%, 12px);
  background: var(--accent);
  color: var(--accent-ink);
  font-size: 13px;
  padding: 9px 16px;
  border-radius: 20px;
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
  max-width: min(620px, 92vw);
  text-align: center;
}
.ec-root .toast[data-open="1"] {
  opacity: 1;
  transform: translate(-50%, 0);
}
.ec-root .foot {
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--ink-3);
  font-size: 12px;
  max-width: 78ch;
}
.ec-root .foot code {
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--ink-2);
}
@media (prefers-reduced-motion: reduce) {
  .ec-root * {
    transition: none !important;
  }
}
/* --------------------------------------------------------------------------
 * Standalone-page additions. The prototype WAS the document, so it inherited
 * the viewport from `body`. Here `.ec-root` has to claim it explicitly, or the
 * console renders as a short box on the app's background.
 * ------------------------------------------------------------------------ */
.ec-root {
  min-height: 100vh;
  width: 100%;
}

/* The prototype's first child inside <main> was always a toolbar carrying
 * `margin: 18px 0 10px`. Tabs that render a bare .panel (Features, Flags) had
 * nothing to space them, so the table sat flush against the tab strip. */
.ec-root main.wrap {
  padding-top: 22px;
}

/* A company drawer holding five-column verdict tables cannot live at the
 * prototype's 460px. Widened rather than re-routed. */
.ec-root .drawer-wide {
  width: min(960px, 96vw);
}

/* --------------------------------------------------------------------------
 * THE ONE DELIBERATELY UNSCOPED RULE IN THIS FILE.
 *
 * The HelpScout support bubble is booted from application.html.erb into
 * #beacon-container, a direct child of <body>, so it survives dropping the
 * Navigation layout and floats over the console — a CUSTOMER support channel
 * on a page only TKC staff can open, sitting exactly where the toast appears.
 *
 * `body:has(.ec-root)` keeps it inert everywhere else: the rule only bites
 * while the console is actually mounted, and stops the moment it unmounts, so
 * Inertia navigation in either direction is handled with no JS and no cleanup.
 * An effect cannot do this — HelpScout injects the container asynchronously,
 * so on mount there is nothing to hide yet.
 * ------------------------------------------------------------------------ */
body:has(.ec-root) #beacon-container {
  display: none;
}

.swiper.g-swiper-slider{width:100%;height:100%;touch-action:pan-y pinch-zoom}.swiper.g-swiper-slider .swiper-pagination{bottom:0}.g-slider{overflow-anchor:none}.g-slider.fullscreen,.g-slider:fullscreen{z-index:1100;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;display:flex;flex-direction:column}.g-slider.fullscreen .g-swiper-slider,.g-slider:fullscreen .g-swiper-slider{flex:1;display:flex;flex-direction:column;min-height:0;height:100% !important}.g-slider.fullscreen .g-swiper-slider .swiper-wrapper,.g-slider:fullscreen .g-swiper-slider .swiper-wrapper{flex:1;min-height:0;height:100% !important}.g-slider.fullscreen .g-swiper-slider .swiper-slide,.g-slider:fullscreen .g-swiper-slider .swiper-slide{height:100%;display:flex;align-items:center;justify-content:center}.g-slider.fullscreen .video-frame,.g-slider:fullscreen .video-frame{width:100%;height:100%}.g-slider.fullscreen .video-frame iframe,.g-slider:fullscreen .video-frame iframe{position:absolute;width:100%;height:100%}.g-swiper-container-end{position:relative;text-align:right;z-index:11}
.video-js .vjs-poster img:-moz-broken{opacity:0}.video-js .vjs-poster img:not([src]),.video-js .vjs-poster img[src=""]{opacity:0}.video-js .vjs-poster picture:has(img:-moz-broken),.video-js .vjs-poster picture:has(img:not([src])),.video-js .vjs-poster picture:has(img[src=""]){display:none}[data-vjs-player]{width:100%;aspect-ratio:16/9}[data-vjs-player]>div{width:100%}[data-vjs-player]>div:first-child{height:100%}.video-js:not(.vjs-has-started) .vjs-control-bar,.video-js.vjs-layout-tiny:not(.vjs-has-started) .vjs-control-bar,.video-js.vjs-layout-x-small:not(.vjs-has-started) .vjs-control-bar,.video-js.vjs-layout-small:not(.vjs-has-started) .vjs-control-bar{opacity:1 !important;visibility:visible !important;display:flex !important;pointer-events:auto !important}.video-js{touch-action:pan-y pinch-zoom}.video-js video{touch-action:pan-y pinch-zoom}.video-js .vjs-playback-rate{display:flex !important}.video-js .vjs-playback-rate .vjs-menu .vjs-menu-content{max-height:none !important;overflow:visible !important}.video-js .vjs-quality-menu-wrapper:not(.vjs-hidden){display:flex !important}.video-js .vjs-quality-menu-button.vjs-resolution-locked{min-width:62px}.video-js .vjs-quality-menu-button.vjs-resolution-locked::after{content:attr(data-resolution-label);font-size:10px;font-weight:600;margin-left:4px;line-height:1}.video-js .vjs-custom-fullscreen-exit.vjs-fullscreen-control .vjs-icon-placeholder::before{content:"" !important}.video-js .vjs-fullscreen-control{-webkit-tap-highlight-color:hsla(0,0%,100%,.3);touch-action:auto;cursor:pointer;min-width:44px;min-height:44px}.video-js .vjs-progress-control{touch-action:pan-y pinch-zoom}.g-slider.fullscreen [data-vjs-player]{height:100% !important;aspect-ratio:auto !important}.g-slider.fullscreen [data-vjs-player]>div{height:100% !important}.g-slider.fullscreen .video-js,.g-slider.fullscreen .video-js.vjs-fluid,.g-slider.fullscreen .video-js.vjs-16-9,.g-slider.fullscreen .video-js.vjs-4-3,.vjs-layout-full-screen{width:100% !important;height:100% !important;max-height:100% !important;padding-top:0 !important}.g-slider.fullscreen .video-js .vjs-tech{width:100% !important;height:100% !important;object-fit:contain !important}
.row{margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.row-middle{align-items:center}.col{flex-grow:1;flex-basis:0;max-width:100%}.col-start{justify-content:flex-start;text-align:left}.col-center{justify-content:center;text-align:center}.col-end{justify-content:flex-end;text-align:right}.calendar{display:block;position:relative;width:100%;background:var(--neutral-color);border:1px solid var(--border-color)}.calendar .header{text-transform:uppercase;font-weight:700;font-size:115%;padding:1.5em 0;border-bottom:1px solid var(--border-color)}.calendar .header .icon{cursor:pointer;transition:.15s ease-out}.calendar .header .icon:hover{transform:scale(1.75);transition:.25s ease-out;color:var(--main-color)}.calendar .header .icon:first-of-type{margin-left:1em}.calendar .header .icon:last-of-type{margin-right:1em}.calendar .days{text-transform:uppercase;font-weight:400;color:var(--text-color-light);font-size:70%;padding:.75em 0;border-bottom:1px solid var(--border-color)}.calendar .body .cell{position:relative;min-height:9em;border-right:1px solid var(--border-color);overflow:hidden;cursor:pointer;background:var(--neutral-color);transition:.25s ease-out}.calendar .body .cell:hover{background:var(--bg-color);transition:.5s ease-out}.calendar .body .row{border-bottom:1px solid var(--border-color)}.calendar .body .row:last-child{border-bottom:none}.calendar .body .cell:last-child{border-right:none}.calendar .body .cell .number{position:absolute;font-size:82.5%;line-height:1;top:.75em;right:.75em;font-weight:700}.first{border-left:1px solid var(--border-color)}.calendar .body .disabled{border-right:none;background-color:#eee;cursor:default}.calendar .body .disabled:hover{background-color:#eee}.calendar .body .cell .bg{font-weight:700;line-height:1;color:var(--main-color);opacity:0;font-size:8em;position:absolute;top:-0.2em;right:-0.05em;transition:.25s ease-out;letter-spacing:-0.07em}.calendar .body .cell:hover .bg,.calendar .body .selected .bg{opacity:.05;transition:.5s ease-in}.calendar .body .col{flex-grow:1}
/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

:root {
  --react-pdf-annotation-layer: 1;
  --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");
  --input-focus-border-color: Highlight;
  --input-focus-outline: 1px solid Canvas;
  --input-unfocused-border-color: transparent;
  --input-disabled-border-color: transparent;
  --input-hover-border-color: black;
  --link-outline: none;
}

@media screen and (forced-colors: active) {
  :root {
    --input-focus-border-color: CanvasText;
    --input-unfocused-border-color: ActiveText;
    --input-disabled-border-color: GrayText;
    --input-hover-border-color: Highlight;
    --link-outline: 1.5px solid LinkText;
  }
  .annotationLayer .textWidgetAnnotation :is(input, textarea):required,
  .annotationLayer .choiceWidgetAnnotation select:required,
  .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
    outline: 1.5px solid selectedItem;
  }

  .annotationLayer .linkAnnotation:hover {
    backdrop-filter: invert(100%);
  }
}

.annotationLayer {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transform-origin: 0 0;
  z-index: 3;
}

.annotationLayer[data-main-rotation='90'] .norotate {
  transform: rotate(270deg) translateX(-100%);
}
.annotationLayer[data-main-rotation='180'] .norotate {
  transform: rotate(180deg) translate(-100%, -100%);
}
.annotationLayer[data-main-rotation='270'] .norotate {
  transform: rotate(90deg) translateY(-100%);
}

.annotationLayer canvas {
  position: absolute;
  width: 100%;
  height: 100%;
}

.annotationLayer section {
  position: absolute;
  text-align: initial;
  pointer-events: auto;
  box-sizing: border-box;
  margin: 0;
  transform-origin: 0 0;
}

.annotationLayer .linkAnnotation {
  outline: var(--link-outline);
}

.textLayer.selecting ~ .annotationLayer section {
  pointer-events: none;
}

.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {
  position: absolute;
  font-size: 1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a:hover {
  opacity: 0.2;
  background: rgba(255, 255, 0, 1);
  box-shadow: 0 2px 10px rgba(255, 255, 0, 1);
}

.annotationLayer .textAnnotation img {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.annotationLayer .textWidgetAnnotation :is(input, textarea),
.annotationLayer .choiceWidgetAnnotation select,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
  background-image: var(--annotation-unfocused-field-background);
  border: 2px solid var(--input-unfocused-border-color);
  box-sizing: border-box;
  font: calc(9px * var(--total-scale-factor)) sans-serif;
  height: 100%;
  margin: 0;
  vertical-align: top;
  width: 100%;
}

.annotationLayer .textWidgetAnnotation :is(input, textarea):required,
.annotationLayer .choiceWidgetAnnotation select:required,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {
  outline: 1.5px solid red;
}

.annotationLayer .choiceWidgetAnnotation select option {
  padding: 0;
}

.annotationLayer .buttonWidgetAnnotation.radioButton input {
  border-radius: 50%;
}

.annotationLayer .textWidgetAnnotation textarea {
  resize: none;
}

.annotationLayer .textWidgetAnnotation :is(input, textarea)[disabled],
.annotationLayer .choiceWidgetAnnotation select[disabled],
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {
  background: none;
  border: 2px solid var(--input-disabled-border-color);
  cursor: not-allowed;
}

.annotationLayer .textWidgetAnnotation :is(input, textarea):hover,
.annotationLayer .choiceWidgetAnnotation select:hover,
.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {
  border: 2px solid var(--input-hover-border-color);
}
.annotationLayer .textWidgetAnnotation :is(input, textarea):hover,
.annotationLayer .choiceWidgetAnnotation select:hover,
.annotationLayer .buttonWidgetAnnotation.checkBox input:hover {
  border-radius: 2px;
}

.annotationLayer .textWidgetAnnotation :is(input, textarea):focus,
.annotationLayer .choiceWidgetAnnotation select:focus {
  background: none;
  border: 2px solid var(--input-focus-border-color);
  border-radius: 2px;
  outline: var(--input-focus-outline);
}

.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {
  background-image: none;
  background-color: transparent;
}

.annotationLayer .buttonWidgetAnnotation.checkBox :focus {
  border: 2px solid var(--input-focus-border-color);
  border-radius: 2px;
  outline: var(--input-focus-outline);
}

.annotationLayer .buttonWidgetAnnotation.radioButton :focus {
  border: 2px solid var(--input-focus-border-color);
  outline: var(--input-focus-outline);
}

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after,
.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before {
  background-color: CanvasText;
  content: '';
  display: block;
  position: absolute;
}

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after {
  height: 80%;
  left: 45%;
  width: 1px;
}

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before {
  transform: rotate(45deg);
}

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after {
  transform: rotate(-45deg);
}

.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before {
  border-radius: 50%;
  height: 50%;
  left: 30%;
  top: 20%;
  width: 50%;
}

.annotationLayer .textWidgetAnnotation input.comb {
  font-family: monospace;
  padding-left: 2px;
  padding-right: 0;
}

.annotationLayer .textWidgetAnnotation input.comb:focus {
  /*
   * Letter spacing is placed on the right side of each character. Hence, the
   * letter spacing of the last character may be placed outside the visible
   * area, causing horizontal scrolling. We avoid this by extending the width
   * when the element has focus and revert this when it loses focus.
   */
  width: 103%;
}

.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {
  appearance: none;
}

.annotationLayer .popupTriggerArea {
  height: 100%;
  width: 100%;
}

.annotationLayer .fileAttachmentAnnotation .popupTriggerArea {
  position: absolute;
}

.annotationLayer .popupWrapper {
  position: absolute;
  font-size: calc(9px * var(--total-scale-factor));
  width: 100%;
  min-width: calc(180px * var(--total-scale-factor));
  pointer-events: none;
}

.annotationLayer .popup {
  position: absolute;
  max-width: calc(180px * var(--total-scale-factor));
  background-color: rgba(255, 255, 153, 1);
  box-shadow: 0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor))
    rgba(136, 136, 136, 1);
  border-radius: calc(2px * var(--total-scale-factor));
  padding: calc(6px * var(--total-scale-factor));
  margin-left: calc(5px * var(--total-scale-factor));
  cursor: pointer;
  font: message-box;
  white-space: normal;
  word-wrap: break-word;
  pointer-events: auto;
}

.annotationLayer .popup > * {
  font-size: calc(9px * var(--total-scale-factor));
}

.annotationLayer .popup h1 {
  display: inline-block;
}

.annotationLayer .popupDate {
  display: inline-block;
  margin-left: calc(5px * var(--total-scale-factor));
}

.annotationLayer .popupContent {
  border-top: 1px solid rgba(51, 51, 51, 1);
  margin-top: calc(2px * var(--total-scale-factor));
  padding-top: calc(2px * var(--total-scale-factor));
}

.annotationLayer .richText > * {
  white-space: pre-wrap;
  font-size: calc(9px * var(--total-scale-factor));
}

.annotationLayer .highlightAnnotation,
.annotationLayer .underlineAnnotation,
.annotationLayer .squigglyAnnotation,
.annotationLayer .strikeoutAnnotation,
.annotationLayer .freeTextAnnotation,
.annotationLayer .lineAnnotation svg line,
.annotationLayer .squareAnnotation svg rect,
.annotationLayer .circleAnnotation svg ellipse,
.annotationLayer .polylineAnnotation svg polyline,
.annotationLayer .polygonAnnotation svg polygon,
.annotationLayer .caretAnnotation,
.annotationLayer .inkAnnotation svg polyline,
.annotationLayer .stampAnnotation,
.annotationLayer .fileAttachmentAnnotation {
  cursor: pointer;
}

.annotationLayer section svg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.annotationLayer .annotationTextContent {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  color: transparent;
  user-select: none;
  pointer-events: none;
}

.annotationLayer .annotationTextContent span {
  width: 100%;
  display: inline-block;
}

/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

:root {
  --react-pdf-text-layer: 1;
  --highlight-bg-color: rgba(180, 0, 170, 1);
  --highlight-selected-bg-color: rgba(0, 100, 0, 1);
}

@media screen and (forced-colors: active) {
  :root {
    --highlight-bg-color: Highlight;
    --highlight-selected-bg-color: ButtonText;
  }
}

[data-main-rotation='90'] {
  transform: rotate(90deg) translateY(-100%);
}
[data-main-rotation='180'] {
  transform: rotate(180deg) translate(-100%, -100%);
}
[data-main-rotation='270'] {
  transform: rotate(270deg) translateX(-100%);
}

.textLayer {
  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: hidden;
  line-height: 1;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  z-index: 2;
}

.textLayer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  margin: 0;
  transform-origin: 0 0;
}

/* Only necessary in Google Chrome, see issue 14205, and most unfortunately
 * the problem doesn't show up in "text" reference tests. */
.textLayer span.markedContent {
  top: 0;
  height: 0;
}

.textLayer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: var(--highlight-bg-color);
  border-radius: 4px;
}

.textLayer .highlight.appended {
  position: initial;
}

.textLayer .highlight.begin {
  border-radius: 4px 0 0 4px;
}

.textLayer .highlight.end {
  border-radius: 0 4px 4px 0;
}

.textLayer .highlight.middle {
  border-radius: 0;
}

.textLayer .highlight.selected {
  background-color: var(--highlight-selected-bg-color);
}

/* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */
.textLayer br::selection {
  background: transparent;
}

.textLayer .endOfContent {
  display: block;
  position: absolute;
  inset: 100% 0 0;
  z-index: -1;
  cursor: default;
  user-select: none;
}

.textLayer.selecting .endOfContent {
  top: 0;
}

.hiddenCanvasElement {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  display: none;
}

/* CSS variables. */
:root {
	--PhoneInput-color--focus: #03b2cb;
	--PhoneInputInternationalIconPhone-opacity: 0.8;
	--PhoneInputInternationalIconGlobe-opacity: 0.65;
	--PhoneInputCountrySelect-marginRight: 0.35em;
	--PhoneInputCountrySelectArrow-width: 0.3em;
	--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);
	--PhoneInputCountrySelectArrow-borderWidth: 1px;
	--PhoneInputCountrySelectArrow-opacity: 0.45;
	--PhoneInputCountrySelectArrow-color: currentColor;
	--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountrySelectArrow-transform: rotate(45deg);
	--PhoneInputCountryFlag-aspectRatio: 1.5;
	--PhoneInputCountryFlag-height: 1em;
	--PhoneInputCountryFlag-borderWidth: 1px;
	--PhoneInputCountryFlag-borderColor: rgba(0,0,0,0.5);
	--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,0.1);
}

.PhoneInput {
	/* This is done to stretch the contents of this component. */
	display: flex;
	align-items: center;
}

.PhoneInputInput {
	/* The phone number input stretches to fill all empty space */
	flex: 1;
	/* The phone number input should shrink
	   to make room for the extension input */
	min-width: 0;
}

.PhoneInputCountryIcon {
	width: calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));
	height: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--square {
	width: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--border {
	/* Removed `background-color` because when an `<img/>` was still loading
	   it would show a dark gray rectangle. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom. */
	background-color: var(--PhoneInputCountryFlag-backgroundColor--loading);
	/* Border is added via `box-shadow` because `border` interferes with `width`/`height`. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom,
	   so an additional "inset" border is added. */
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor);
}

.PhoneInputCountryIconImg {
	/* Fixes weird vertical space above the flag icon. */
	/* https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/7#note_348586559 */
	display: block;
	/* 3rd party <SVG/> flag icons won't stretch if they have `width` and `height`.
	   Also, if an <SVG/> icon's aspect ratio was different, it wouldn't fit too. */
	width: 100%;
	height: 100%;
}

.PhoneInputInternationalIconPhone {
	opacity: var(--PhoneInputInternationalIconPhone-opacity);
}

.PhoneInputInternationalIconGlobe {
	opacity: var(--PhoneInputInternationalIconGlobe-opacity);
}

/* Styling native country `<select/>`. */

.PhoneInputCountry {
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
	margin-right: var(--PhoneInputCountrySelect-marginRight);
}

.PhoneInputCountrySelect {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	border: 0;
	opacity: 0;
	cursor: pointer;
}

.PhoneInputCountrySelect[disabled],
.PhoneInputCountrySelect[readonly] {
	cursor: default;
}

.PhoneInputCountrySelectArrow {
	display: block;
	content: '';
	width: var(--PhoneInputCountrySelectArrow-width);
	height: var(--PhoneInputCountrySelectArrow-width);
	margin-left: var(--PhoneInputCountrySelectArrow-marginLeft);
	border-style: solid;
	border-color: var(--PhoneInputCountrySelectArrow-color);
	border-top-width: 0;
	border-bottom-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	border-left-width: 0;
	border-right-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	transform: var(--PhoneInputCountrySelectArrow-transform);
	opacity: var(--PhoneInputCountrySelectArrow-opacity);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon + .PhoneInputCountrySelectArrow {
	opacity: 1;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon--border {
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon .PhoneInputInternationalIconGlobe {
	opacity: 1;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}

/*# sourceMappingURL=7612-1f1b5a24.css.map*/