/* Tanner brand theme — tokens + layering. Portal + Command Center. */
:root {
  /* Canonical palette (no hex in components — use these tokens) */
  --tnr-shell: #0000B3;
  --tnr-page: #0000FF;
  --tnr-tile: #0000D9;
  --tnr-yellow: #FFD100;
  --tnr-static: #E6E7E7;
  --tnr-carbon: #333333;
  --tnr-white: #FFFFFF;

  /* Legacy aliases */
  --tnr-blue: var(--tnr-page);
  --tnr-blue-mid: var(--tnr-tile);
  --tnr-blue-panel: var(--tnr-shell);
  --tnr-ease: cubic-bezier(.22, 1, .36, 1);
  --tnr-dur-color: 160ms;
  --tnr-dur-menu: 240ms;
  --tnr-dur-page: 400ms;

  --tnr-blue-page: var(--tnr-page);
  --tnr-blue-deep: var(--tnr-shell);
  --tnr-blue-hover: var(--tnr-shell);
  --theme-accent: var(--tnr-yellow);
  --theme-surface: var(--tnr-shell);
  --theme-text: var(--tnr-white);
  --theme-carbon: var(--tnr-carbon);
  --theme-hairline: var(--tnr-tile);
  --tnr-nav-tile-size: 48px;
  --tnr-nav-icon-size: 24px;
  --nav-fg: var(--tnr-static);
  --nav-accent: var(--tnr-yellow);
  --tnr-word-letters: var(--tnr-static);

  --theme-font-display: "PP Monument Extended", sans-serif;
  --theme-font-body: "Inter", sans-serif;

  --t-display-size: 64px;
  --t-display-track: 0;
  --t-h1-size: clamp(27px, 7vw, 42px);
  --t-h2-size: clamp(18px, 1.6vw, 26px);
  --t-label-size: 11px;
  --t-label-track: .24em;
  --tnr-display: "PP Monument Extended", sans-serif;
  --tnr-text: "Inter", system-ui, sans-serif;
  --t-body-size: 16px;
  --t-body-small: 14px;
  --t-body-lh: 1.6;
  --t-chapter-size: 11px;
  --t-chapter-track: .18em;

  --background: 240 100% 50%;
  --foreground: 0 0% 100%;
  --card: 240 100% 35%;
  --card-foreground: 0 0% 100%;
  --popover: 240 100% 35%;
  /* card/popover HSL = shell; page/content uses --background */
  --popover-foreground: 0 0% 100%;
  --primary: 240 100% 50%;
  --primary-foreground: 0 0% 100%;
  --secondary: 49.18 100% 50%;
  --secondary-foreground: 0 0% 20%;
  --muted: 210 3% 91%;
  --muted-foreground: 210 3% 91%;
  --accent: 49.18 100% 50%;
  --accent-foreground: 0 0% 20%;
  --destructive: 0 0% 20%;
  --destructive-foreground: 210 3% 91%;
  --border: 240 100% 43%;
  --input: 240 100% 35%;
  /* border/input HSL ≈ tile / shell */
  --ring: 49.18 100% 50%;
  --tanner-blueprint: 240 100% 50%;
  --tanner-14k: 49.18 100% 50%;
  --theme-accent: var(--tnr-yellow);
  --tanner-static: 210 3% 91%;
  --tanner-carbon: 0 0% 20%;
  --tanner-dark: 240 100% 50%;
  --tanner-input-bg: 240 100% 35%;
  --tnr-card-inset: inset 0 0 0 1px var(--tnr-tile);
  --tnr-card-inset-strong: inset 0 0 0 1px var(--tnr-tile);
  --tnr-card-shadow: none;
  --tnr-card-shadow-hover: none;
  --radius: 0;
}

html, body, .tanner-app, #root {
  background: var(--tnr-page);
  color: var(--tnr-white);
  font-family: var(--theme-font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  font-style: normal;
}

/* Type roles: tnr-type.css (.t-eyebrow … .t-small). PP Monument 300/400/900 only — never 700. */
.t-display {
  font-family: var(--tnr-display, var(--theme-font-display)) !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: 64px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--tnr-white) !important;
}
html.tanner-app h1:not(.t-display):not([class*="font-body"]),
html.tanner-app .t-h1 {
  font: 900 clamp(27px, 7vw, 42px)/1 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--tnr-white) !important;
  text-wrap: wrap !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html.tanner-app h2,
html.tanner-app .t-h2 {
  font: 900 clamp(18px, 1.6vw, 26px)/1.12 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: var(--tnr-white) !important;
  text-wrap: balance !important;
}
html.tanner-app .t-eyebrow,
html.tanner-app .tanner-eyebrow,
html.tanner-app .p-eyebrow {
  font: 400 12px/1.4 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  color: var(--tnr-yellow) !important;
}
html.tanner-app .t-label,
html.tanner-app .tanner-label,
html.tanner-app .p-field-label,
html.tanner-app .p-status,
html.tanner-app .tanner-choice,
html.tanner-app .tanner-select-item,
html.tanner-app .tanner-chip,
html.tanner-app .nav-chip-row,
html.tanner-app [class*="uppercase"][class*="tracking"][class*="font-display"]:not(h1):not(h2):not(.t-display):not(.t-h1):not(.t-h2):not(.t-button):not(.tanner-btn-primary):not(.tnr-btn-primary),
html.tanner-app .font-display.uppercase:not(h1):not(h2):not(.t-display):not(.t-h1):not(.t-h2):not(.t-button):not(.tanner-btn-primary):not(.tnr-btn-primary) {
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--tnr-static) !important;
}
.t-body, .font-body, p, li, td, dd, input, textarea, select, option,
.tanner-field, .tanner-select-trigger, .tanner-textarea {
  font-family: var(--theme-font-body) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
.font-body.text-sm, .text-sm.font-body, small, .t-body-sm {
  font-family: var(--theme-font-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Display font: headings + labels only. File names and copy use body. */
p.font-display, span.font-display, li.font-display, td.font-display, a.font-display,
.font-display:not(.uppercase):not(.t-display):not(.t-h1):not(.t-h2):not(.t-label):not(.tanner-label):not(.tanner-btn-primary) {
  font-family: var(--theme-font-body) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.italic, .\!italic { font-style: normal !important; }

/* Minimum 11px */
.text-\[8px\], .text-\[9px\], .text-\[10px\], .text-\[0\.625rem\],
.text-\[8px\]\!, [class*="text-[8px]"], [class*="text-[9px]"], [class*="text-[10px]"] {
  font-size: 11px !important;
}

/* No transparency: secondary text is Static */
[class*="text-primary-foreground/"],
[class*="text-white/"],
.text-muted-foreground,
.text-primary-foreground\/55, .text-primary-foreground\/50, .text-primary-foreground\/65,
.text-primary-foreground\/70, .text-primary-foreground\/80, .text-primary-foreground\/85,
.text-primary-foreground\/45, .text-primary-foreground\/40, .text-primary-foreground\/35,
.text-primary-foreground\/30 {
  color: var(--tnr-static) !important;
}
.text-primary-foreground, .text-white { color: var(--tnr-white) !important; }
.text-14k, [class*="text-14k"], .text-\[\#FFD100\], .text-\[\#FFD000\], .text-\[\#ffd100\], .text-\[\#ffd000\] {
  color: var(--tnr-yellow) !important;
}
.text-carbon, .text-\[\#333\], .text-\[\#333333\] { color: var(--tnr-carbon) !important; }

/* Hairlines on blue */
[class*="border-primary-foreground/"],
[class*="border-white/"],
.border-primary-foreground\/10, .border-primary-foreground\/15, .border-primary-foreground\/20,
.divide-primary-foreground\/10, [class*="divide-primary-foreground"],
hr {
  border-color: var(--tnr-blue-mid) !important;
}

/* Navy fields / chips / panels / bars */
[class*="bg-primary-foreground/"],
[class*="bg-white/"],
.bg-primary-foreground\/\[0\.03\], .bg-primary-foreground\/\[0\.04\],
.tanner-field, .tanner-textarea, .tanner-select-trigger, .tanner-chip,
.tanner-popover, [role="dialog"], [data-radix-dialog-content],
[data-radix-popper-content-wrapper] > *,
[data-state][class*="drawer"] {
  background-color: var(--tnr-blue-panel) !important;
  background-image: none !important;
}

html, body, .tanner-app, .bg-\[\#0000FF\], .bg-\[\#0000ff\] {
  background-color: var(--tnr-page) !important;
}

/* Fills only — color is set once on the yellow fill class below */
.tanner-btn-primary, .tnr-btn-primary, .bg-14k, [class~="bg-14k"], .bg-\[\#FFD100\], .bg-\[\#FFD000\] {
  background: var(--tnr-yellow) !important;
  background-image: none !important;
}

.nav-chip-row { color: var(--tnr-static) !important; border: none !important; border-radius: 0 !important; }

:focus-visible {
  outline: 2px solid #FFD100 !important;
  outline-offset: 2px !important;
}
::placeholder { color: #E6E7E7 !important; -webkit-text-fill-color: #E6E7E7 !important; opacity: 1 !important; }

/* No gradients */
[class*="bg-gradient"], [class*="from-"], [class*="via-"], [class*="to-"],
.bg-gradient-to-b, .bg-gradient-to-r, .bg-gradient-to-l, .bg-gradient-to-t {
  background-image: none !important;
}

/* No red — notices only, never buttons */
[role="alert"][class*="text-red-"],
[role="alert"][class*="text-destructive"],
[role="alert"][class*="bg-red-"],
[data-doc-status]:not(:empty),
.tnr-error:not(button):not(a):not([role="button"]) {
  color: var(--tnr-static) !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-left: 3px solid #FFD100 !important;
}

/* Off-brand green / pink / amber → brand chips */
[class*="text-green-"], [class*="text-emerald-"], [class*="bg-green-"], [class*="bg-emerald-"],
[class*="text-pink-"], [class*="bg-pink-"], [class*="text-amber-"], [class*="bg-amber-"] {
  color: var(--tnr-white) !important;
  background: var(--tnr-blue-panel) !important;
  border-color: var(--tnr-blue-mid) !important;
}

.tanner-choice, .tanner-step-chip {
  background: var(--tnr-blue-panel) !important;
  border: 1px solid var(--tnr-blue-mid) !important;
  color: var(--tnr-white) !important;
}
.tanner-choice--selected, .tanner-choice[data-selected="true"], .tanner-step-chip--active {
  background: var(--tnr-yellow) !important;
  color: var(--tnr-carbon) !important;
  border-color: var(--tnr-yellow) !important;
}

.tanner-label, .t-label { color: var(--tnr-white) !important; }
.t-chapter, .tanner-eyebrow { color: var(--tnr-yellow) !important; }

.tnr-pill {
  background: var(--tnr-blue-panel) !important;
  color: var(--tnr-white) !important;
  border: 1px solid var(--tnr-blue-mid) !important;
}

.portal-root .portal-card,
.tnr-studio-card,
.tanner-panel,
.tnr-section {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.tnr-error,
[role="alert"],
[data-sonner-toast][data-type="error"] {
  color: var(--tnr-static) !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-left: 3px solid #FFD100 !important;
  padding: 0 0 0 .75rem;
  font-family: var(--theme-font-body);
  font-size: 14px;
  line-height: 1.6;
}

/* Sonner toast host — no empty shell-blue bar bottom-right on every page */
html.tanner-app body [data-sonner-toaster],
html.tanner-app body ol.fixed[class*="flex-col-reverse"][class*="pointer-events-none"] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
html.tanner-app body [data-sonner-toaster]:not(:has([data-sonner-toast])) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tanner-chip,
.tanner-popover {
  background-color: #0000B3 !important;
  background-image: none !important;
}

/* Current page: yellow type + 3px left bar. Hover does not change it. */
.tanner-choice--selected,
.tanner-choice[data-selected="true"],
.tanner-step-chip--active {
  background: #FFD100 !important;
}

/* Flat surfaces — no boxes */
.tnr-studio-card,
.tnr-section,
.portal-card,
.tanner-panel,
[class*="shadow-"],
.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
/* Launch/deadline calendar — must not inherit shadow-* transparent fill */
html.tanner-app body .tnr-date-picker-popover,
html.tanner-app body [data-radix-popper-content-wrapper] > .tnr-date-picker-popover {
  background-color: #0000B3 !important;
  background-image: none !important;
  border: 1px solid #0000D9 !important;
}
html.tanner-app body .tnr-date-picker-popover .rdp {
  background-color: #0000B3 !important;
}

html.tanner-app body .tnr-call-requested,
html.tanner-app body [data-tnr-call-requested="1"] {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-left: 3px solid #FFD100 !important;
  box-shadow: none !important;
  padding-left: 1rem !important;
}
html.tanner-app body .tnr-call-requested .tanner-eyebrow,
html.tanner-app body [data-tnr-call-requested="1"] .tanner-eyebrow {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}
html.tanner-app body .tnr-call-requested p.text-sm,
html.tanner-app body [data-tnr-call-requested="1"] p.text-sm {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

html.tanner-app body .tnr-service-tag {
  display: inline-flex;
  align-items: center;
  background: #0000B3 !important;
  background-image: none !important;
  border: 1px solid #0000D9 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

@media (max-width: 639px) {
  html.tanner-app body .tnr-questionnaire-footer {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  html.tanner-app body .tnr-questionnaire-footer .tnr-btn-link {
    align-self: flex-start;
  }
}
@media (min-width: 640px) {
  html.tanner-app body .tnr-questionnaire-footer .tanner-btn-primary.tnr-sticky-action {
    position: static !important;
    width: auto !important;
    max-width: none !important;
  }
}

html, body, .tanner-app, .portal-root, #root, .tnr-studio-card, .tnr-section, .portal-card {
  box-shadow: none !important;
}

.tnr-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #0000D9;
  border-bottom: 1px solid #0000D9;
}
@media (max-width: 639px) {
  .tnr-stat-strip { grid-template-columns: 1fr; }
}
.tnr-stat-strip > .tnr-stat,
.tnr-stat {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 16px 16px 16px 0;
}
.tnr-stat-strip > .tnr-stat {
  padding: 16px;
  border-right: 1px solid #0000D9 !important;
}
.tnr-stat-strip > .tnr-stat:last-child { border-right: none !important; }
@media (max-width: 639px) {
  .tnr-stat-strip > .tnr-stat { border-right: none !important; border-bottom: 1px solid #0000D9 !important; }
  .tnr-stat-strip > .tnr-stat:last-child { border-bottom: none !important; }
}

.tnr-section-split {
  display: grid;
  gap: 0;
  border-top: 1px solid #0000D9;
}
@media (min-width: 1024px) {
  .tnr-section-split { grid-template-columns: 1fr 1fr; }
  .tnr-section-split > * { padding: 24px 24px 24px 0; }
  .tnr-section-split > *:first-child { padding-right: 24px; border-right: 1px solid #0000D9; }
  .tnr-section-split > *:last-child { padding-left: 24px; }
}
.tnr-section-split > * { padding-top: 24px; }

.tnr-row-list, ul.divide-y { border: none !important; }
.tnr-row, ul.divide-y > li, .tnr-row-list > li {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #0000D9 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
.tnr-row-list > li:last-child, ul.divide-y > li:last-child { border-bottom: none !important; }

.t-chapter {
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: #FFD100 !important;
}
.tnr-rule { background: #0000D9 !important; height: 1px !important; }

/* ============================================================
   Four controls, one state set. Yellow fill always has carbon type.
   ============================================================ */

/* Geometry — 48px, square, no gradient / clip / fade */
html.tanner-app body .tnr-btn,
html.tanner-app body .tanner-btn-primary,
html.tanner-app body .tnr-btn-primary,
html.tanner-app body .tnr-btn-secondary,
html.tanner-app body button.inline-flex:not(.nav-chip-row):not([class*="h-8"]):not([role="tab"]),
html.tanner-app body a.tanner-btn-primary,
html.tanner-app body a.tnr-btn {
  min-height: 48px !important;
  height: 48px !important;
  border-radius: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  clip-path: none !important;
  opacity: 1 !important;
  transition: color var(--tnr-dur-color) var(--tnr-ease), background-color var(--tnr-dur-color) var(--tnr-ease), border-color var(--tnr-dur-color) var(--tnr-ease), -webkit-text-fill-color var(--tnr-dur-color) var(--tnr-ease) !important;
  font-family: var(--tnr-display, var(--theme-font-display)) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
html.tanner-app body .t-button,
html.tanner-app body .tanner-btn-primary,
html.tanner-app body .tnr-btn-primary,
html.tanner-app body a.tanner-btn-primary,
html.tanner-app body a.tnr-btn-primary,
html.tanner-app body button.tnr-fill-yellow:not(.nav-chip-row) {
  font: 900 12px/1 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

/* 1) Yellow fill class — carbon type + icons. Set once. */
html.tanner-app .tnr-fill-yellow,
html.tanner-app .tnr-fill-yellow *,
html.tanner-app .tanner-btn-primary,
html.tanner-app .tanner-btn-primary *,
html.tanner-app .tnr-btn-primary,
html.tanner-app .tnr-btn-primary *,
html.tanner-app a.portal-cta-wiggle,
html.tanner-app a.portal-cta-wiggle *,
html.tanner-app .tnr-on-yellow,
html.tanner-app .tnr-on-yellow *,
html.tanner-app [class~="bg-14k"],
html.tanner-app [class~="bg-14k"] *,
html.tanner-app .bg-\[\#FFD100\],
html.tanner-app .bg-\[\#FFD100\] *,
html.tanner-app .tanner-choice--selected,
html.tanner-app .tanner-choice--selected *,
html.tanner-app .tanner-choice[data-selected="true"],
html.tanner-app .tanner-choice[data-selected="true"] *,
html.tanner-app .tanner-step-chip--active,
html.tanner-app .tanner-step-chip--active *,
html.tanner-app .tnr-chip-selected,
html.tanner-app .tnr-chip-selected *,
html.tanner-app body .tnr-chip.tnr-chip-selected,
html.tanner-app body .tnr-chip.tnr-chip-selected * {
  background: #FFD100 !important;
  background-image: none !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  fill: #333333 !important;
  stroke: #333333 !important;
  border-color: #FFD100 !important;
}

/* Primary: yellow fill, carbon label. Hover: white fill, same label. */
html.tanner-app body .tanner-btn-primary:hover:not(:disabled):not([aria-disabled="true"]),
html.tanner-app body .tanner-btn-primary:hover:not(:disabled):not([aria-disabled="true"]) *,
html.tanner-app body .tnr-btn-primary:hover:not(:disabled):not([aria-disabled="true"]),
html.tanner-app body .tnr-btn-primary:hover:not(:disabled):not([aria-disabled="true"]) *,
html.tanner-app body a.tanner-btn-primary:hover:not([aria-disabled="true"]),
html.tanner-app body a.tanner-btn-primary:hover:not([aria-disabled="true"]) *,
html.tanner-app body a.tnr-btn-primary:hover:not([aria-disabled="true"]),
html.tanner-app body a.tnr-btn-primary:hover:not([aria-disabled="true"]) *,
html.tanner-app body a.portal-cta-wiggle:hover:not([aria-disabled="true"]),
html.tanner-app body a.portal-cta-wiggle:hover:not([aria-disabled="true"]) *,
html.tanner-app body .tnr-fill-yellow:hover:not(:disabled):not([aria-disabled="true"]),
html.tanner-app body .tnr-fill-yellow:hover:not(:disabled):not([aria-disabled="true"]) * {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  fill: #333333 !important;
  stroke: #333333 !important;
  border-color: #FFFFFF !important;
  filter: none !important;
}

/* Secondary: 2px yellow outline, yellow label. Hover: outline stays, white label, no fill. */
html.tanner-app body .tnr-btn-secondary,
html.tanner-app body button[class*="variant"]:not(.tanner-btn-primary):not(.tnr-btn-primary) {
  background: transparent !important;
  background-image: none !important;
  border: 2px solid #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  fill: #FFD100 !important;
}
html.tanner-app body .tnr-btn-secondary,
html.tanner-app body .tnr-btn-secondary * {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  fill: #FFD100 !important;
  stroke: #FFD100 !important;
}
html.tanner-app body .tnr-btn-secondary:hover:not(:disabled):not([aria-disabled="true"]),
html.tanner-app body .tnr-btn-secondary:hover:not(:disabled):not([aria-disabled="true"]) * {
  background: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
  border-color: #FFD100 !important;
}

/* Tinted yellow (bg-14k/15) — secondary, not a fill */
html.tanner-app body button[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):not(.tnr-on-yellow),
html.tanner-app body button[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):not(.tnr-on-yellow),
html.tanner-app body a[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary),
html.tanner-app body a[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary) {
  background: transparent !important;
  border: 2px solid #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}
html.tanner-app body button[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled),
html.tanner-app body button[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled),
html.tanner-app body button[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled) *,
html.tanner-app body button[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled) *,
html.tanner-app body a[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled),
html.tanner-app body a[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled),
html.tanner-app body a[class*=" bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled) *,
html.tanner-app body a[class^="bg-14k/"]:not(.tanner-btn-primary):not(.tnr-btn-primary):hover:not(:disabled) * {
  background: transparent !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
  border-color: #FFD100 !important;
}

/* Step / hub tabs — label yellow on hover (not selected) */
html.tanner-app body [role="tab"]:hover:not([aria-selected="true"]):not([data-state="active"]),
html.tanner-app body [role="tab"]:hover:not([aria-selected="true"]):not([data-state="active"]) *,
html.tanner-app body .tnr-step-tab:hover:not([aria-selected="true"]):not([data-state="active"]),
html.tanner-app body .tnr-step-tab:hover:not([aria-selected="true"]):not([data-state="active"]) * {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  fill: #FFD100 !important;
  stroke: #FFD100 !important;
}

/* Text link: yellow, underline on hover */
html.tanner-app body .tnr-btn-link,
html.tanner-app body a.tnr-btn-link,
html.tanner-app body button.tnr-btn-link {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  fill: #FFD100 !important;
  text-decoration: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html.tanner-app body .tnr-btn-link:hover,
html.tanner-app body .tnr-btn-link:hover * {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  text-decoration: underline !important;
  background: transparent !important;
}

/* Option chip: navy + white. Selected: yellow fill + carbon (via fill class). */
html.tanner-app body .tnr-chip,
html.tanner-app body .tanner-chip,
html.tanner-app body .tanner-choice:not(.tanner-choice--selected):not([data-selected="true"]),
html.tanner-app body .tanner-step-chip:not(.tanner-step-chip--active) {
  background: #0000B3 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: 48px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
}
html.tanner-app body span.tnr-chip {
  min-height: 0;
  height: auto;
  padding: 6px 10px;
}

/* Disabled: navy mid + static — never faded. Last so it wins every type. */
html.tanner-app body :disabled,
html.tanner-app body [disabled],
html.tanner-app body [aria-disabled="true"],
html.tanner-app body :disabled *,
html.tanner-app body [disabled] *,
html.tanner-app body [aria-disabled="true"] * {
  background: #0000D9 !important;
  background-image: none !important;
  color: #E6E7E7 !important;
  -webkit-text-fill-color: #E6E7E7 !important;
  fill: #E6E7E7 !important;
  stroke: #E6E7E7 !important;
  border-color: #0000D9 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
html.tanner-app body .tnr-btn-link:disabled,
html.tanner-app body .tnr-btn-link[aria-disabled="true"] {
  background: transparent !important;
  border: none !important;
  color: #E6E7E7 !important;
}

/* Focus: yellow rule, label still visible */
html.tanner-app body .tnr-btn:focus-visible,
html.tanner-app body .tanner-btn-primary:focus-visible,
html.tanner-app body .tnr-btn-primary:focus-visible,
html.tanner-app body .tnr-btn-secondary:focus-visible {
  outline: 2px solid #FFD100 !important;
  outline-offset: 2px !important;
}

/* Body copy never uses the display font */
html.tanner-app p.font-display:not(.uppercase),
html.tanner-app p.font-body,
html.tanner-app .tnr-section > p,
html.tanner-app p.text-xs:not(.uppercase):not(.font-display),
html.tanner-app p.text-sm:not(.uppercase):not(.font-display) {
  font-family: var(--theme-font-body) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
}

/* ============================================================
   Nav — 48px tile + label (expanded) / tile rail (collapsed)
   ============================================================ */

html.tanner-app body .nav-chip-row,
html.tanner-app body .nav-chip-row:hover,
html.tanner-app body .nav-chip-row:focus,
html.tanner-app body .nav-chip-row:focus-visible {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: var(--tnr-nav-tile-size) !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 4px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  clip-path: none !important;
  border: none !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  color: var(--tnr-static) !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  transition: color var(--tnr-dur-color) var(--tnr-ease) !important;
}

html.tanner-app body .nav-chip-row > svg:first-of-type,
html.tanner-app body .nav-chip-row > .lucide:first-of-type {
  flex-shrink: 0 !important;
  width: var(--tnr-nav-icon-size) !important;
  height: var(--tnr-nav-icon-size) !important;
  min-width: var(--tnr-nav-icon-size) !important;
  min-height: var(--tnr-nav-icon-size) !important;
  padding: calc((var(--tnr-nav-tile-size) - var(--tnr-nav-icon-size)) / 2) !important;
  box-sizing: content-box !important;
  background: var(--tnr-tile) !important;
  border-radius: 0 !important;
}

html.tanner-app body .nav-chip-row * {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html.tanner-app body .nav-chip-row:not(.is-active):not([aria-current="page"]) > svg:first-of-type {
  color: var(--tnr-white) !important;
  stroke: var(--tnr-white) !important;
}

html.tanner-app body .nav-chip-row:hover:not(.is-active):not([aria-current="page"]),
html.tanner-app body .nav-chip-row:hover:not(.is-active):not([aria-current="page"]) span,
html.tanner-app body .nav-chip-row:hover:not(.is-active):not([aria-current="page"]) > svg:first-of-type {
  color: var(--tnr-yellow) !important;
  -webkit-text-fill-color: var(--tnr-yellow) !important;
  stroke: var(--tnr-yellow) !important;
}

html.tanner-app body .nav-chip-row.is-active,
html.tanner-app body .nav-chip-row.is-active:hover,
html.tanner-app body .nav-chip-row[aria-current="page"],
html.tanner-app body .nav-chip-row[aria-current="page"]:hover {
  color: var(--tnr-yellow) !important;
  -webkit-text-fill-color: var(--tnr-yellow) !important;
  background: transparent !important;
}

html.tanner-app body .nav-chip-row.is-active > svg:first-of-type,
html.tanner-app body .nav-chip-row[aria-current="page"] > svg:first-of-type {
  background: var(--tnr-yellow) !important;
  color: var(--tnr-carbon) !important;
  stroke: var(--tnr-carbon) !important;
  -webkit-text-fill-color: var(--tnr-carbon) !important;
}

html.tanner-app body .nav-chip-row.is-active > svg:first-of-type *,
html.tanner-app body .nav-chip-row[aria-current="page"] > svg:first-of-type * {
  color: var(--tnr-carbon) !important;
  fill: none !important;
  stroke: var(--tnr-carbon) !important;
}

html.tanner-app body .tnr-row:hover,
html.tanner-app body .tnr-row:hover *:not(.tnr-btn):not(.tanner-btn-primary):not(.tnr-btn-primary):not(.tnr-btn-secondary):not(.tnr-btn-link):not(.tnr-chip) {
  color: var(--tnr-yellow) !important;
  -webkit-text-fill-color: var(--tnr-yellow) !important;
  fill: var(--tnr-yellow) !important;
  stroke: var(--tnr-yellow) !important;
}

html.tanner-app body a:not(.tnr-btn):not(.tanner-btn-primary):not(.tnr-btn-primary):not(.tnr-btn-secondary):not(.tnr-btn-link):not(.nav-chip-row):not(.portal-cta-wiggle):hover {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Focus: 2px yellow, 2px offset, every focusable */
html.tanner-app :focus-visible,
html.tanner-app body :focus-visible,
html.tanner-app body a:focus-visible,
html.tanner-app body button:focus-visible,
html.tanner-app body input:focus-visible,
html.tanner-app body textarea:focus-visible,
html.tanner-app body select:focus-visible,
html.tanner-app body [tabindex]:focus-visible,
html.tanner-app body .nav-chip-row:focus-visible {
  outline: 2px solid #FFD100 !important;
  outline-offset: 2px !important;
}

/* Kill lift / scale / wiggle / skew / brightness hovers */
html.tanner-app .magnetic-hover,
html.tanner-app .magnetic-hover:hover,
html.tanner-app [class*="hover:scale"]:hover,
html.tanner-app [class*="hover:-translate"]:hover,
html.tanner-app [class*="hover:translate"]:hover,
html.tanner-app [class*="hover:skew"]:hover,
html.tanner-app [class*="hover:rotate"]:hover,
html.tanner-app [class*="animate-bounce"],
html.tanner-app [class*="animate-wiggle"],
html.tanner-app .tanner-btn-primary:hover:not(:disabled) {
  transform: none !important;
  filter: none !important;
}

/* ============================================================
   One field: navy fill, white Inter 16, static placeholder,
   2px yellow bottom rule. Focus: outline only.
   ============================================================ */
html.tanner-app body .tanner-field,
html.tanner-app body .tanner-textarea,
html.tanner-app body .tanner-select-trigger,
html.tanner-app body .tnr-field,
html.tanner-app body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
html.tanner-app body textarea,
html.tanner-app body select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #0000B3 !important;
  background-color: #0000B3 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #FFFFFF !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.6 !important;
  border: none !important;
  border-bottom: 2px solid #FFD100 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 48px;
  padding: 12px 14px !important;
}
html.tanner-app body input::placeholder,
html.tanner-app body textarea::placeholder,
html.tanner-app body select::placeholder,
html.tanner-app body .tanner-field::placeholder,
html.tanner-app body .tanner-textarea::placeholder,
html.tanner-app body .tnr-field::placeholder,
html.tanner-app body input::-webkit-input-placeholder,
html.tanner-app body textarea::-webkit-input-placeholder {
  color: #E6E7E7 !important;
  -webkit-text-fill-color: #E6E7E7 !important;
  opacity: 1 !important;
}
html.tanner-app body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
html.tanner-app body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus-visible,
html.tanner-app body textarea:focus,
html.tanner-app body textarea:focus-visible,
html.tanner-app body select:focus,
html.tanner-app body select:focus-visible,
html.tanner-app body .tanner-field:focus,
html.tanner-app body .tanner-field:focus-visible,
html.tanner-app body .tanner-textarea:focus,
html.tanner-app body .tanner-textarea:focus-visible,
html.tanner-app body .tanner-select-trigger:focus,
html.tanner-app body .tanner-select-trigger:focus-visible,
html.tanner-app body .tnr-field:focus,
html.tanner-app body .tnr-field:focus-visible {
  outline: 2px solid #FFD100 !important;
  outline-offset: 2px !important;
  border: none !important;
  border-bottom-width: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
html.tanner-app body input:-webkit-autofill,
html.tanner-app body input:-webkit-autofill:hover,
html.tanner-app body input:-webkit-autofill:focus,
html.tanner-app body input:-webkit-autofill:active,
html.tanner-app body input:-internal-autofill-selected,
html.tanner-app body textarea:-webkit-autofill,
html.tanner-app body textarea:-webkit-autofill:hover,
html.tanner-app body textarea:-webkit-autofill:focus,
html.tanner-app body textarea:-webkit-autofill:active,
html.tanner-app body textarea:-internal-autofill-selected,
html.tanner-app body select:-webkit-autofill,
html.tanner-app body select:-internal-autofill-selected,
html.tanner-app body .tnr-inquiry-field:-webkit-autofill,
html.tanner-app body .tnr-inquiry-field:-webkit-autofill:hover,
html.tanner-app body .tnr-inquiry-field:-webkit-autofill:focus,
html.tanner-app body .tnr-inquiry-field:-webkit-autofill:active,
html.tanner-app body .tnr-inquiry-field:-internal-autofill-selected,
html.tanner-app body .tnr-field:-webkit-autofill,
html.tanner-app body .tnr-field:-internal-autofill-selected {
  -webkit-box-shadow: 0 0 0 1000px #0000B3 inset !important;
  box-shadow: 0 0 0 1000px #0000B3 inset !important;
  background-color: #0000B3 !important;
  -webkit-text-fill-color: #FFFFFF !important;
  color: #FFFFFF !important;
  caret-color: #FFFFFF !important;
  border-bottom: 2px solid #FFD100 !important;
  transition: background-color 600000s ease-out 0s;
}
html.tanner-app body input[type="password"],
html.tanner-app body input[type="password"]::first-line {
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  letter-spacing: .12em !important;
}
html.tanner-app body textarea,
html.tanner-app body .tanner-textarea {
  field-sizing: content;
  min-height: calc(1.6em * 4 + 24px) !important;
  overflow: hidden !important;
  resize: none !important;
}
html.tanner-app body input[type="date"],
html.tanner-app body input[type="datetime-local"] {
  color-scheme: dark;
}
html.tanner-app body input[type="date"]::-webkit-calendar-picker-indicator,
html.tanner-app body input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  display: none;
}
.tnr-field-wrap { position: relative; }
.tnr-pw-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.tnr-cal {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  left: 0;
  width: 280px;
  background: #0000B3 !important;
  color: #FFFFFF !important;
  border: 1px solid #0000D9 !important;
  padding: 12px;
}
.tnr-cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #FFFFFF;
}
.tnr-cal-head button {
  min-height: 32px !important;
  height: 32px !important;
  width: 32px;
  background: transparent !important;
  color: #FFD100 !important;
  border: none !important;
}
.tnr-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.tnr-cal-grid button,
.tnr-cal-grid span {
  min-height: 32px !important;
  height: 32px !important;
  background: transparent !important;
  color: #FFFFFF !important;
  border: none !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.tnr-cal-grid button:hover {
  background: #FFD100 !important;
  color: #333333 !important;
}

/* Confirm: one in-app modal — no browser box, no red */
.tnr-confirm {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: center;
  padding: 24px;
}
.tnr-confirm-scrim {
  position: absolute;
  inset: 0;
  background: #0000FF;
  opacity: .72;
}
.tnr-confirm-card {
  position: relative;
  z-index: 1;
  width: min(100%, 32rem);
  background: #0000FF !important;
  color: #FFFFFF !important;
  padding: 28px 28px 24px;
  box-shadow: none;
  border: none;
}
.tnr-confirm-title {
  margin: 0 0 12px;
  font-family: "PP Monument Extended", sans-serif !important;
  font-weight: 900 !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.tnr-confirm-body {
  margin: 0 0 28px;
  font-family: Inter, sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.tnr-confirm-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
}
.tnr-confirm-cancel {
  font-family: "PP Monument Extended", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
html.tanner-app body .tnr-confirm-go,
html.tanner-app body button.tnr-confirm-go {
  min-width: 10rem;
  min-height: 48px !important;
  padding: 0 20px !important;
  font-family: "PP Monument Extended", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
html.tanner-app body .tnr-confirm-go.tnr-btn-secondary,
html.tanner-app body .tnr-confirm-go.tnr-btn-secondary * {
  background: transparent !important;
  background-image: none !important;
  border: 2px solid #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}
html.tanner-app body .tnr-confirm-go.tnr-btn-primary,
html.tanner-app body .tnr-confirm-go.tnr-btn-primary * {
  background: #FFD100 !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  border: 2px solid #FFD100 !important;
}
html.tanner-app body .tnr-confirm svg,
html.tanner-app body .tnr-confirm .tnr-error {
  display: none !important;
}

/* Never paint action buttons red */
html.tanner-app body button.bg-destructive,
html.tanner-app body button[class*="bg-destructive"],
html.tanner-app body .bg-destructive:is(button, a, [role="button"]) {
  background: transparent !important;
  background-image: none !important;
  border: 2px solid #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}

/* Motion: 160 color · 240 menus/drawers · 400 page. One easing. */
html.tanner-app body [role="menu"],
html.tanner-app body [data-radix-popper-content-wrapper],
html.tanner-app body [data-radix-menu-content],
html.tanner-app body [data-state][class*="slide-"],
html.tanner-app body [class*="duration-200"],
html.tanner-app body [class*="duration-300"],
html.tanner-app body [class*="duration-500"],
html.tanner-app body [role="dialog"],
html.tanner-app body .tnr-confirm-card {
  animation-duration: var(--tnr-dur-menu) !important;
  transition-duration: var(--tnr-dur-menu) !important;
  transition-timing-function: var(--tnr-ease) !important;
  animation-timing-function: var(--tnr-ease) !important;
}
html.tanner-app body main,
html.tanner-app body .portal-root,
html.tanner-app body [class*="duration-700"],
html.tanner-app body [class*="duration-1000"] {
  transition-duration: var(--tnr-dur-page) !important;
  animation-duration: var(--tnr-dur-page) !important;
  transition-timing-function: var(--tnr-ease) !important;
}
html.tanner-app body .tnr-btn,
html.tanner-app body button.tnr-btn,
html.tanner-app body .tanner-btn-primary,
html.tanner-app body .tnr-nav-chip {
  transition-duration: var(--tnr-dur-color) !important;
  transition-timing-function: var(--tnr-ease) !important;
}

/* Busy save buttons stay readable — yellow, carbon label */
html.tanner-app body button[aria-busy="true"],
html.tanner-app body button[aria-busy="true"] *,
html.tanner-app body .tnr-btn[aria-busy="true"],
html.tanner-app body .tnr-btn[aria-busy="true"] * {
  background: #FFD100 !important;
  background-image: none !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  border-color: #FFD100 !important;
  opacity: 1 !important;
  cursor: progress !important;
}

.tnr-upload-bar,
html.tanner-app body .tnr-upload-bar {
  height: 8px !important;
  background: #0000B3 !important;
  border: none !important;
}
html.tanner-app body .tnr-upload-bar > div,
.tnr-upload-bar > div {
  background: #FFD100 !important;
  transition: width var(--tnr-dur-color) var(--tnr-ease) !important;
}

/* ============================================================
   Mobile first: 375, then 768 / 1280. No sideways scroll.
   ============================================================ */
html.tanner-app, html.tanner-app body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
html.tanner-app body #root,
html.tanner-app body .portal-root,
html.tanner-app body main,
html.tanner-app body .tnr-command {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 767px) {
  html.tanner-app body [class*="grid-cols-"],
  html.tanner-app body [class*="lg:grid-cols-"],
  html.tanner-app body [class*="xl:grid-cols-"],
  html.tanner-app body .tnr-section-split {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html.tanner-app body .flex-nowrap,
  html.tanner-app body [class*="flex-nowrap"] {
    flex-wrap: wrap !important;
  }
  html.tanner-app body .min-w-max,
  html.tanner-app body [class*="min-w-max"] {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html.tanner-app .tnr-timeline-list > li:not(:has([data-current])) {
    display: none !important;
  }

  html.tanner-app body table,
  html.tanner-app body .tnr-table {
    display: block !important;
    width: 100% !important;
  }
  html.tanner-app body thead {
    display: none !important;
  }
  html.tanner-app body tbody,
  html.tanner-app body tr,
  html.tanner-app body td,
  html.tanner-app body th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html.tanner-app body tr {
    padding: 12px 0 !important;
    border-bottom: 1px solid #0000D9 !important;
  }
  html.tanner-app body td {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.tanner-app body [role="dialog"]:not(.tnr-confirm-card) {
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    transform: none !important;
    translate: none !important;
    border-radius: 0 !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }

  /* Sticky action bar — only Brand Hub save bar (see global bar fix at file end) */
  html.tanner-app body .tnr-brand-hub-sticky.portal-sticky-bar.tnr-sticky-action-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 70 !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: #0000B3 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
  }

  html.tanner-app body .tnr-sticky-action-bar button,
  html.tanner-app body .tnr-sticky-action-bar a,
  html.tanner-app body [data-sticky-action="true"] button,
  html.tanner-app body [data-sticky-action="true"] a,
  html.tanner-app body [data-sticky-bar="true"] button,
  html.tanner-app body [data-sticky-bar="true"] a,
  html.tanner-app body .portal-sticky-bar button:not(.tnr-btn-secondary):not(.tnr-sticky-secondary),
  html.tanner-app body .portal-sticky-bar a {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    background: #FFD100 !important;
    color: #333333 !important;
    font-family: var(--tnr-display, 'PP Monument Extended', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  /* Sticky action bar: FAB sits 16px above the bar */
  html.tanner-app body:has(.tnr-sticky-action-bar) .tnr-assist-launch,
  html.tanner-app body:has([data-sticky-action="true"]) .tnr-assist-launch,
  html.tanner-app body:has([data-sticky-bar="true"]) .tnr-assist-launch,
  html.tanner-app body:has(.portal-sticky-bar) .tnr-assist-launch {
    bottom: calc(72px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.tanner-app body:has(.tnr-sticky-action-bar) .tnr-assist-panel,
  html.tanner-app body:has([data-sticky-action="true"]) .tnr-assist-panel,
  html.tanner-app body:has([data-sticky-bar="true"]) .tnr-assist-panel,
  html.tanner-app body:has(.portal-sticky-bar) .tnr-assist-panel {
    bottom: calc(72px + 16px + 48px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.tanner-app body:has(.tnr-sticky-action-bar) main,
  html.tanner-app body:has([data-sticky-action="true"]) main,
  html.tanner-app body:has([data-sticky-bar="true"]) main,
  html.tanner-app body:has(.portal-sticky-bar) main,
  html.tanner-app body:has(.tnr-sticky-action-bar) .portal-root main,
  html.tanner-app body:has([data-sticky-action="true"]) .portal-root main,
  html.tanner-app body:has([data-sticky-bar="true"]) .portal-root main,
  html.tanner-app body:has(.portal-sticky-bar) .portal-root main {
    padding-bottom: calc(72px + 96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* P6 — portal assistant FAB clearance when no pinned action bar (48px + 16px) */
  html.tanner-app body:has(.portal-root):not(:has(.tnr-sticky-action-bar)):not(:has(.portal-sticky-bar)):not(:has([data-sticky-bar="true"])):not(:has([data-sticky-action="true"])) .portal-root main,
  html.tanner-app body:has(.portal-root):not(:has(.tnr-sticky-action-bar)):not(:has(.portal-sticky-bar)):not(:has([data-sticky-bar="true"])):not(:has([data-sticky-action="true"])) .portal-root .portal-main {
    padding-bottom: calc(48px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Prevent headline cutoff and period wrapping at 375px mobile screens */
  .t-h1,
  h1.font-display,
  h1[class*="font-display"],
  .font-display.text-3xl,
  .font-display.text-4xl,
  .font-display.text-5xl {
    font-size: clamp(27px, 7vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: wrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Ensure the headline period dot never wraps to its own line */
  .t-dot,
  [class*="t-dot"],
  [class*="accent-dot"] {
    display: inline-block !important;
    width: .46em !important;
    height: .33em !important;
    margin-left: .08em !important;
    background: #FFD100 !important;
    clip-path: polygon(28.9% 0, 100% 0, 71.1% 100%, 0 100%) !important;
    vertical-align: baseline !important;
    white-space: nowrap !important;
  }

  /* Hide stacked redundant secondary progress bar on steps */
  [role="progressbar"] + [role="progressbar"],
  .portal-card [role="progressbar"] + [role="progressbar"],
  header [role="progressbar"] + [role="progressbar"],
  div > [role="progressbar"] + [role="progressbar"] {
    display: none !important;
  }
}

html.tanner-app body button,
html.tanner-app body a.tnr-btn,
html.tanner-app body a.tanner-btn-primary,
html.tanner-app body [role="button"],
html.tanner-app body .nav-chip-row,
html.tanner-app body input[type="file"] + label,
html.tanner-app body .tnr-chip {
  min-height: 44px !important;
  min-width: 44px !important;
}
html.tanner-app body .flex.flex-wrap,
html.tanner-app body .flex.gap-2,
html.tanner-app body .flex.gap-3 {
  gap: 8px !important;
}

html.tanner-app body [role="dialog"] button[class*="absolute"][class*="right-"],
html.tanner-app body [data-radix-dialog-close],
html.tanner-app body .tnr-img-close {
  min-width: 44px !important;
  min-height: 44px !important;
}

html.tanner-app body .tnr-img-full {
  position: fixed !important;
  inset: 0 !important;
  z-index: 220 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #0000B3 !important;
  padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
}
html.tanner-app body .tnr-img-full img {
  width: 100% !important;
  height: auto !important;
  max-height: calc(100dvh - 72px) !important;
  object-fit: contain !important;
}
html.tanner-app body .truncate,
html.tanner-app body [class*="truncate"] {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}

html.tanner-app body .tnr-trail {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  max-width: 100% !important;
}
html.tanner-app body .tnr-crumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  max-width: 100% !important;
  font-family: var(--tnr-display, "PP Monument Extended", sans-serif) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #E6E7E7 !important;
}
html.tanner-app body .tnr-crumbs-item {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}
html.tanner-app body .tnr-crumbs-sep {
  margin: 0 0.45em !important;
  color: #E6E7E7 !important;
  opacity: 1 !important;
}
html.tanner-app body .tnr-crumbs-link {
  color: #FFD100 !important;
  text-decoration: none !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html.tanner-app body .tnr-crumbs-link:hover,
html.tanner-app body .tnr-crumbs-link:focus-visible {
  text-decoration: underline !important;
  color: #FFD100 !important;
}
html.tanner-app body .tnr-crumbs-here {
  color: #E6E7E7 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html.tanner-app body .tnr-back {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  font-family: var(--tnr-display, "PP Monument Extended", sans-serif) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #FFD100 !important;
  text-decoration: none !important;
}
html.tanner-app body .tnr-back:hover,
html.tanner-app body .tnr-back:focus-visible {
  text-decoration: underline !important;
  color: #FFD100 !important;
}
html.tanner-app body .tnr-trail + .tnr-trail,
html.tanner-app body .tnr-back ~ .tnr-back {
  display: none !important;
}


/* ============================================================
   Fixed Sidebar & Scrollable Main Content Layout
   ============================================================ */
html.tanner-app body.tnr-command,
html.tanner-app body.tnr-sticky-nav {
  overflow: hidden !important;
  height: 100dvh !important;
}

html.tanner-app body.tnr-command aside,
html.tanner-app body.tnr-sticky-nav aside {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html.tanner-app body.tnr-command aside::-webkit-scrollbar,
html.tanner-app body.tnr-sticky-nav aside::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

html.tanner-app body.tnr-command main,
html.tanner-app body.tnr-sticky-nav main {
  scrollbar-width: thin;
  scrollbar-color: hsl(49 100% 50% / 0.4) transparent;
}

/* ==========================================================================
   STRICT RULE: YELLOW SURFACES (#FFD100) MUST ALWAYS HAVE CARBON (#333333) TEXT.
   NO EXCEPTIONS: NEVER YELLOW ON YELLOW, NEVER WHITE ON YELLOW.
   ========================================================================== */

/* Universal selector for all yellow backgrounds & selected chips */
html.tanner-app body [style*="#FFD100"],
html.tanner-app body [style*="#ffd100"],
html.tanner-app body [style*="#FFD000"],
html.tanner-app body [style*="#ffd000"],
html.tanner-app body .bg-\[\#FFD100\],
html.tanner-app body .bg-\[\#ffd100\],
html.tanner-app body .bg-\[\#FFD000\],
html.tanner-app body .bg-\[\#ffd000\],
html.tanner-app body .bg-14k,
html.tanner-app body [class~="bg-14k"],
html.tanner-app body .t-button,
html.tanner-app body .tanner-btn-primary,
html.tanner-app body .tnr-btn-primary,
html.tanner-app body .tanner-choice--selected,
html.tanner-app body .tanner-choice[data-selected="true"],
html.tanner-app body .tanner-step-chip--active,
html.tanner-app body [data-state="checked"],
html.tanner-app body .tnr-chip-selected,
html.tanner-app body .tnr-chip[data-selected="true"],
html.tanner-app body [data-selected="true"],
html.tanner-app body .service-chip-selected,
html.tanner-app body [aria-selected="true"],
html.tanner-app body .tnr-chip.bg-\[\#FFD100\],
html.tanner-app body [class*="chip"][class*="selected"],
html.tanner-app body [class*="chip"][data-selected="true"] {
  background-color: #FFD100 !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  border-color: #FFD100 !important;
}

/* Every text child inside ANY yellow surface is strictly #333333 */
html.tanner-app body [style*="#FFD100"] *,
html.tanner-app body [style*="#ffd100"] *,
html.tanner-app body [style*="#FFD000"] *,
html.tanner-app body [style*="#ffd000"] *,
html.tanner-app body .bg-\[\#FFD100\] *,
html.tanner-app body .bg-\[\#ffd100\] *,
html.tanner-app body .bg-\[\#FFD000\] *,
html.tanner-app body .bg-\[\#ffd000\] *,
html.tanner-app body .bg-14k *,
html.tanner-app body [class~="bg-14k"] *,
html.tanner-app body .t-button *,
html.tanner-app body .tanner-btn-primary *,
html.tanner-app body .tnr-btn-primary *,
html.tanner-app body .tanner-choice--selected *,
html.tanner-app body .tanner-choice[data-selected="true"] *,
html.tanner-app body .tanner-step-chip--active *,
html.tanner-app body [data-state="checked"] *,
html.tanner-app body .tnr-chip-selected *,
html.tanner-app body .tnr-chip[data-selected="true"] *,
html.tanner-app body [data-selected="true"] *,
html.tanner-app body .service-chip-selected *,
html.tanner-app body [aria-selected="true"] *,
html.tanner-app body .tnr-chip.bg-\[\#FFD100\] *,
html.tanner-app body [class*="chip"][class*="selected"] *,
html.tanner-app body [class*="chip"][data-selected="true"] * {
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  fill: #333333 !important;
  stroke: #333333 !important;
}

/* Better booked call state: no yellow box, 3px #FFD100 left rule */
html.tanner-app body .border-14k\/30.bg-14k\/10,
html.tanner-app body [data-booked-call="true"],
html.tanner-app body .tnr-booked-call {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-left: 3px solid #FFD100 !important;
  padding: 8px 0 8px 16px !important;
  border-radius: 0 !important;
}

html.tanner-app body .border-14k\/30.bg-14k\/10 *,
html.tanner-app body [data-booked-call="true"] *,
html.tanner-app body .tnr-booked-call * {
  background: transparent !important;
}

html.tanner-app body .border-14k\/30.bg-14k\/10 > p:first-child,
html.tanner-app body [data-booked-call="true"] .eyebrow,
html.tanner-app body .tnr-booked-call .eyebrow {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  font-family: var(--tnr-display, 'PP Monument Extended', sans-serif) !important;
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

html.tanner-app body .border-14k\/30.bg-14k\/10 > p:not(:first-child),
html.tanner-app body [data-booked-call="true"] .details,
html.tanner-app body .tnr-booked-call .details {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-family: var(--tnr-text, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Assistant FAB label is .tnr-assist-chip (desktop only) — not hidden globally */

/* Ensure bottom footer actions have enough bottom clearance */
.portal-card + div.flex.items-center.justify-between,
main div.flex.items-center.justify-between:last-child {
  padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  padding-right: 80px !important;
}

/* ==========================================================================
   AGREEMENT SPECIFICATION:
   - One document that grows with text: 16px body, 75ch max-width, no inner scroll box.
   - Visible agree checkbox: #0000B3 fill, 2px #FFD100 border, #FFD100 check on #0000B3, 24px.
   - PDF action buttons clearance.
   ========================================================================== */

/* Agreement text on screen: 16px body, 75 characters per line, no inner scroll box */
html.tanner-app body .tnr-agreement-body,
html.tanner-app body .tnr-agreement-document {
  font-family: var(--tnr-text, 'Inter', system-ui, sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  max-width: 75ch !important;
  max-height: none !important;
  overflow: visible !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Visible Agree Checkbox: #0000B3 fill, 2px #FFD100 border, #FFD100 check on #0000B3, 24px */
html.tanner-app body button[role="checkbox"].agree-checkbox,
html.tanner-app body button[role="checkbox"].h-6,
html.tanner-app body .agree-checkbox,
html.tanner-app body button[role="checkbox"][data-state] {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  background-color: #0000B3 !important;
  border: 2px solid #FFD100 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

html.tanner-app body button[role="checkbox"].agree-checkbox svg,
html.tanner-app body button[role="checkbox"].h-6 svg,
html.tanner-app body .agree-checkbox svg,
html.tanner-app body button[role="checkbox"][data-state] svg {
  width: 16px !important;
  height: 16px !important;
  color: #FFD100 !important;
  stroke: #FFD100 !important;
  fill: none !important;
  stroke-width: 3 !important;
}

/* Ensure agreement download actions don't collide with assistant */
#agreement .flex.flex-wrap.gap-3,
#agreement + div,
div[id="agreement"] {
  padding-bottom: 24px !important;
}
/* Field example helpers (not placeholders) */
.tnr-field-example {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #E6E7E7;
  margin: 0;
}

html.tanner-app body .tnr-field-required {
  color: #ffd100;
  font-weight: 700;
  margin-left: 0.15em;
}
/* Route changes: instant scroll reset; smooth only on explicit in-page anchors */
html.tanner-app,
html.tanner-app body,
html.tanner-app main,
html.tanner-app .portal-root main {
  scroll-behavior: auto !important;
}
html.tanner-app [data-scroll-smooth="true"] {
  scroll-behavior: smooth;
}
.tnr-upload-row progress,
.tnr-upload-row .tnr-upload-pct {
  font-variant-numeric: tabular-nums;
}
/* Quick inquiry: fit laptop viewport, sticky send */
.tnr-inquiry-panel .tnr-inquiry-scroll {
  -webkit-overflow-scrolling: touch;
}
.tnr-inquiry-footer .tnr-cta {
  margin-top: 0;
}

/* ==========================================================================
   Oct 4 contrast sweep — three rules (release: verify at 375px + 1280px)
   1) No #333333 text on #0000FF / blueprint blue without a yellow surface
   2) No white on #FFD100
   3) No yellow on #FFD100
   ========================================================================== */

html.tanner-app body button[aria-checked="true"][class*="border-14k"],
html.tanner-app body button[aria-checked="true"][class*=" bg-14k/"],
html.tanner-app body button[aria-checked="true"][class^="bg-14k/"],
html.tanner-app body button[role="checkbox"][aria-checked="true"][class*=" bg-14k/"],
html.tanner-app body button[role="checkbox"][aria-checked="true"][class^="bg-14k/"] {
  background-color: #FFD100 !important;
  background-image: none !important;
  border-color: #FFD100 !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
}
html.tanner-app body button[aria-checked="true"][class*="border-14k"] *,
html.tanner-app body button[aria-checked="true"][class*=" bg-14k/"] *,
html.tanner-app body button[aria-checked="true"][class^="bg-14k/"] *,
html.tanner-app body button[role="checkbox"][aria-checked="true"][class*=" bg-14k/"] *,
html.tanner-app body button[role="checkbox"][aria-checked="true"][class^="bg-14k/"] * {
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  fill: #333333 !important;
  stroke: #333333 !important;
  opacity: 1 !important;
}

html.tanner-app body .tnr-notif-badge,
html.tanner-app body .tnr-notif-badge * {
  background: #FFD100 !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
}

html.tanner-app body .border-\[\#FFD100\].bg-\[\#FFD100\],
html.tanner-app body [class*="border-[#FFD100]"][class*="bg-[#FFD100]"],
html.tanner-app body [style*="background:#FFD100"],
html.tanner-app body [style*='background: #FFD100'] {
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
}
html.tanner-app body .border-\[\#FFD100\].bg-\[\#FFD100\] *,
html.tanner-app body [class*="border-[#FFD100]"][class*="bg-[#FFD100]"] * {
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  fill: #333333 !important;
}

@media (max-width: 767px) {
  html.tanner-app body button.tanner-btn-primary:not(:disabled):not([aria-disabled="true"]),
  html.tanner-app body a.tanner-btn-primary,
  html.tanner-app body .tnr-sticky-action-bar button:not(:disabled),
  html.tanner-app body [data-sticky-action="true"] button:not(:disabled),
  html.tanner-app body .portal-sticky-bar button:not(:disabled) {
    background-color: #FFD100 !important;
    color: #333333 !important;
    -webkit-text-fill-color: #333333 !important;
  }
  html.tanner-app body button.tanner-btn-primary:not(:disabled) *,
  html.tanner-app body .tnr-sticky-action-bar button:not(:disabled) *,
  html.tanner-app body [data-sticky-action="true"] button:not(:disabled) * {
    color: #333333 !important;
    -webkit-text-fill-color: #333333 !important;
    fill: #333333 !important;
    stroke: #333333 !important;
  }
}

/* ==========================================================================
   Oct 7 — no faded text, one panel, content column, dedupe chrome
   ========================================================================== */

html.tanner-app body p[class*="opacity-"],
html.tanner-app body span[class*="opacity-"],
html.tanner-app body a[class*="opacity-"],
html.tanner-app body label[class*="opacity-"],
html.tanner-app body .opacity-50,
html.tanner-app body .opacity-55,
html.tanner-app body .opacity-70 {
  opacity: 1 !important;
  color: #E6E7E7 !important;
  -webkit-text-fill-color: #E6E7E7 !important;
}
html.tanner-app body .nav-chip-row.opacity-90,
html.tanner-app body .nav-chip-row[class*="opacity-"] {
  opacity: 1 !important;
  color: #E6E7E7 !important;
  -webkit-text-fill-color: #E6E7E7 !important;
}
html.tanner-app body .t-label,
html.tanner-app body .tanner-label,
html.tanner-app body label.tanner-label {
  font: 400 11px/1.5 var(--tnr-display, "PP Monument Extended", sans-serif) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #E6E7E7 !important;
}
html.tanner-app body .t-h1,
html.tanner-app body h1.t-h1 {
  font: 900 clamp(27px, 7vw, 42px)/1 var(--tnr-display, "PP Monument Extended", sans-serif) !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  text-wrap: wrap !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html.tanner-app body main,
html.tanner-app body .portal-root,
html.tanner-app body .portal-main {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
html.tanner-app body main > *,
html.tanner-app body .portal-root > * {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* One popover / menu surface */
html.tanner-app body [data-radix-popper-content-wrapper] > *,
html.tanner-app body [role="menu"],
html.tanner-app body [data-radix-menu-content],
html.tanner-app body .tanner-popover,
html.tanner-app body [class*="DropdownMenuContent"] {
  background: #0000B3 !important;
  background-color: #0000B3 !important;
  background-image: none !important;
  border: 1px solid #0000D9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
html.tanner-app body [role="menu"] [role="menu"],
html.tanner-app body .tanner-popover .border-primary-foreground {
  border: none !important;
  box-shadow: none !important;
}

/* Pinned bars align to centered content column */
@media (min-width: 768px) {
  html.tanner-app body .tnr-sticky-action-bar:not(.portal-sticky-bar),
  html.tanner-app body [data-sticky-action="true"]:not(.portal-sticky-bar),
  html.tanner-app body [data-sticky-bar="true"]:not(.portal-sticky-bar) {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(100%, 72rem) !important;
    max-width: min(calc(100% - 2rem), 72rem) !important;
  }
}

/* One primary action in sticky footers */
@media (max-width: 767px) {
  html.tanner-app body .tnr-sticky-action-bar > *:not(:first-child),
  html.tanner-app body [data-sticky-action="true"] > *:not(:first-child),
  html.tanner-app body [data-sticky-bar="true"] > *:not(:first-child),
  html.tanner-app body .portal-sticky-bar > *:not(:first-child),
  html.tanner-app body .tnr-questionnaire-footer > *:not(:last-child) {
    display: none !important;
  }
  html.tanner-app body .tnr-questionnaire-footer .tnr-btn-link {
    display: none !important;
  }
}

html.tanner-app body .tnr-overview-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

html.tanner-app body .tnr-nav-locked + * {
  pointer-events: none !important;
}

/* Step / project pages: one progress row — hide legacy step chip grid under phase tabs */
/* P9 — portal header mobile: phase short labels on phone */
html.tanner-app body .tnr-phase-tab__short {
  display: inline !important;
  max-width: 4.25rem !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

@media (min-width: 1024px) {
  html.tanner-app body .tnr-phase-tab__short {
    display: none !important;
  }
}

html.tanner-app body .tnr-hide-step-chips header > .mb-5 + .mb-5 {
  display: none !important;
}
html.tanner-app body .tnr-hide-step-chips .tnr-step-eleven-row {
  display: none !important;
}
html.tanner-app body .tnr-hide-step-chips header ~ section .h-2.overflow-hidden {
  display: none !important;
}

/* ==========================================================================
   Three-blue layering — shell / page / tile (Portal + Command)
   ========================================================================== */

html.tanner-app body .bg-blueprint {
  background-color: var(--tnr-page) !important;
  background-image: none !important;
}

html.tanner-app body .portal-root.bg-blueprint,
html.tanner-app body.tnr-command,
html.tanner-app body.tnr-sticky-nav {
  background-color: var(--tnr-shell) !important;
}

html.tanner-app body .portal-root main,
html.tanner-app body.tnr-command main,
html.tanner-app body.tnr-sticky-nav main,
html.tanner-app body .portal-main {
  background-color: var(--tnr-page) !important;
  background-image: none !important;
  padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body aside[data-collapsed],
html.tanner-app body.tnr-command aside,
html.tanner-app body.tnr-sticky-nav aside {
  background-color: var(--tnr-shell) !important;
  border-color: var(--tnr-tile) !important;
}

html.tanner-app body header,
html.tanner-app body .fixed.top-0,
html.tanner-app body [class*="fixed"][class*="inset-x-0"][class*="top-0"] {
  background-color: var(--tnr-shell) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--tnr-tile) !important;
  border-radius: 0 !important;
}

html.tanner-app body .tnr-sticky-action-bar,
html.tanner-app body [data-sticky-action="true"],
html.tanner-app body [data-sticky-bar="true"],
html.tanner-app body .portal-sticky-bar {
  background-color: var(--tnr-shell) !important;
  background-image: none !important;
  border-top: 1px solid var(--tnr-tile) !important;
  border-radius: 0 !important;
}

html.tanner-app body [role="dialog"],
html.tanner-app body [data-radix-dialog-content],
html.tanner-app body [data-radix-menu-content],
html.tanner-app body [role="menu"],
html.tanner-app body [data-radix-popper-content-wrapper] > *:not(.tnr-date-picker-popover),
html.tanner-app body [data-state][class*="drawer"],
html.tanner-app body .tanner-popover {
  background-color: var(--tnr-shell) !important;
  border-color: var(--tnr-tile) !important;
  border-radius: 0 !important;
}

html.tanner-app body .tanner-field,
html.tanner-app body .tanner-textarea,
html.tanner-app body .tanner-select-trigger,
html.tanner-app body .tanner-chip,
html.tanner-app body .tanner-choice,
html.tanner-app body main .tanner-field,
html.tanner-app body main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
html.tanner-app body main textarea,
html.tanner-app body main select {
  background-color: var(--tnr-shell) !important;
  border-color: var(--tnr-tile) !important;
  border-radius: 0 !important;
}

html.tanner-app body aside button,
html.tanner-app body header button[class*="h-11"],
html.tanner-app body header button[class*="w-11"],
html.tanner-app body header .h-11.w-11 {
  background-color: var(--tnr-tile) !important;
  border: 1px solid var(--tnr-tile) !important;
  border-radius: 0 !important;
  color: var(--tnr-white) !important;
}

html.tanner-app body [class*="border-primary-foreground"],
html.tanner-app body [class*="divide-primary-foreground"],
html.tanner-app body .border-b,
html.tanner-app body .border-t,
html.tanner-app body .border-r,
html.tanner-app body .border-l,
html.tanner-app body .divide-y > * + *,
html.tanner-app body .tnr-stat-strip {
  border-color: var(--tnr-tile) !important;
}

html.tanner-app body [class*="rounded"],
html.tanner-app body .rounded,
html.tanner-app body .rounded-md,
html.tanner-app body .rounded-lg,
html.tanner-app body .rounded-sm {
  border-radius: 0 !important;
}

html.tanner-app body .tnr-assist-launch {
  position: fixed !important;
  z-index: 200 !important;
  right: 16px !important;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

html.tanner-app body .tnr-assist-launch .tnr-assist-btn {
  pointer-events: auto !important;
}

html.tanner-app body .tnr-assist-chip,
html.tanner-app body .tnr-assist-copy,
html.tanner-app body .tnr-assist-label {
  display: none !important;
}

html.tanner-app body:not(:has(.portal-root)) .tnr-assist-launch,
html.tanner-app body:not(:has(.portal-root)) .tnr-assist-panel {
  display: none !important;
}

/* Sign-in: no bottom-right chrome (assistant chip / toast host / stray sticky) */
html.tanner-app body:has(.tnr-auth-page) .tnr-assist-launch,
html.tanner-app body:has(.tnr-auth-page) .tnr-assist-panel,
html.tanner-app body:has(.tnr-auth-page) .tnr-assist-chip,
html.tanner-app body:has(.tnr-auth-page) .portal-sticky-bar,
html.tanner-app body:has(.tnr-auth-page) .tnr-sticky-action-bar,
html.tanner-app body:has(.tnr-auth-page) [data-sonner-toaster],
html.tanner-app body:has(.tnr-auth-page) section[aria-label*="Notifications"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

html.tanner-app body .tnr-assist-btn {
  flex-shrink: 0 !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFD100 !important;
  color: #333333 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html.tanner-app body .tnr-assist-btn svg.lucide {
  color: #333333 !important;
  stroke: #333333 !important;
}

html.tanner-app body .tnr-assist-panel {
  position: fixed !important;
  z-index: 200 !important;
  right: 16px !important;
  bottom: calc(16px + 48px + 16px + env(safe-area-inset-bottom, 0px)) !important;
  background: #0000B3 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.tanner-app body:has(.tnr-sticky-action-bar) .tnr-assist-launch,
html.tanner-app body:has([data-sticky-action="true"]) .tnr-assist-launch,
html.tanner-app body:has([data-sticky-bar="true"]) .tnr-assist-launch,
html.tanner-app body:has(.portal-sticky-bar) .tnr-assist-launch {
  bottom: calc(72px + 16px + env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body:has(.tnr-sticky-action-bar) .tnr-assist-panel,
html.tanner-app body:has([data-sticky-action="true"]) .tnr-assist-panel,
html.tanner-app body:has([data-sticky-bar="true"]) .tnr-assist-panel,
html.tanner-app body:has(.portal-sticky-bar) .tnr-assist-panel {
  bottom: calc(72px + 16px + 48px + 16px + env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body:has(.tnr-sticky-action-bar) .portal-root main,
html.tanner-app body:has([data-sticky-action="true"]) .portal-root main,
html.tanner-app body:has([data-sticky-bar="true"]) .portal-root main,
html.tanner-app body:has(.portal-sticky-bar) .portal-root main,
html.tanner-app body:has(.tnr-sticky-action-bar).tnr-command main,
html.tanner-app body:has([data-sticky-action="true"]).tnr-command main {
  padding-bottom: calc(72px + 96px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ==========================================================================
   One yellow — #FFD100 only (no #FFD000 / hsl(49 98% 51%) / hsl(49 100% 41%))
   ========================================================================== */

html.tanner-app [class*="text-14k"],
html.tanner-app [class*="border-14k"],
html.tanner-app [class~="bg-14k"],
html.tanner-app [class*="ring-14k"],
html.tanner-app [class*="from-14k"],
html.tanner-app [class*="to-14k"],
html.tanner-app [class*="via-14k"],
html.tanner-app .text-accent,
html.tanner-app .bg-accent,
html.tanner-app .border-accent,
html.tanner-app .ring-accent {
  --tw-text-opacity: 1 !important;
  --tw-border-opacity: 1 !important;
  --tw-ring-opacity: 1 !important;
}

html.tanner-app [class*="text-14k"],
html.tanner-app .text-accent {
  color: var(--tnr-yellow) !important;
  -webkit-text-fill-color: var(--tnr-yellow) !important;
}

html.tanner-app [class*="border-14k"],
html.tanner-app .border-accent {
  border-color: var(--tnr-yellow) !important;
}

html.tanner-app [class~="bg-14k"],
html.tanner-app .bg-accent,
html.tanner-app [class*="bg-secondary"] {
  background-color: var(--tnr-yellow) !important;
  background-image: none !important;
}

html.tanner-app [class*=" bg-14k/"],
html.tanner-app [class^="bg-14k/"],
html.tanner-app [class*="bg-primary-foreground/"],
html.tanner-app [class*="bg-white/"] {
  background-color: var(--tnr-shell) !important;
  background-image: none !important;
}

html.tanner-app body .nav-chip-row.tnr-nav-locked,
html.tanner-app body .nav-chip-row.tnr-nav-locked *,
html.tanner-app body .nav-chip-row.tnr-nav-locked span {
  opacity: 1 !important;
  color: var(--tnr-static) !important;
  -webkit-text-fill-color: var(--tnr-static) !important;
  fill: var(--tnr-static) !important;
  stroke: var(--tnr-static) !important;
}

html.tanner-app body .p-8.border[class*="primary-foreground"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* ==========================================================================
   Type enforcement — guidelines §04 (roles in tnr-type.css)
   ========================================================================== */

html.tanner-app body .font-display.font-bold:not(h1):not(h2):not(.t-h1):not(.t-h2):not(.t-display):not(.tanner-btn-primary):not(.tnr-btn-primary):not(.t-button),
html.tanner-app body .font-display.font-semibold:not(h1):not(h2):not(.t-h1):not(.t-h2),
html.tanner-app body h3.font-display.font-bold,
html.tanner-app body h3.font-display.font-semibold,
html.tanner-app body .font-display[class*="font-bold"]:not(.tanner-btn-primary):not(.tnr-btn-primary):not(.t-button) {
  font-weight: 400 !important;
}

html.tanner-app body .font-body,
html.tanner-app body .t-body,
html.tanner-app body .t-small,
html.tanner-app body p.font-body,
html.tanner-app body span.font-body,
html.tanner-app body li.font-body,
html.tanner-app body label.font-body,
html.tanner-app body .tanner-field,
html.tanner-app body .tanner-select-trigger,
html.tanner-app body .tanner-textarea,
html.tanner-app body input.font-body,
html.tanner-app body textarea.font-body {
  font-family: var(--tnr-text, var(--theme-font-body)) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

html.tanner-app body .font-body.uppercase,
html.tanner-app body .font-body[class*="uppercase"],
html.tanner-app body p.font-body[class*="uppercase"],
html.tanner-app body span.font-body[class*="uppercase"] {
  font-family: var(--tnr-display, var(--theme-font-display)) !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
}

html.tanner-app body .font-body.text-xs,
html.tanner-app body .text-xs.font-body,
html.tanner-app body .font-body.text-sm,
html.tanner-app body p.font-body.text-xs {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html.tanner-app body .t-num,
html.tanner-app body .font-display.font-black.text-14k:not(h1):not(h2):not(.t-h1):not(.t-h2),
html.tanner-app body span.t-num,
html.tanner-app body [data-tnr-num="true"] {
  font-family: var(--tnr-display, var(--theme-font-display)) !important;
  font-weight: 300 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: .85 !important;
  letter-spacing: -.01em !important;
  color: var(--tnr-yellow) !important;
  -webkit-text-fill-color: var(--tnr-yellow) !important;
}

html.tanner-app body .t-h1 .t-dot,
html.tanner-app body h1.t-h1 .t-dot,
html.tanner-app body .t-h1 > span.t-dot[aria-hidden="true"] {
  display: inline-block !important;
  width: .46em !important;
  height: .33em !important;
  margin-left: .06em !important;
  background: var(--tnr-yellow) !important;
  clip-path: polygon(28.9% 0, 100% 0, 71.1% 100%, 0 100%) !important;
  transform: none !important;
  vertical-align: baseline !important;
}

html.tanner-app body .tnr-test-strip,
html.tanner-app body [class*="test-mode"],
html.tanner-app body [data-test-mode="true"] {
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
}

html.tanner-app body [style*="font-family"][style*="Grotesk"],
html.tanner-app body [class*="Grotesk"] {
  font-family: var(--tnr-display, var(--theme-font-display)) !important;
}

/* ==========================================================================
   Lucide icons — outline only, three sizes (24 / 20 / 16). T mark keeps fill.
   ========================================================================== */

html.tanner-app body svg.lucide,
html.tanner-app body .lucide {
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

html.tanner-app body svg.lucide [fill="currentColor"],
html.tanner-app body svg.lucide path[fill]:not([fill="none"]) {
  fill: none !important;
}

html.tanner-app body svg[aria-label="Tanner"] path,
html.tanner-app body svg[aria-label="Tanner"] polygon,
html.tanner-app body svg[aria-label="TANNER"] path,
html.tanner-app body svg[aria-label="TANNER"] polygon,
html.tanner-app body .tnr-wordmark svg path,
html.tanner-app body .tnr-wordmark svg polygon {
  fill: currentColor !important;
  stroke: none !important;
}

html.tanner-app body .tnr-icon-24,
html.tanner-app body .nav-chip-row > svg:first-of-type,
html.tanner-app body .nav-chip-row > .lucide:first-of-type,
html.tanner-app body aside button svg.lucide,
html.tanner-app body header button[class*="h-11"] svg.lucide,
html.tanner-app body .tnr-assist-launch svg.lucide {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  stroke-width: 2.25 !important;
}

html.tanner-app body .tnr-icon-20,
html.tanner-app body h1 svg.lucide,
html.tanner-app body h2 svg.lucide,
html.tanner-app body .t-h1 svg.lucide,
html.tanner-app body .t-h2 svg.lucide {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  stroke-width: 2 !important;
}

html.tanner-app body .tnr-icon-16,
html.tanner-app body .tnr-lock-tag svg.lucide,
html.tanner-app body .p-status svg.lucide,
html.tanner-app body .p-status--locked svg.lucide {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  stroke-width: 2 !important;
}

html.tanner-app body svg.lucide[class*="h-2"],
html.tanner-app body svg.lucide[class*="h-2.5"],
html.tanner-app body svg.lucide[class*="w-2"],
html.tanner-app body svg.lucide[class*="h-3"],
html.tanner-app body svg.lucide[class*="w-3"],
html.tanner-app body svg.lucide[class*="text-[10px]"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  stroke-width: 2 !important;
}

html.tanner-app body .nav-chip-row svg.lucide:not(:first-of-type) {
  width: 16px !important;
  height: 16px !important;
  stroke-width: 2 !important;
}

html.tanner-app body .tnr-lock-tag,
html.tanner-app body .nav-chip-row .tnr-lock-tag,
html.tanner-app body .p-status--locked,
html.tanner-app body span.p-status.p-status--locked {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35em !important;
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--tnr-yellow) !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

html.tanner-app body .tnr-assist-panel textarea:focus,
html.tanner-app body .tnr-assist-panel textarea:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--tnr-tile) !important;
}

html.tanner-app body .tnr-assist-chip.t-label {
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

/* ==========================================================================
   Tablet 768–1023px — collapsed nav, phase numbers, Brand Hub tabs, truncation
   ========================================================================== */

@media (max-width: 1023px) {
  html.tanner-app body .portal-root aside[aria-label="Portal navigation"],
  html.tanner-app body .portal-root aside.hidden.lg\\:flex,
  html.tanner-app body.tnr-command aside,
  html.tanner-app body.tnr-sticky-nav aside {
    display: none !important;
  }

  html.tanner-app body .tnr-assist-chip,
  html.tanner-app body .tnr-assist-label {
    display: none !important;
  }

  html.tanner-app body .tnr-phase-tab {
    flex: 0 0 auto !important;
    min-width: 44px !important;
    width: auto !important;
    max-width: none !important;
  }

  html.tanner-app body .tnr-phase-tab__name {
    display: none !important;
  }

  html.tanner-app body header .mb-5 > .flex.flex-wrap.items-center.gap-2 > div[class*="min-w-[44px]"] {
    flex: 0 0 auto !important;
  }

  html.tanner-app body header .mb-5 > .flex.flex-wrap.items-center.gap-2 > div[class*="min-w-[44px]"] span.hidden.sm\\:inline {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  html.tanner-app body .tnr-phase-tab__name {
    display: inline !important;
  }
}

html.tanner-app body .tnr-brand-hub-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  max-width: 100% !important;
}

html.tanner-app body .tnr-brand-hub-tab {
  flex: 0 1 auto !important;
  min-width: min(100%, 9.5rem) !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  overflow: visible !important;
}

html.tanner-app body .tnr-brand-hub-tab__label {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* Portal save bar: Brand Hub only (avoid phantom bottom strip on auth/marketing) */
html.tanner-app body .tnr-brand-hub-sticky.portal-sticky-bar.tnr-sticky-action-bar,
html.tanner-app body .portal-root .tnr-brand-hub-sticky.portal-sticky-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 70 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  box-sizing: border-box !important;
  padding-left: max(16px, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(16px, env(safe-area-inset-right, 0px)) !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  html.tanner-app body .portal-root:has(aside[data-collapsed="true"]) .tnr-sticky-action-bar,
  html.tanner-app body .portal-root:has(aside[data-collapsed="true"]) .portal-sticky-bar,
  html.tanner-app body:has(.portal-root aside[data-collapsed="true"]) .tnr-sticky-action-bar.portal-sticky-bar {
    left: 64px !important;
    width: calc(100% - 64px) !important;
    right: auto !important;
  }
  html.tanner-app body .portal-root:has(aside[data-collapsed="false"]) .tnr-sticky-action-bar,
  html.tanner-app body .portal-root:has(aside[data-collapsed="false"]) .portal-sticky-bar,
  html.tanner-app body:has(.portal-root aside[data-collapsed="false"]) .tnr-sticky-action-bar.portal-sticky-bar {
    left: 280px !important;
    width: calc(100% - 280px) !important;
    right: auto !important;
  }
}

html.tanner-app body .portal-root .tnr-sticky-action-bar > .max-w-4xl,
html.tanner-app body .portal-root .portal-sticky-bar > .max-w-4xl {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

html.tanner-app body .portal-root main,
html.tanner-app body .portal-root .portal-main {
  min-width: 0 !important;
  overflow-x: hidden !important;
  padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 767px) {
  /* P11 — portal phone: document scroll */


/* P22 — portal invoice rows: brand body type, 48px pay actions */
html.tanner-app body .tnr-portal-invoice-row .font-mono {
  font-family: var(--tnr-body, var(--theme-font-body)) !important;
}
html.tanner-app body a.tnr-btn.tnr-btn-primary.bg-14k,
html.tanner-app body .tnr-portal-invoice-row a.bg-14k {
  min-height: 48px !important;
  height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* P20 — header dropdowns + assistant panel (tile + yellow hairline) */
html.tanner-app body .tnr-header-panel,
html.tanner-app body [data-radix-popper-content-wrapper] > .tnr-header-panel {
  background: #0000D9 !important;
  background-color: #0000D9 !important;
  border: 1px solid #FFD100 !important;
  box-shadow: none !important;
}
html.tanner-app body .tnr-assist-panel {
  background: #0000D9 !important;
  background-color: #0000D9 !important;
  border: 1px solid #FFD100 !important;
}
/* P19 — Documents mobile tabs + project picker */
.tnr-doc-tabs {
  gap: 0;
  scrollbar-width: none;
}
.tnr-doc-tabs::-webkit-scrollbar {
  display: none;
}
@media (max-width: 639px) {
  #portal-doc-project-select {
    width: 100%;
    max-width: 100%;
  }
}

  html.tanner-app body .portal-root.tnr-portal-doc-scroll {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }
  html.tanner-app body .portal-root.tnr-portal-doc-scroll [data-portal-shell],
  html.tanner-app body .portal-root.tnr-portal-doc-scroll [data-portal-columns] {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  html.tanner-app body .portal-root.tnr-portal-doc-scroll main.tnr-portal-main,
  html.tanner-app body .portal-root.tnr-portal-doc-scroll main {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }
  html.tanner-app body .portal-root.tnr-portal-doc-scroll main .overflow-y-auto,
  html.tanner-app body .portal-root.tnr-portal-doc-scroll main [class*="overflow-y-auto"] {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }
}

html.tanner-app body .portal-root main [class*="grid"] > *,
html.tanner-app body .portal-root main [class*="flex"] > .min-w-0 {
  min-width: 0 !important;
}

/* ==========================================================================
   Phone polish — H1 wrap, project switcher, one progress bar, status tags, notices
   ========================================================================== */

html.tanner-app body .tnr-project-switch__select {
  min-width: 120px !important;
  font-family: var(--tnr-text, Inter, sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Project switcher in global header — transparent, no blueprint tile */
html.tanner-app body header[role="banner"] .tnr-project-switch {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  max-width: min(100%, 16rem) !important;
}

html.tanner-app body header[role="banner"] .tnr-project-switch__select {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(255, 209, 0, 0.35) !important;
  color: #e6e7e7 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

html.tanner-app body header[role="banner"] .tnr-project-switch__select:focus-visible {
  outline: 2px solid #ffd100 !important;
  outline-offset: 2px !important;
}

@media (max-width: 767px) {
  html.tanner-app body header[role="banner"] {
    overflow: hidden !important;
  }
  html.tanner-app body header[role="banner"] > div:first-of-type {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 6.5rem) !important;
  }
  html.tanner-app body header[role="banner"] > div:last-of-type {
    flex-shrink: 0 !important;
    gap: 0.35rem !important;
  }
  html.tanner-app body header[role="banner"] .tnr-project-switch {
    display: none !important;
  }
  html.tanner-app body header[role="banner"] img[alt="Tanner"] {
    max-width: min(48vw, 148px) !important;
    height: 20px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  html.tanner-app body header[role="banner"] button[aria-label="Account menu"],
  html.tanner-app body header[role="banner"] button[aria-label="Open menu"] {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
  }
}

html.tanner-app body .portal-root .tnr-project-switch--sidebar {
  display: none !important;
}

/* Portal sidebar — New project CTA readable and not clipped */
html.tanner-app body .portal-root aside a.tnr-btn-primary[href*="projects/new"],
html.tanner-app body .portal-root aside a.tnr-btn-primary.tnr-btn-primary.mt-6 {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  margin-top: 1rem !important;
  padding: 0.65rem 0.75rem !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
  font-size: 10px !important;
  color: #333333 !important;
  background: #ffd100 !important;
  overflow: visible !important;
}

html.tanner-app body .portal-root aside a.tnr-btn-primary[href*="projects/new"] *,
html.tanner-app body .portal-root aside a.tnr-btn-primary.tnr-btn-primary.mt-6 * {
  color: #333333 !important;
}

html.tanner-app body .portal-root aside[class*="overflow-y-auto"] {
  padding-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body .portal-step-page header [role="progressbar"]:not(:first-of-type),
html.tanner-app body .portal-step-page .portal-card [role="progressbar"],
html.tanner-app body .portal-step-page section [role="progressbar"] {
  display: none !important;
}

html.tanner-app body .p-status,
html.tanner-app body span.p-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35em !important;
  padding: 0.35em 0.65em !important;
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}

html.tanner-app body .p-status--waiting {
  background: #FFD100 !important;
  color: #333333 !important;
  border: none !important;
}

html.tanner-app body .p-status--working,
html.tanner-app body .p-status--action,
html.tanner-app body .p-status--muted {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

html.tanner-app body .p-status--done {
  background: transparent !important;
  color: #FFD100 !important;
  border: 1px solid #FFD100 !important;
}

html.tanner-app body .p-status--locked {
  background: #0000D9 !important;
  color: #ffffff !important;
  border: none !important;
}

html.tanner-app body .tnr-notice,
html.tanner-app body .tnr-test-strip,
html.tanner-app body [data-test-mode="true"],
html.tanner-app body [class*="test-mode"]:not(button):not(input),
html.tanner-app body .border-14k\/30.bg-14k\/10 {
  background: transparent !important;
  border: none !important;
  border-left: 3px solid #FFD100 !important;
  padding: 8px 0 8px 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

html.tanner-app body .portal-card.portal-card--locked,
html.tanner-app body .portal-card--locked {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html.tanner-app body .tnr-locked-page {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

html.tanner-app body .tnr-lock-tag,
html.tanner-app body .nav-chip-row .tnr-lock-tag {
  font: 400 11px/1.5 var(--tnr-display, var(--theme-font-display)) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #FFD100 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

html.tanner-app body h1.t-h1 .whitespace-nowrap,
html.tanner-app body .t-h1 .whitespace-nowrap {
  white-space: nowrap !important;
  display: inline !important;
}

html.tanner-app body .tnr-assist-sub {
  max-width: 14rem;
  text-align: right;
}
html.tanner-app body .portal-payments-search {
  padding-left: 40px !important;
}
html.tanner-app body .tnr-messages-page-head {
  position: relative;
  z-index: 1;
}
html.tanner-app body .tnr-messages-upload-hint {
  font-family: var(--theme-font-body, Inter, sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  max-width: 36rem;
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
}
@media (min-width: 1024px) {
  html.tanner-app body .tnr-messages-upload-hint {
    padding-bottom: 0.25rem;
  }
}
html.tanner-app body .tnr-sticky-action-bar.portal-sticky-bar,
html.tanner-app body .portal-sticky-bar.tnr-sticky-action-bar,
html.tanner-app body .tnr-brand-hub-sticky {
  background: #0000B3 !important;
  background-color: #0000B3 !important;
}
html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-sticky-secondary {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  background: transparent !important;
  color: hsl(var(--primary-foreground)) !important;
  border: 1px solid hsl(var(--primary-foreground) / 0.35) !important;
  box-shadow: none !important;
}
@media (min-width: 640px) {
  html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-sticky-secondary {
    width: auto !important;
    max-width: min(100%, 20rem) !important;
  }
}
html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-btn-primary,
html.tanner-app body .tnr-brand-hub-sticky-inner .tanner-btn-primary {
  width: 100% !important;
}
@media (min-width: 640px) {
  html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-btn-primary,
  html.tanner-app body .tnr-brand-hub-sticky-inner .tanner-btn-primary {
    width: auto !important;
  }
}

html.tanner-app body .tnr-brand-hub-sticky .tnr-brand-hub-sticky-inner {
  max-width: 48rem !important;
  width: 100% !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
}
html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-sticky-secondary.tnr-btn-secondary {
  background: transparent !important;
  border: 2px solid #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 44px !important;
}
html.tanner-app body .tnr-brand-hub-sticky-inner .tnr-sticky-secondary.tnr-btn-secondary * {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}
@media (max-width: 767px) {
  html.tanner-app body .portal-sticky-bar.tnr-brand-hub-sticky button.tnr-sticky-secondary,
  html.tanner-app body .tnr-brand-hub-sticky .tnr-sticky-secondary {
    background: transparent !important;
    color: #FFD100 !important;
    border: 2px solid #FFD100 !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   Global bar fix — Brand Hub save bar only; no phantom sticky / autofill bleed
   ========================================================================== */

html.tanner-app body input:not([type="checkbox"]):not([type="radio"]),
html.tanner-app body textarea,
html.tanner-app body select {
  background-clip: padding-box !important;
}

html.tanner-app body .tnr-sticky-action-bar:not(.tnr-brand-hub-sticky),
html.tanner-app body .portal-sticky-bar:not(.tnr-brand-hub-sticky),
html.tanner-app body [data-sticky-bar="true"]:not(.tnr-brand-hub-sticky),
html.tanner-app body [data-sticky-action="true"]:not(.tnr-brand-hub-sticky) {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  transform: none !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html.tanner-app body .tnr-brand-hub-sticky.portal-sticky-bar.tnr-sticky-action-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 70 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 72px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1024px) {
  html.tanner-app body .portal-root:has(aside[data-collapsed="true"]) .tnr-brand-hub-sticky.portal-sticky-bar {
    left: 64px !important;
    width: calc(100% - 64px) !important;
    right: auto !important;
  }
  html.tanner-app body .portal-root:has(aside[data-collapsed="false"]) .tnr-brand-hub-sticky.portal-sticky-bar {
    left: 280px !important;
    width: calc(100% - 280px) !important;
    right: auto !important;
  }
}

html.tanner-app body:has(.tnr-brand-hub-sticky[data-sticky-bar="true"]) .portal-root main,
html.tanner-app body:has(.tnr-brand-hub-sticky[data-sticky-bar="true"]) main,
html.tanner-app body:has(.tnr-brand-hub-sticky[data-sticky-bar="true"]).tnr-command main {
  padding-bottom: calc(72px + 96px + env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body:has(.tnr-sticky-action-bar:not(.tnr-brand-hub-sticky)) main,
html.tanner-app body:has([data-sticky-bar="true"]:not(.tnr-brand-hub-sticky)) main,
html.tanner-app body:has(.portal-sticky-bar:not(.tnr-brand-hub-sticky)) main {
  padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px)) !important;
}

html.tanner-app body:has(.tnr-brand-hub-sticky) .tnr-assist-launch {
  bottom: calc(72px + 16px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Sign-in: readable errors on blue; no stray footer chrome */
html.tanner-app body .min-h-screen.bg-blueprint .tnr-auth-error,
html.tanner-app body .min-h-screen.bg-blueprint [data-auth-error="true"],
html.tanner-app body .min-h-screen.bg-blueprint p.text-destructive,
html.tanner-app body .min-h-screen.bg-blueprint .text-destructive {
  color: #ffd100 !important;
  -webkit-text-fill-color: #ffd100 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  padding: 0.65rem 0.75rem !important;
  border-left: 3px solid #ffd100 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

html.tanner-app body:has(.tnr-brand-hub-sticky) .tnr-assist-panel {
  bottom: calc(72px + 16px + 48px + 16px + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 1023px) {
  html.tanner-app body .tnr-assist-copy {
    display: none !important;
  }
}

/* Yellow fill keeps a carbon label. text-14k was leaving yellow words on a yellow button. */
html.tanner-app a[class~="bg-14k"]:not([aria-disabled="true"]),
html.tanner-app a[class~="bg-14k"]:not([aria-disabled="true"]) *,
html.tanner-app button[class~="bg-14k"]:not(:disabled):not([aria-disabled="true"]),
html.tanner-app button[class~="bg-14k"]:not(:disabled):not([aria-disabled="true"]) * {
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
}

/* Outline buttons stay empty on hover: yellow border, yellow label, no fill. */
a[class*="hover:bg-14k"]:hover,
button[class*="hover:bg-14k"]:hover,
[class*="hover:bg-14k"]:hover {
  background-color: transparent !important;
  background-image: none !important;
  border-color: #FFD100 !important;
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}

a[class*="hover:bg-14k"]:hover *,
button[class*="hover:bg-14k"]:hover *,
[class*="hover:bg-14k"]:hover * {
  color: #FFD100 !important;
  -webkit-text-fill-color: #FFD100 !important;
}
