:root {
  --tt-form-ink: #17201d;
  --tt-form-solid: #17201d;
  --tt-form-muted: #68716c;
  --tt-form-paper: #f4f0e7;
  --tt-form-panel: #fffdf8;
  --tt-form-line: #d8d4ca;
  --tt-form-signal: #ff5a36;
  --tt-form-signal-dark: #d83b1d;
  --tt-form-acid: #c9f45b;
  --tt-form-sea: #116a5c;
  --tt-form-danger: #b42318;
  --tt-form-shadow: 0 18px 50px rgba(35, 43, 39, .1);
  --tt-form-radius: 18px;
}

.tt-forms-page,
.tt-form-public-page {
  background:
    linear-gradient(rgba(23, 32, 29, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 32, 29, .035) 1px, transparent 1px),
    var(--tt-form-paper);
  background-size: 28px 28px;
  color: var(--tt-form-ink);
}

.tt-forms-page h1,
.tt-forms-page h2,
.tt-forms-page h3,
.tt-form-public-page h1,
.tt-form-public-page h2,
.tt-form-public-page h3 {
  color: var(--tt-form-ink);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
}

.tt-forms-container,
.tt-forms-builder-container,
.tt-form-public-container {
  max-width: none;
}

.tt-forms-container {
  padding: 28px clamp(18px, 3vw, 52px) 60px;
}

.tt-forms-builder-container {
  padding: 18px 24px 60px;
}

.tt-form-public-container {
  min-height: 100vh;
  padding: clamp(22px, 4vw, 58px) 20px;
}

.tt-forms-kicker {
  display: inline-block;
  color: var(--tt-form-sea);
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .15em;
  line-height: 1.3;
  text-transform: uppercase;
}

.tt-backlink {
  align-items: center;
  color: var(--tt-form-muted);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 800;
  gap: .45rem;
  margin-bottom: .75rem;
  text-decoration: none;
}

.tt-backlink:hover {
  color: var(--tt-form-signal-dark);
}

.tt-forms-alert {
  border: 1px solid currentColor;
  border-radius: 12px;
  box-shadow: 5px 5px 0 rgba(23, 32, 29, .1);
}

.tt-forms-btn,
.tt-forms-icon-btn {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-weight: 850;
  gap: .5rem;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
}

.tt-forms-btn {
  border-radius: 9px;
  min-height: 42px;
  padding: .76rem 1rem;
}

.tt-forms-btn:hover,
.tt-forms-icon-btn:hover {
  transform: translateY(-2px);
}

.tt-forms-btn:focus-visible,
.tt-forms-icon-btn:focus-visible,
.tt-forms-page button:focus-visible,
.tt-form-public-page button:focus-visible,
.tt-forms-page input:focus-visible,
.tt-forms-page select:focus-visible,
.tt-forms-page textarea:focus-visible,
.tt-form-public-page input:focus-visible,
.tt-form-public-page select:focus-visible,
.tt-form-public-page textarea:focus-visible {
  outline: 3px solid rgba(255, 90, 54, .3);
  outline-offset: 2px;
}

.tt-forms-btn--primary {
  background: var(--tt-form-solid);
  box-shadow: 4px 4px 0 var(--tt-form-acid);
  color: #fff;
}

.tt-forms-btn--primary:hover {
  background: #28322e;
  color: #fff;
}

.tt-forms-btn--ghost {
  background: var(--tt-form-panel);
  border-color: var(--tt-form-line);
  color: var(--tt-form-ink);
}

.tt-forms-btn--ghost:hover {
  border-color: var(--tt-form-ink);
  color: var(--tt-form-ink);
}

.tt-forms-btn--submit,
.tt-forms-btn--publish {
  background: var(--tt-form-signal);
  box-shadow: 4px 4px 0 var(--tt-form-solid);
  color: #fff;
}

.tt-forms-btn--submit:hover,
.tt-forms-btn--publish:hover {
  background: var(--tt-form-signal-dark);
  color: #fff;
}

.tt-forms-btn--danger {
  background: transparent;
  border-color: rgba(180, 35, 24, .35);
  color: var(--tt-form-danger);
}

.tt-forms-icon-btn {
  background: var(--tt-form-panel);
  border-color: var(--tt-form-line);
  border-radius: 9px;
  color: var(--tt-form-ink);
  height: 39px;
  padding: 0;
  width: 39px;
}

.tt-forms-icon-btn:hover {
  background: var(--tt-form-solid);
  border-color: var(--tt-form-ink);
  color: #fff;
}

.tt-forms-center,
.tt-intake-shell,
.tt-submission-shell {
  margin: 0 auto;
  max-width: 1500px;
}

/* Forms center */
.tt-forms-hero {
  background:
    radial-gradient(circle at 82% 22%, rgba(201, 244, 91, .3), transparent 21%),
    var(--tt-form-solid);
  border-radius: 24px;
  color: #fff;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  overflow: hidden;
  padding: clamp(28px, 5vw, 64px);
  position: relative;
}

.tt-forms-hero::before {
  background: var(--tt-form-signal);
  content: "";
  height: 12px;
  left: 0;
  position: absolute;
  top: 0;
  width: 38%;
}

.tt-forms-hero .tt-forms-kicker {
  color: var(--tt-form-acid);
}

.tt-forms-hero h1 {
  color: #fff;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .94;
  margin: 14px 0 20px;
  max-width: 900px;
}

.tt-forms-hero p {
  color: rgba(255, 255, 255, .72);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.7;
  max-width: 720px;
}

.tt-forms-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.tt-forms-hero .tt-forms-btn--primary {
  background: var(--tt-form-signal);
  box-shadow: 4px 4px 0 var(--tt-form-acid);
}

.tt-forms-hero .tt-forms-btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, .3);
  color: #fff;
}

.tt-forms-hero__gauge {
  align-self: center;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 20px;
  backdrop-filter: blur(14px);
  padding: 24px;
}

.tt-forms-gauge {
  align-items: center;
  aspect-ratio: 1;
  background: conic-gradient(var(--tt-form-acid) var(--gauge), rgba(255, 255, 255, .1) 0);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto 22px;
  max-width: 210px;
  position: relative;
}

.tt-forms-gauge::after {
  background: var(--tt-form-solid);
  border-radius: inherit;
  content: "";
  inset: 13px;
  position: absolute;
}

.tt-forms-gauge strong,
.tt-forms-gauge span {
  position: relative;
  z-index: 1;
}

.tt-forms-gauge strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.3rem;
}

.tt-forms-gauge span {
  color: rgba(255, 255, 255, .6);
  font-size: .76rem;
}

.tt-forms-plan-row {
  border-top: 1px solid rgba(255, 255, 255, .14);
  display: flex;
  font-size: .82rem;
  justify-content: space-between;
  padding-top: 17px;
}

.tt-forms-metric-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 18px 0;
}

.tt-forms-metric {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 14px;
  box-shadow: 4px 4px 0 rgba(23, 32, 29, .07);
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 22px;
}

.tt-forms-metric > span {
  color: var(--tt-form-muted);
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tt-forms-metric strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.35rem;
  line-height: 1;
  margin: auto 0 10px;
}

.tt-forms-metric small {
  color: var(--tt-form-muted);
  line-height: 1.35;
}

.tt-forms-metric--signal {
  background: var(--tt-form-acid);
  border-color: var(--tt-form-ink);
}

.tt-forms-metric--danger {
  box-shadow: inset 0 4px 0 var(--tt-form-danger), 4px 4px 0 rgba(23, 32, 29, .07);
}

.tt-forms-panel {
  background: rgba(255, 253, 248, .72);
  border: 1px solid var(--tt-form-line);
  border-radius: 20px;
  padding: clamp(18px, 3vw, 32px);
}

.tt-forms-panel__head,
.tt-intake-header,
.tt-submission-header {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.tt-forms-panel__head h2,
.tt-intake-header h1,
.tt-submission-header h1 {
  font-size: clamp(1.8rem, 3vw, 3rem);
  margin: 5px 0 0;
}

.tt-forms-filterbar,
.tt-intake-filterbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tt-forms-filterbar label {
  align-items: center;
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 9px;
  display: flex;
  gap: 8px;
  padding: 0 11px;
}

.tt-forms-filterbar input,
.tt-forms-filterbar select,
.tt-intake-filterbar input,
.tt-intake-filterbar select {
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 9px;
  color: var(--tt-form-ink);
  min-height: 40px;
  padding: .55rem .75rem;
}

.tt-forms-filterbar label input {
  border: 0;
  min-width: 230px;
  padding-left: 0;
}

.tt-forms-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 310px;
  padding: 45px 20px;
  text-align: center;
}

.tt-forms-empty__mark {
  align-items: center;
  background: var(--tt-form-acid);
  border: 2px solid var(--tt-form-ink);
  border-radius: 50%;
  box-shadow: 5px 5px 0 var(--tt-form-solid);
  display: flex;
  font-size: 1.8rem;
  height: 72px;
  justify-content: center;
  margin-bottom: 24px;
  transform: rotate(-5deg);
  width: 72px;
}

.tt-forms-empty h2,
.tt-forms-empty h3 {
  font-size: 1.8rem;
}

.tt-forms-empty p {
  color: var(--tt-form-muted);
}

.tt-forms-catalog {
  display: grid;
  gap: 12px;
}

.tt-form-card {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) auto;
  min-height: 148px;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tt-form-card:hover {
  border-color: #aaa69c;
  box-shadow: 0 14px 35px rgba(35, 43, 39, .08);
  transform: translateY(-2px);
}

.tt-form-card__rail {
  background: var(--tt-form-sea);
}

.tt-form-card__main {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(230px, 1.15fr) minmax(420px, 1.5fr);
  padding: 21px 24px;
}

.tt-form-card__identity h3 {
  font-size: 1.32rem;
  margin: 8px 0 4px;
}

.tt-form-card__identity h3 a {
  color: inherit;
  text-decoration: none;
}

.tt-form-card__identity p,
.tt-form-card__meta {
  color: var(--tt-form-muted);
  font-size: .78rem;
}

.tt-form-card__stats {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.tt-form-card__stats div {
  border-left: 1px solid var(--tt-form-line);
  padding-left: 14px;
}

.tt-form-card__stats dt {
  color: var(--tt-form-muted);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tt-form-card__stats dd {
  font-size: .85rem;
  font-weight: 800;
  margin: 4px 0 0;
}

.tt-form-card__meta {
  display: flex;
  gap: 18px;
  grid-column: 1 / -1;
}

.tt-form-card__actions {
  align-items: center;
  border-left: 1px solid var(--tt-form-line);
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, 39px);
  padding: 16px;
}

.tt-form-card__actions form {
  margin: 0;
}

.tt-form-status {
  align-items: center;
  background: #eef0ec;
  border: 1px solid #d4d8d1;
  border-radius: 999px;
  color: #4b5752;
  display: inline-flex;
  font-size: .66rem;
  font-weight: 900;
  gap: .4rem;
  letter-spacing: .07em;
  padding: .35rem .55rem;
  text-transform: uppercase;
}

.tt-form-status i {
  font-size: .45rem;
}

.tt-form-status--active,
.tt-form-status--accepted,
.tt-form-status--resolved,
.tt-form-status--in_progress {
  background: #e2f4e9;
  border-color: #a8d8b9;
  color: #17643a;
}

.tt-form-status--paused,
.tt-form-status--waiting_requester,
.tt-form-status--needs_review {
  background: #fff1d3;
  border-color: #f1c96e;
  color: #78510b;
}

.tt-form-status--failed,
.tt-form-status--spam,
.tt-form-status--rejected {
  background: #fde7e5;
  border-color: #efaaa3;
  color: #99281e;
}

.tt-form-status--draft,
.tt-form-status--received,
.tt-form-status--processing {
  background: #e5eef8;
  border-color: #b1c9e4;
  color: #245481;
}

.tt-form-template-modal {
  background: var(--tt-form-paper);
  border: 1px solid var(--tt-form-ink);
  border-radius: 18px;
  box-shadow: 10px 10px 0 var(--tt-form-solid);
}

.tt-form-template-modal .modal-header,
.tt-form-template-modal .modal-footer {
  border-color: var(--tt-form-line);
}

.tt-template-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-template-card {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 13px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  min-height: 190px;
  padding: 20px;
  position: relative;
}

.tt-template-card:has(input:checked) {
  border-color: var(--tt-form-ink);
  box-shadow: 5px 5px 0 var(--tt-form-acid);
}

.tt-template-card input {
  position: absolute;
  right: 15px;
  top: 15px;
}

.tt-template-card__icon {
  align-items: center;
  background: var(--tt-form-acid);
  border-radius: 10px;
  display: flex;
  font-size: 1.3rem;
  height: 48px;
  justify-content: center;
  margin-bottom: auto;
  width: 48px;
}

.tt-template-card strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  margin: 18px 0 6px;
}

.tt-template-card small {
  color: var(--tt-form-muted);
  line-height: 1.45;
}

.tt-template-settings {
  display: grid;
  gap: 15px;
  grid-template-columns: 1fr 1fr;
  margin-top: 20px;
}

.tt-template-settings label,
.tt-inspector-panel > label,
.tt-inspector-grid label,
.tt-rule-card label,
.tt-submission-card > label {
  color: var(--tt-form-muted);
  display: flex;
  flex-direction: column;
  font-size: .72rem;
  font-weight: 850;
  gap: 7px;
  letter-spacing: .03em;
}

.tt-template-settings input,
.tt-template-settings select,
.tt-inspector-panel input,
.tt-inspector-panel select,
.tt-inspector-panel textarea,
.tt-builder-publish input,
.tt-rule-card input,
.tt-rule-card select,
.tt-submission-card input,
.tt-submission-card select,
.tt-submission-card textarea {
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 8px;
  color: var(--tt-form-ink);
  font-size: .84rem;
  font-weight: 500;
  min-height: 40px;
  padding: .65rem .72rem;
}

/* Builder */
.tt-builder-shell {
  margin: 0 auto;
  max-width: 1800px;
}

.tt-builder-commandbar {
  align-items: center;
  background: var(--tt-form-solid);
  border-radius: 16px 16px 0 0;
  color: #fff;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 15px 18px;
}

.tt-builder-commandbar__identity,
.tt-builder-commandbar__actions {
  align-items: center;
  display: flex;
  gap: 12px;
}

.tt-builder-commandbar h1 {
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  letter-spacing: 0;
  margin: 2px 0 0;
}

.tt-builder-commandbar .tt-forms-kicker {
  color: var(--tt-form-acid);
  font-size: .59rem;
}

.tt-builder-commandbar .tt-forms-icon-btn {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .15);
  color: #fff;
}

.tt-builder-steprail {
  background: #222c28;
  border-top: 1px solid rgba(255, 255, 255, .08);
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 0 18px 12px;
}

.tt-builder-steprail button {
  background: transparent;
  border: 0;
  border-top: 2px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .45);
  font-size: .65rem;
  font-weight: 800;
  padding: 10px 5px 0;
}

.tt-builder-steprail button span {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  display: inline-flex;
  height: 20px;
  justify-content: center;
  margin-right: 5px;
  width: 20px;
}

.tt-builder-steprail button.is-active {
  border-top-color: var(--tt-form-acid);
  color: var(--tt-form-acid);
}

.tt-builder-workspace {
  background: #e4e1d9;
  border: 1px solid var(--tt-form-line);
  display: grid;
  grid-template-columns: 275px minmax(480px, 1fr) 340px;
  min-height: 720px;
}

.tt-builder-outline,
.tt-builder-inspector {
  background: var(--tt-form-panel);
  min-width: 0;
}

.tt-builder-outline {
  border-right: 1px solid var(--tt-form-line);
}

.tt-builder-inspector {
  border-left: 1px solid var(--tt-form-line);
}

.tt-builder-pane-head {
  align-items: center;
  border-bottom: 1px solid var(--tt-form-line);
  display: flex;
  justify-content: space-between;
  min-height: 72px;
  padding: 14px 16px;
}

.tt-builder-pane-head h2 {
  font-family: inherit;
  font-size: .95rem;
  letter-spacing: 0;
  margin: 3px 0 0;
}

.tt-builder-outline__tree {
  max-height: 520px;
  min-height: 360px;
  overflow: auto;
  padding: 12px;
}

.tt-outline-page {
  border-left: 2px solid var(--tt-form-line);
  margin-bottom: 12px;
  padding-left: 8px;
}

.tt-outline-page.is-current {
  border-left-color: var(--tt-form-signal);
}

.tt-outline-page__head,
.tt-outline-field {
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: var(--tt-form-ink);
  text-align: left;
  width: 100%;
}

.tt-outline-page__head {
  font-size: .75rem;
  font-weight: 900;
  padding: 8px;
}

.tt-outline-fields {
  display: grid;
  gap: 4px;
}

.tt-outline-field {
  align-items: center;
  color: var(--tt-form-muted);
  display: grid;
  font-size: .72rem;
  gap: 7px;
  grid-template-columns: 22px 18px minmax(0, 1fr);
  padding: 7px;
}

.tt-outline-field:hover,
.tt-outline-field.is-selected {
  background: #efede6;
  color: var(--tt-form-ink);
}

.tt-outline-field.is-selected {
  box-shadow: inset 3px 0 var(--tt-form-signal);
}

.tt-outline-order {
  display: flex;
  flex-direction: column;
}

.tt-outline-order button {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: .55rem;
  height: 12px;
  line-height: 1;
  padding: 0;
}

.tt-builder-field-palette {
  border-top: 1px solid var(--tt-form-line);
  padding: 14px;
}

.tt-builder-field-palette > span {
  color: var(--tt-form-muted);
  display: block;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.tt-builder-field-palette > div {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(6, 1fr);
}

.tt-builder-field-palette button {
  align-items: center;
  aspect-ratio: 1;
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 7px;
  color: var(--tt-form-muted);
  display: flex;
  justify-content: center;
}

.tt-builder-field-palette button:hover {
  background: var(--tt-form-acid);
  border-color: var(--tt-form-ink);
  color: var(--tt-form-ink);
}

.tt-builder-canvas {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.tt-builder-canvas__toolbar {
  align-items: center;
  background: #f0eee8;
  border-bottom: 1px solid var(--tt-form-line);
  display: flex;
  justify-content: space-between;
  min-height: 54px;
  padding: 8px 14px;
}

.tt-device-switch {
  background: #ddd9d0;
  border-radius: 8px;
  display: inline-flex;
  padding: 3px;
}

.tt-device-switch button {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--tt-form-muted);
  font-size: .7rem;
  font-weight: 800;
  padding: .48rem .7rem;
}

.tt-device-switch button.is-active {
  background: #fff;
  box-shadow: 0 2px 8px rgba(23, 32, 29, .09);
  color: var(--tt-form-ink);
}

.tt-builder-health {
  color: var(--tt-form-muted);
  font-size: .7rem;
  font-weight: 800;
}

.tt-builder-health.is-valid {
  color: var(--tt-form-sea);
}

.tt-builder-health.is-invalid {
  color: var(--tt-form-danger);
}

.tt-builder-health.has-errors {
  color: var(--tt-form-danger);
}

.tt-builder-health.is-saving {
  color: #8a6214;
}

.tt-builder-stage {
  align-items: start;
  background:
    linear-gradient(45deg, rgba(23, 32, 29, .025) 25%, transparent 25%, transparent 75%, rgba(23, 32, 29, .025) 75%),
    linear-gradient(45deg, rgba(23, 32, 29, .025) 25%, transparent 25%, transparent 75%, rgba(23, 32, 29, .025) 75%);
  background-position: 0 0, 11px 11px;
  background-size: 22px 22px;
  flex: 1;
  overflow: auto;
  padding: 28px;
}

.tt-builder-preview {
  margin: 0 auto;
  max-width: 820px;
  transition: max-width .2s ease;
}

.tt-builder-preview.is-mobile {
  max-width: 390px;
}

.tt-builder-preview__copyright {
  align-items: center;
  color: var(--cu-dim, var(--tt-form-muted));
  display: flex;
  font-size: 0.68rem;
  font-weight: 550;
  gap: 0.55rem;
  justify-content: center;
  line-height: 1.45;
  margin: 1rem auto 0;
  padding: 0.25rem 0.75rem;
  text-align: center;
}

.tt-builder-preview__copyright-mark,
.tt-form-configurable-footer__mark {
  align-items: center;
  background: color-mix(in srgb, #ff8a3d 10%, #fff);
  border: 1px solid color-mix(in srgb, #d9481f 32%, transparent);
  border-radius: 9px;
  display: inline-flex;
  flex: 0 0 auto;
  height: 30px;
  justify-content: center;
  overflow: hidden;
  width: 30px;
}

.tt-builder-preview__copyright-mark img,
.tt-form-configurable-footer__mark img {
  display: block;
  height: 22px;
  object-fit: contain;
  width: 22px;
}

.tt-builder-preview__copyright-text,
.tt-form-configurable-footer__text {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.tt-builder-preview__copyright-text a,
.tt-form-configurable-footer__text a,
.tt-public-form-brand__custom-text a {
  color: var(--cu-accent);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.tt-builder-preview__copyright-text a:hover,
.tt-form-configurable-footer__text a:hover,
.tt-public-form-brand__custom-text a:hover {
  color: var(--cu-text);
}

.tt-builder-preview__card {
  background: var(--tt-form-panel);
  border: 1px solid #c9c5bb;
  border-radius: 15px;
  box-shadow: var(--tt-form-shadow);
  padding: clamp(22px, 4vw, 44px);
}

.tt-builder-preview__brand {
  align-items: center;
  color: var(--tt-form-muted);
  display: flex;
  font-size: .68rem;
  font-weight: 850;
  gap: 7px;
  margin-bottom: 34px;
}

.tt-builder-preview__brand i {
  color: var(--tt-form-signal);
}

.tt-builder-preview__brand-mark {
  align-items: center;
  background: var(--cu-accent-soft, #eef3ff);
  border: 1px solid var(--cu-border, #d8deea);
  border-radius: 9px;
  display: inline-flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.tt-builder-preview__brand-mark img {
  display: block;
  height: 28px;
  object-fit: contain;
  width: 28px;
}

.tt-builder-preview__brand > div {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

.tt-builder-preview__brand > div > strong {
  color: var(--cu-text, var(--tt-form-solid));
  font-size: 0.76rem;
}

.tt-builder-preview__brand > div > span {
  font-size: 0.61rem;
}

.tt-builder-preview__brand > div > p {
  color: var(--cu-text, var(--tt-form-solid));
  font-size: 0.67rem;
  font-weight: 650;
  line-height: 1.45;
  margin: 0.28rem 0 0;
  white-space: pre-line;
}

.tt-builder-preview__brand--text-only {
  border-left: 3px solid var(--cu-accent, var(--tt-form-signal));
  padding-left: 0.65rem;
}

.tt-builder-preview__brand--text-only > div > p {
  margin-top: 0;
}

.tt-builder-preview__card > h1 {
  font-size: clamp(1.9rem, 3vw, 3.25rem);
  margin: 7px 0 10px;
}

.tt-builder-preview__card > p,
.tt-builder-preview__page-title small {
  color: var(--tt-form-muted);
}

.tt-builder-preview__page {
  border-top: 1px solid var(--tt-form-line);
  margin-top: 28px;
  padding-top: 24px;
}

.tt-builder-preview__page-title {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.tt-builder-preview__page-title > span {
  color: var(--tt-form-signal);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 800;
}

.tt-builder-preview__page-title strong,
.tt-builder-preview__page-title small {
  display: block;
}

.tt-builder-preview__field {
  border: 1px solid transparent;
  border-radius: 10px;
  margin-bottom: 12px;
  padding: 11px;
}

.tt-builder-preview__field:hover,
.tt-builder-preview__field.is-selected {
  background: #f4f1e8;
  border-color: var(--tt-form-line);
}

.tt-builder-preview__field label {
  display: block;
  font-size: .78rem;
  font-weight: 850;
  margin-bottom: 6px;
}

.tt-builder-preview__field input,
.tt-builder-preview__field select,
.tt-builder-preview__field textarea {
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 7px;
  min-height: 42px;
  padding: .7rem;
  width: 100%;
}

.tt-builder-preview__choices {
  display: grid;
  gap: 7px;
}

.tt-builder-preview__choices label,
.tt-builder-preview__check {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 8px;
  margin: 0;
}

.tt-builder-preview__choices input[type="checkbox"],
.tt-builder-preview__check input[type="checkbox"] {
  flex: 0 0 auto;
  min-height: auto;
  padding: 0;
  width: auto;
}

.tt-builder-preview__choices span,
.tt-builder-preview__check,
.tt-builder-preview__upload {
  align-items: center;
  border: 1px solid var(--tt-form-line);
  border-radius: 8px;
  color: var(--tt-form-muted);
  display: flex;
  gap: 8px;
  padding: 10px;
}

.tt-builder-preview__upload {
  border-style: dashed;
  justify-content: center;
  min-height: 70px;
}

.tt-builder-preview__info {
  align-items: start;
  background: #e8f2ef;
  border-left: 4px solid var(--tt-form-sea);
  display: flex;
  gap: 10px;
  padding: 13px;
}

.tt-builder-preview__info strong,
.tt-builder-preview__info small {
  display: block;
}

.tt-builder-simulation {
  background: var(--tt-form-solid);
  color: #fff;
  display: grid;
  gap: 20px;
  grid-template-columns: 1.4fr 1fr 1fr;
  padding: 14px 18px;
}

.tt-builder-simulation > div {
  min-width: 0;
}

.tt-builder-simulation span {
  color: rgba(255, 255, 255, .5);
  display: block;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.tt-builder-simulation strong {
  display: block;
  font-size: .72rem;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-builder-simulation .tt-forms-kicker {
  color: var(--tt-form-acid);
}

.tt-inspector-tabs {
  border-bottom: 1px solid var(--tt-form-line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.tt-inspector-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--tt-form-muted);
  font-size: .68rem;
  font-weight: 850;
  padding: 12px 4px;
}

.tt-inspector-tabs button.is-active {
  border-bottom-color: var(--tt-form-signal);
  color: var(--tt-form-ink);
}

.tt-inspector-panel {
  display: none;
  max-height: 645px;
  overflow: auto;
  padding: 16px;
}

.tt-inspector-panel.is-active {
  display: grid;
  gap: 14px;
}

[data-page-fields],
[data-element-fields] {
  display: grid;
  gap: 14px;
}

[data-page-fields] > label,
[data-element-fields] > label {
  color: var(--tt-form-muted);
  display: flex;
  flex-direction: column;
  font-size: .72rem;
  font-weight: 850;
  gap: 7px;
  letter-spacing: .03em;
}

.tt-inspector-empty {
  align-items: center;
  color: var(--tt-form-muted);
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 220px;
  padding: 30px;
  text-align: center;
}

.tt-inspector-empty i {
  font-size: 1.8rem;
}

.tt-inspector-checks,
.tt-inspector-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.tt-inspector-element-actions {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.tt-field-dependencies {
  align-items: flex-start;
  background: color-mix(in srgb, var(--cu-info) 7%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 25%, var(--cu-border));
  border-radius: 10px;
  color: var(--cu-text);
  display: grid;
  gap: 10px;
  grid-template-columns: 32px minmax(0, 1fr);
  padding: 10px;
}

.tt-field-dependencies[hidden] {
  display: none;
}

.tt-field-dependencies__icon {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 14%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 25%, transparent);
  border-radius: 9px;
  color: var(--cu-info);
  display: inline-flex;
  font-size: 1rem;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.tt-field-dependencies__title {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.tt-field-dependencies__title strong {
  font-size: .76rem;
  font-weight: 850;
}

.tt-field-dependencies__title span {
  background: color-mix(in srgb, var(--cu-info) 11%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 22%, transparent);
  border-radius: 999px;
  color: var(--cu-info);
  flex: 0 0 auto;
  font-size: .62rem;
  font-weight: 850;
  line-height: 1;
  padding: 5px 7px;
}

.tt-field-dependencies p {
  color: var(--cu-dim);
  font-size: .68rem;
  line-height: 1.45;
  margin: 4px 0 0;
}

.tt-inspector-checks label {
  align-items: center;
  background: #efede6;
  border-radius: 7px;
  color: var(--tt-form-ink);
  display: flex;
  font-size: .7rem;
  gap: 7px;
  padding: 8px;
}

.tt-inspector-checks input {
  min-height: 0;
}

.tt-rule-card {
  background: #f1efe8;
  border: 1px solid var(--tt-form-line);
  border-left: 4px solid var(--tt-form-sea);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px;
}

.tt-rule-card--route {
  border-left-color: var(--tt-form-signal);
}

.tt-rule-card > div:first-child {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.tt-rule-card [data-delete-rule] {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--tt-form-danger);
  display: inline-flex;
  flex: 0 0 36px;
  font-size: 1.1rem;
  height: 36px;
  justify-content: center;
  justify-self: end;
  line-height: 1;
  padding: 0;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
  width: 36px;
}

.tt-rule-card [data-delete-rule]:hover {
  background: color-mix(in srgb, var(--tt-form-danger) 10%, transparent);
  border-color: color-mix(in srgb, var(--tt-form-danger) 22%, transparent);
  transform: scale(1.04);
}

.tt-rule-card [data-delete-rule]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--tt-form-danger) 28%, transparent);
  outline-offset: 2px;
}

.tt-rule-stop {
  align-items: center;
  display: flex !important;
  flex-direction: row !important;
}

.tt-rule-stop input {
  min-height: 0;
}

.tt-rule-empty {
  color: var(--tt-form-muted);
  font-size: .75rem;
}

.tt-builder-publish {
  align-items: center;
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, .8fr);
  padding: 24px;
}

.tt-builder-publish h2 {
  font-size: 1.55rem;
  margin: 5px 0;
}

.tt-builder-publish p {
  color: var(--tt-form-muted);
  margin: 0;
}

.tt-version-diff {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.tt-version-diff span {
  background: #efede6;
  border: 1px solid var(--tt-form-line);
  border-radius: 999px;
  color: var(--tt-form-muted);
  font-size: .65rem;
  font-weight: 850;
  padding: .35rem .55rem;
}

.tt-builder-publish__form {
  display: flex;
  gap: 8px;
}

.tt-builder-publish__form input {
  flex: 1;
}

.tt-version-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  grid-column: 1 / -1;
}

.tt-version-chip {
  align-items: center;
  background: #eeeae1;
  border: 1px solid var(--tt-form-line);
  border-radius: 999px;
  color: var(--tt-form-muted);
  display: inline-flex;
  font-size: .67rem;
  font-weight: 850;
  gap: 6px;
  padding: .38rem .6rem;
}

.tt-version-chip--published {
  background: var(--tt-form-acid);
  border-color: var(--tt-form-ink);
  color: var(--tt-form-ink);
}

.tt-version-chip form,
.tt-builder-security-form,
.tt-inline-security-form {
  margin: 0;
}

.tt-version-chip button,
.tt-inline-security-form button {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: .72rem;
  font-weight: 850;
  padding: 2px 4px;
}

.tt-builder-security-form {
  justify-self: end;
}

.tt-inline-security-form {
  border-top: 1px solid var(--tt-form-line);
  margin-top: 12px;
  padding-top: 10px;
}

.tt-inline-security-form button {
  color: var(--tt-form-muted);
}

/* Public form and requester portal */
.tt-public-form-shell,
.tt-confirmation-shell,
.tt-request-shell {
  margin: 0 auto;
  max-width: 920px;
}

.tt-public-form-brand {
  align-items: center;
  display: flex;
  gap: 11px;
  margin: 0 auto 20px;
  max-width: 820px;
}

.tt-public-form-brand__mark {
  align-items: center;
  background: var(--tt-form-signal);
  border-radius: 10px;
  box-shadow: 3px 3px 0 var(--tt-form-solid);
  color: #fff;
  display: flex;
  font-size: 1.1rem;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.tt-builder-preview__logic-block {
  background: color-mix(in srgb, var(--tt-form-danger) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--tt-form-danger) 35%, var(--tt-form-line));
  border-radius: 8px;
  color: var(--tt-form-danger);
  font-size: .76rem;
  font-weight: 750;
  margin: 12px 0;
  padding: 10px 12px;
}

.tt-rule-card select[multiple] {
  min-height: 108px;
}

.tt-rule-card [data-rule-value] small {
  color: var(--tt-form-muted);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: 0;
}

.tt-public-form-brand__logo {
  display: block;
  height: 36px;
  object-fit: contain;
  width: 36px;
}

.tt-public-form-brand strong,
.tt-public-form-brand span {
  display: block;
}

.tt-public-form-brand span {
  color: var(--tt-form-muted);
  font-size: .68rem;
}

.tt-public-form-card,
.tt-confirmation-card {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 20px;
  box-shadow: var(--tt-form-shadow);
  overflow: hidden;
  padding: clamp(28px, 6vw, 64px);
  position: relative;
}

.tt-public-form-card::before,
.tt-confirmation-card::before {
  background: linear-gradient(90deg, var(--tt-form-signal) 0 38%, var(--tt-form-acid) 38% 65%, var(--tt-form-solid) 65%);
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.tt-public-form-header h1 {
  font-size: clamp(2.15rem, 6vw, 4.7rem);
  line-height: .98;
  margin: 10px 0 16px;
}

.tt-public-form-header > p {
  color: var(--tt-form-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.tt-form-progress {
  display: grid;
  gap: 9px;
  grid-template-columns: 1fr auto;
  margin-top: 28px;
}

.tt-form-progress > div {
  background: #e4e0d7;
  border-radius: 999px;
  grid-column: 1 / -1;
  grid-row: 2;
  height: 7px;
  overflow: hidden;
}

.tt-form-progress > div > i {
  background: var(--tt-form-signal);
  display: block;
  height: 100%;
  transition: width .22s ease;
  width: 0;
}

.tt-form-progress > span {
  color: var(--tt-form-muted);
  font-size: .72rem;
  font-weight: 850;
  grid-row: 1;
}

.tt-public-form-page {
  display: none;
  padding-top: 34px;
}

.tt-public-form-page.is-active {
  display: block;
}

.tt-public-form-page__heading {
  border-bottom: 1px solid var(--tt-form-line);
  margin-bottom: 25px;
  padding-bottom: 20px;
}

.tt-public-form-page__heading h2 {
  font-size: 1.7rem;
  margin: 0 0 5px;
}

.tt-public-form-page__heading p {
  color: var(--tt-form-muted);
  margin: 0;
}

.tt-form-field {
  margin-bottom: 23px;
}

.tt-form-label {
  color: var(--tt-form-ink);
  display: block;
  font-size: .84rem;
  font-weight: 900;
  margin-bottom: 7px;
}

.tt-form-required {
  color: var(--tt-form-signal-dark);
}

.tt-form-read-only-badge {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 9%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 24%, var(--cu-border));
  border-radius: 999px;
  color: var(--cu-info);
  display: inline-flex;
  font-size: .61rem;
  font-weight: 800;
  gap: .28rem;
  letter-spacing: .01em;
  margin-left: .45rem;
  padding: .22rem .48rem;
  vertical-align: middle;
}

.tt-form-field.is-read-only > input:not([type="hidden"]),
.tt-form-field.is-read-only > select,
.tt-form-field.is-read-only > textarea,
.tt-builder-preview__field.is-read-only input,
.tt-builder-preview__field.is-read-only select,
.tt-builder-preview__field.is-read-only textarea {
  background: color-mix(in srgb, var(--cu-surface-2) 78%, var(--cu-surface));
  border-color: var(--cu-border);
  color: var(--cu-dim);
  cursor: not-allowed;
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--cu-info) 55%, transparent);
}

.tt-form-field.is-read-only .tt-form-choice,
.tt-form-field.is-read-only .tt-form-consent,
.tt-builder-preview__field.is-read-only .tt-builder-preview__choices span,
.tt-builder-preview__field.is-read-only .tt-builder-preview__check {
  cursor: not-allowed;
  opacity: .78;
}

.tt-form-preserve-formatting {
  white-space: pre-wrap;
}

.tt-form-description,
.tt-form-file-note {
  color: var(--tt-form-muted);
  display: block;
  font-size: .73rem;
  line-height: 1.45;
  margin: -2px 0 8px;
}

.tt-form-field > input:not([type="checkbox"]),
.tt-form-field > select,
.tt-form-field > textarea,
.tt-request-edit-form input:not([type="checkbox"]),
.tt-request-edit-form select,
.tt-request-edit-form textarea {
  background: #fff;
  border: 1px solid #c7c4ba;
  border-radius: 9px;
  color: var(--tt-form-ink);
  min-height: 48px;
  padding: .78rem .85rem;
  width: 100%;
}

.tt-form-field > textarea {
  min-height: 135px;
}

.tt-form-field > input[type="file"] {
  border-style: dashed;
  padding: 1.15rem;
}

.tt-form-field.has-error > input,
.tt-form-field.has-error > select,
.tt-form-field.has-error > textarea {
  border-color: var(--tt-form-danger);
  box-shadow: 0 0 0 3px rgba(180, 35, 24, .08);
}

.tt-form-error {
  color: var(--tt-form-danger);
  font-size: .75rem;
  font-weight: 800;
  margin-top: 7px;
}

.tt-form-error-summary {
  background: #fdeceb;
  border: 1px solid #e6aaa4;
  border-left: 5px solid var(--tt-form-danger);
  border-radius: 9px;
  color: #7d211a;
  margin: 24px 0;
  padding: 15px 17px;
}

.tt-form-error-summary ul {
  margin: 8px 0 0;
}

.tt-form-choice-grid {
  display: grid;
  gap: 8px;
}

.tt-form-choice,
.tt-form-consent {
  align-items: start;
  background: #fff;
  border: 1px solid var(--tt-form-line);
  border-radius: 9px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 12px 13px;
}

.tt-form-choice:has(input:checked),
.tt-form-consent:has(input:checked) {
  background: #f1f8df;
  border-color: #8ba83d;
}

.tt-form-choice input,
.tt-form-consent input {
  margin-top: 3px;
}

.tt-form-section-heading {
  border-left: 6px solid var(--tt-form-signal);
  margin: 30px 0 18px;
  padding-left: 14px;
}

.tt-form-section-heading h2 {
  font-size: 1.45rem;
  margin: 0;
}

.tt-form-section-heading p {
  color: var(--tt-form-muted);
  margin: 5px 0 0;
}

.tt-form-info {
  align-items: start;
  background: #e8f2ef;
  border: 1px solid #b8d4cc;
  border-left: 5px solid var(--tt-form-sea);
  border-radius: 9px;
  display: flex;
  gap: 11px;
  margin-bottom: 22px;
  padding: 14px;
}

.tt-form-info p {
  color: var(--tt-form-muted);
  margin: 3px 0 0;
}

.tt-public-form-actions {
  align-items: center;
  border-top: 1px solid var(--tt-form-line);
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 34px;
  padding-top: 24px;
}

.tt-public-form-actions [data-form-prev] {
  margin-right: auto;
}

.tt-form-honeypot {
  left: -10000px;
  position: absolute;
}

.tt-form-closed {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-height: 260px;
  justify-content: center;
  text-align: center;
}

.tt-form-closed i {
  color: var(--tt-form-signal);
  font-size: 2.4rem;
}

.tt-preview-banner {
  background: var(--tt-form-acid);
  border: 1px solid var(--tt-form-ink);
  border-radius: 9px;
  box-shadow: 4px 4px 0 var(--tt-form-solid);
  font-size: .78rem;
  font-weight: 900;
  margin: 0 auto 22px;
  max-width: 820px;
  padding: 11px 14px;
  text-align: center;
}

.tt-public-form-footer {
  color: var(--tt-form-muted);
  font-size: .7rem;
  margin-top: 20px;
  text-align: center;
}

.tt-confirmation-shell {
  max-width: 700px;
  padding-top: min(12vh, 100px);
}

.tt-confirmation-card {
  text-align: center;
}

.tt-confirmation-orbit {
  align-items: center;
  background: var(--tt-form-acid);
  border: 2px solid var(--tt-form-ink);
  border-radius: 50%;
  box-shadow: 6px 6px 0 var(--tt-form-solid);
  display: flex;
  font-size: 2rem;
  height: 82px;
  justify-content: center;
  margin: 0 auto 28px;
  transform: rotate(-5deg);
  width: 82px;
}

.tt-confirmation-card h1 {
  font-size: clamp(2.2rem, 7vw, 4.2rem);
  margin: 10px 0 15px;
}

.tt-confirmation-card > p {
  color: var(--tt-form-muted);
}

.tt-confirmation-number {
  background: var(--tt-form-solid);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: .08em;
  margin: 18px 0;
  padding: 12px 17px;
}

.tt-confirmation-status,
.tt-request-state {
  align-items: center;
  display: flex;
  gap: 10px;
}

.tt-confirmation-status {
  justify-content: center;
  margin-bottom: 26px;
}

.tt-status-pulse {
  background: var(--tt-form-sea);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(17, 106, 92, .12);
  height: 9px;
  width: 9px;
}

.tt-confirmation-note {
  font-size: .72rem;
  margin: 20px 0 0;
}

/* Intake inbox and detail */
.tt-intake-header,
.tt-submission-header {
  padding-top: 10px;
}

.tt-intake-filterbar {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 13px;
  margin-bottom: 14px;
  padding: 12px;
}

.tt-intake-list {
  display: grid;
  gap: 8px;
}

.tt-intake-row {
  align-items: center;
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: 22px minmax(190px, .9fr) minmax(250px, 1.3fr) minmax(170px, .8fr) 42px;
  min-height: 96px;
  padding: 14px 15px;
}

.tt-intake-row:hover {
  border-color: #9e9a90;
  box-shadow: 5px 5px 0 rgba(23, 32, 29, .07);
}

.tt-intake-row__signal {
  color: #6d8faf;
  font-size: .55rem;
}

.tt-intake-row--failed .tt-intake-row__signal,
.tt-intake-row--spam .tt-intake-row__signal,
.tt-intake-row--rejected .tt-intake-row__signal {
  color: var(--tt-form-danger);
}

.tt-intake-row--needs_review .tt-intake-row__signal,
.tt-intake-row--waiting_requester .tt-intake-row__signal {
  color: #d2951e;
}

.tt-intake-row--accepted .tt-intake-row__signal,
.tt-intake-row--resolved .tt-intake-row__signal,
.tt-intake-row--in_progress .tt-intake-row__signal {
  color: var(--tt-form-sea);
}

.tt-intake-row__identity strong,
.tt-intake-row__identity small,
.tt-intake-row__work strong,
.tt-intake-row__work small {
  display: block;
}

.tt-intake-row__identity strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.03rem;
}

.tt-intake-row__identity small,
.tt-intake-row__work small {
  color: var(--tt-form-muted);
}

.tt-intake-row__answers {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tt-intake-row__answers span {
  background: #efede6;
  border-radius: 6px;
  color: var(--tt-form-muted);
  font-size: .69rem;
  max-width: 180px;
  overflow: hidden;
  padding: 5px 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-header__status {
  align-items: center;
  display: flex;
  gap: 10px;
}

.tt-submission-grid {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.tt-submission-main,
.tt-submission-sidebar {
  display: grid;
  gap: 14px;
}

.tt-submission-sidebar {
  position: sticky;
  top: 16px;
}

.tt-submission-card {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 13px;
  box-shadow: 3px 3px 0 rgba(23, 32, 29, .06);
  padding: 20px;
}

.tt-submission-card__head {
  align-items: start;
  border-bottom: 1px solid var(--tt-form-line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.tt-submission-card__head h2 {
  font-size: 1.45rem;
  margin: 3px 0 0;
}

.tt-submission-card__head > span {
  color: var(--tt-form-muted);
  font-size: .7rem;
}

.tt-answer-ledger,
.tt-route-ledger {
  margin: 0;
}

.tt-answer-ledger > div,
.tt-route-ledger > div {
  border-bottom: 1px dashed var(--tt-form-line);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(140px, .4fr) minmax(0, 1fr);
  padding: 12px 0;
}

.tt-answer-ledger > div:last-child,
.tt-route-ledger > div:last-child {
  border-bottom: 0;
}

.tt-answer-ledger dt,
.tt-route-ledger dt {
  color: var(--tt-form-muted);
  font-size: .72rem;
}

.tt-answer-ledger dd,
.tt-route-ledger dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.tt-revision-block {
  background: #f3f1ea;
  border-left: 4px solid var(--tt-form-signal);
  border-radius: 7px;
  margin-top: 10px;
  padding: 13px;
}

.tt-event-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tt-event-timeline li {
  border-left: 1px solid var(--tt-form-line);
  margin-left: 5px;
  padding: 0 0 18px 20px;
  position: relative;
}

.tt-event-timeline li::before {
  background: var(--tt-form-panel);
  border: 2px solid var(--tt-form-sea);
  border-radius: 50%;
  content: "";
  height: 11px;
  left: -6px;
  position: absolute;
  top: 4px;
  width: 11px;
}

.tt-event-timeline li:last-child {
  padding-bottom: 0;
}

.tt-event-timeline strong,
.tt-event-timeline small {
  display: block;
}

.tt-event-timeline small {
  color: var(--tt-form-muted);
  font-size: .69rem;
}

.tt-request-fields {
  display: grid;
  gap: 6px;
  margin: 10px 0 14px;
}

.tt-request-fields label {
  align-items: center;
  display: flex;
  font-size: .76rem;
  gap: 7px;
}

.tt-file-row {
  align-items: center;
  border-bottom: 1px solid var(--tt-form-line);
  color: var(--tt-form-ink);
  display: flex;
  gap: 8px;
  padding: 10px 0;
  text-decoration: none;
}

.tt-file-row:last-child {
  border-bottom: 0;
}

.tt-file-row small {
  color: var(--tt-form-muted);
  margin-left: auto;
}

.tt-request-header {
  margin: 0 auto 20px;
  max-width: 820px;
}

.tt-request-header .tt-public-form-brand {
  margin-left: 0;
}

.tt-request-header h1 {
  font-size: clamp(2.2rem, 6vw, 4rem);
  margin: 8px 0 16px;
}

.tt-request-state {
  background: var(--tt-form-panel);
  border: 1px solid var(--tt-form-line);
  border-radius: 10px;
  display: inline-flex;
  padding: 11px 14px;
}

.tt-request-state small,
.tt-request-state strong {
  display: block;
}

.tt-request-state small {
  color: var(--tt-form-muted);
  font-size: .63rem;
}

.tt-request-callout {
  background: var(--tt-form-acid);
  border: 1px solid var(--tt-form-ink);
  border-radius: 11px;
  box-shadow: 5px 5px 0 var(--tt-form-solid);
  margin: 0 auto 20px;
  max-width: 820px;
  padding: 17px;
}

.tt-request-callout h2 {
  font-size: 1.3rem;
}

.tt-request-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.1fr .9fr;
}

.tt-request-grid > :first-child {
  grid-row: span 2;
}

.tt-request-files {
  margin-top: 20px;
}

.tt-request-edit-form {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.tt-request-withdraw {
  border-top: 1px solid var(--tt-form-line);
  margin-top: 18px;
  padding-top: 18px;
}

.tt-request-withdraw button {
  background: transparent;
  border: 0;
  color: var(--tt-form-danger);
  font-size: .76rem;
  font-weight: 850;
}

@media (max-width: 1250px) {
  .tt-forms-metric-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .tt-form-card__main {
    grid-template-columns: 1fr;
  }

  .tt-form-card__meta {
    grid-column: auto;
  }

  .tt-builder-workspace {
    grid-template-columns: 230px minmax(430px, 1fr) 310px;
  }
}

@media (max-width: 1050px) {
  .tt-forms-hero {
    grid-template-columns: 1fr;
  }

  .tt-forms-hero__gauge {
    display: grid;
    gap: 20px;
    grid-template-columns: 170px 1fr;
  }

  .tt-forms-gauge {
    margin: 0;
  }

  .tt-forms-plan-row {
    align-self: center;
  }

  .tt-builder-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .tt-builder-inspector {
    border-left: 0;
    border-top: 1px solid var(--tt-form-line);
    grid-column: 1 / -1;
  }

  .tt-inspector-panel {
    max-height: none;
  }

  .tt-submission-grid {
    grid-template-columns: 1fr;
  }

  .tt-submission-sidebar {
    grid-template-columns: repeat(2, 1fr);
    position: static;
  }
}

@media (max-width: 780px) {
  .tt-forms-container,
  .tt-forms-builder-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .tt-forms-hero {
    border-radius: 17px;
    padding: 35px 22px 24px;
  }

  .tt-forms-hero h1 {
    font-size: 2.6rem;
  }

  .tt-forms-hero__gauge {
    display: block;
  }

  .tt-forms-gauge {
    margin: 0 auto 20px;
  }

  .tt-forms-metric-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tt-forms-panel__head,
  .tt-intake-header,
  .tt-submission-header {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-forms-filterbar,
  .tt-intake-filterbar {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-forms-filterbar label input,
  .tt-forms-filterbar label,
  .tt-forms-filterbar select,
  .tt-intake-filterbar input,
  .tt-intake-filterbar select {
    width: 100%;
  }

  .tt-form-card {
    grid-template-columns: 6px minmax(0, 1fr);
  }

  .tt-form-card__stats {
    grid-template-columns: 1fr 1fr;
  }

  .tt-form-card__actions {
    border-left: 0;
    border-top: 1px solid var(--tt-form-line);
    display: flex;
    grid-column: 2;
  }

  .tt-template-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tt-template-settings {
    grid-template-columns: 1fr;
  }

  .tt-builder-commandbar,
  .tt-builder-commandbar__identity,
  .tt-builder-commandbar__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-builder-commandbar__identity {
    display: grid;
    grid-template-columns: 40px 1fr;
  }

  .tt-builder-commandbar__identity .tt-form-status {
    grid-column: 2;
    justify-self: start;
  }

  .tt-builder-commandbar__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .tt-builder-commandbar__actions .tt-forms-btn:last-child {
    grid-column: 1 / -1;
  }

  .tt-builder-steprail {
    display: flex;
    overflow-x: auto;
  }

  .tt-builder-steprail button {
    flex: 0 0 auto;
    min-width: 105px;
  }

  .tt-builder-workspace {
    display: block;
  }

  .tt-builder-outline {
    border-bottom: 1px solid var(--tt-form-line);
    border-right: 0;
  }

  .tt-builder-outline__tree {
    max-height: 260px;
    min-height: 180px;
  }

  .tt-builder-stage {
    padding: 14px;
  }

  .tt-builder-simulation {
    grid-template-columns: 1fr;
  }

  .tt-builder-publish,
  .tt-builder-publish__form {
    display: flex;
    flex-direction: column;
  }

  .tt-builder-publish__form,
  .tt-builder-publish__form input,
  .tt-builder-publish__form button {
    width: 100%;
  }

  .tt-intake-row {
    grid-template-columns: 18px 1fr 42px;
  }

  .tt-intake-row__answers,
  .tt-intake-row__work {
    grid-column: 2 / -1;
  }

  .tt-intake-row > .tt-forms-icon-btn {
    grid-column: 3;
    grid-row: 1;
  }

  .tt-submission-sidebar,
  .tt-request-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tt-request-grid > :first-child {
    grid-row: auto;
  }

  .tt-answer-ledger > div,
  .tt-route-ledger > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (max-width: 480px) {
  .tt-forms-metric-grid,
  .tt-template-grid,
  .tt-form-card__stats,
  .tt-inspector-grid,
  .tt-inspector-checks {
    grid-template-columns: 1fr;
  }

  .tt-form-public-container {
    padding: 12px;
  }

  .tt-public-form-card,
  .tt-confirmation-card {
    border-radius: 14px;
    padding: 30px 18px;
  }

  .tt-public-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-public-form-actions .tt-forms-btn,
  .tt-public-form-actions [data-form-prev] {
    margin: 0;
    width: 100%;
  }
}

body.dark-mode.tt-forms-page,
body.dark-mode.tt-form-public-page,
[data-bs-theme="dark"] .tt-forms-page,
[data-bs-theme="dark"] .tt-form-public-page {
  --tt-form-ink: #eff5f0;
  --tt-form-solid: #090f0c;
  --tt-form-muted: #9aa79f;
  --tt-form-paper: #111714;
  --tt-form-panel: #19211d;
  --tt-form-line: #354039;
  --tt-form-shadow: 0 18px 50px rgba(0, 0, 0, .3);
  background-color: var(--tt-form-paper);
}

body.dark-mode.tt-forms-page input,
body.dark-mode.tt-forms-page select,
body.dark-mode.tt-forms-page textarea,
body.dark-mode.tt-form-public-page input,
body.dark-mode.tt-form-public-page select,
body.dark-mode.tt-form-public-page textarea,
[data-bs-theme="dark"] .tt-forms-page input,
[data-bs-theme="dark"] .tt-forms-page select,
[data-bs-theme="dark"] .tt-forms-page textarea,
[data-bs-theme="dark"] .tt-form-public-page input,
[data-bs-theme="dark"] .tt-form-public-page select,
[data-bs-theme="dark"] .tt-form-public-page textarea {
  background: #111714;
  border-color: var(--tt-form-line);
  color: var(--tt-form-ink);
}

@media (prefers-reduced-motion: reduce) {
  .tt-forms-btn,
  .tt-forms-icon-btn,
  .tt-form-card,
  .tt-builder-preview,
  .tt-form-progress > span:first-child::after {
    transition: none;
  }
}

/* Forms index: aligned with the shared application design system. */
.tt-forms-index-page {
  background: var(--cu-bg);
  color: var(--cu-text);
}

.tt-forms-index-container {
  padding-bottom: clamp(2rem, 4vw, 4rem);
}

.tt-forms-index {
  --tt-page-gap: 1rem;
}

.tt-forms-index .cu-page-header__stats li {
  min-width: 154px;
}

.tt-forms-index-header {
  min-width: 0;
}

.tt-forms-mini-progress {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface-3);
}

.tt-forms-mini-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--cu-accent);
}

.tt-forms-kpi-grid {
  gap: 1px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-border);
  box-shadow: var(--cu-shadow-md);
}

.tt-forms-kpi-grid .tt-kpi-card {
  min-height: 82px;
  min-width: 0;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem 0.82rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--cu-surface);
  box-shadow: none;
}

.tt-forms-kpi-grid .tt-kpi-icon {
  align-items: center;
  align-self: center;
  display: inline-flex;
  justify-content: center;
  width: 34px;
  height: 34px;
}

.tt-forms-kpi-grid .tt-kpi-icon i {
  display: block;
  font-size: 0.88rem;
  line-height: 1;
}

.tt-forms-kpi-grid .tt-kpi-card > div {
  align-self: center;
  min-width: 0;
}

.tt-forms-kpi-grid .tt-kpi-card > div > span {
  font-size: 0.67rem;
  line-height: 1.2;
}

.tt-forms-kpi-grid .tt-kpi-card strong {
  margin-top: 0.12rem;
}

.tt-forms-kpi-grid .tt-kpi-card small {
  margin-top: 0.12rem;
  font-size: 0.69rem;
}

.tt-forms-kpi-icon--warning {
  color: var(--cu-warning);
  background: color-mix(in srgb, var(--cu-warning) 12%, var(--cu-surface));
}

.tt-forms-kpi-icon--danger {
  color: var(--cu-danger);
  background: color-mix(in srgb, var(--cu-danger) 12%, var(--cu-surface));
}

.tt-forms-kpi-icon--info {
  color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 12%, var(--cu-surface));
}

.tt-forms-kpi-icon--success {
  color: var(--cu-success);
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
}

.tt-forms-kpi-card--danger {
  box-shadow: inset 3px 0 0 var(--cu-danger) !important;
}

.tt-forms-filter-panel {
  display: grid;
  gap: 1rem;
}

.tt-forms-section-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.tt-forms-section-intro h2,
.tt-forms-catalog-title {
  margin: 0;
  color: var(--cu-text);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.015em;
}

.tt-forms-section-intro p,
.tt-forms-catalog-subtitle {
  margin: 0.25rem 0 0;
  color: var(--cu-dim);
  font-size: 0.84rem;
  line-height: 1.45;
}

.tt-forms-filter-grid {
  grid-template-columns: minmax(260px, 2fr) minmax(145px, 0.8fr) minmax(190px, 1fr) auto;
}

.tt-forms-filter-actions {
  align-self: end;
}

.tt-forms-filter-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 38px;
}

.tt-forms-catalog-panel {
  min-width: 0;
}

.tt-forms-catalog-panel .tt-table-panel__toolbar {
  min-height: 66px;
}

.tt-forms-index-page .tt-forms-catalog {
  gap: 0.75rem;
  padding: 1rem;
}

.tt-forms-index-page .tt-form-card {
  background: var(--cu-surface);
  border-color: var(--cu-border);
  border-radius: var(--cu-radius);
  box-shadow: var(--cu-shadow-sm);
  grid-template-columns: 4px minmax(0, 1fr) auto;
  min-height: 142px;
}

.tt-forms-index-page .tt-form-card:hover {
  border-color: color-mix(in srgb, var(--cu-accent) 42%, var(--cu-border));
  box-shadow: var(--cu-shadow-md);
  transform: translateY(-1px);
}

.tt-forms-index-page .tt-form-card__rail {
  background: var(--cu-accent);
}

.tt-forms-index-page .tt-form-card__main {
  gap: 0.9rem 1.5rem;
  grid-template-columns: minmax(220px, 1fr) minmax(390px, 1.5fr);
  padding: 1.1rem 1.25rem;
}

.tt-forms-index-page .tt-form-card__identity h3 {
  margin: 0.55rem 0 0.25rem;
  color: var(--cu-text);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.015em;
}

.tt-forms-index-page .tt-form-card__identity h3 a {
  color: var(--cu-text);
}

.tt-forms-index-page .tt-form-card__identity h3 a:hover {
  color: var(--cu-accent);
}

.tt-forms-index-page .tt-form-card__identity p,
.tt-forms-index-page .tt-form-card__meta {
  color: var(--cu-dim);
  font-size: 0.78rem;
}

.tt-forms-index-page .tt-form-card__identity p {
  margin: 0;
}

.tt-forms-index-page .tt-form-card__stats {
  gap: 0.7rem;
}

.tt-forms-index-page .tt-form-card__stats div {
  min-width: 0;
  border-color: var(--cu-border);
  padding-left: 0.8rem;
}

.tt-forms-index-page .tt-form-card__stats dt {
  color: var(--cu-dim);
  font-size: 0.64rem;
  letter-spacing: 0.06em;
}

.tt-forms-index-page .tt-form-card__stats dd {
  overflow: hidden;
  color: var(--cu-text);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-index-page .tt-form-card__meta {
  padding-top: 0.75rem;
  border-top: 1px solid var(--cu-border);
}

.tt-forms-index-page .tt-form-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.tt-forms-index-page .tt-form-card__actions {
  align-content: center;
  border-color: var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface));
  gap: 0.4rem;
  grid-template-columns: repeat(3, 34px);
  justify-items: center;
  padding: 0.9rem;
}

.tt-forms-index-page .tt-form-card__actions form {
  display: flex;
}

.tt-forms-index-page .tt-form-card__actions > :last-child:nth-child(8) {
  grid-column: 2;
}

.tt-forms-index-page .tt-form-action-wrap {
  display: inline-flex;
}

.tt-forms-index-page .tt-form-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: var(--cu-radius-sm);
}

.tt-form-action-tooltip {
  --bs-tooltip-bg: #111827;
  --bs-tooltip-color: #ffffff;
  --bs-tooltip-padding-x: 9px;
  --bs-tooltip-padding-y: 6px;
  --bs-tooltip-font-size: 0.72rem;
  --bs-tooltip-border-radius: 7px;
  --bs-tooltip-opacity: 0.98;
  font-weight: 750;
  letter-spacing: 0.01em;
}

.tt-form-action-tooltip .tooltip-inner {
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.22);
}

.tt-forms-index-page .tt-form-submissions-action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.42rem;
  grid-column: 1 / -1;
  min-height: 34px;
  padding: 0.35rem 0.45rem 0.35rem 0.55rem;
  border-color: color-mix(in srgb, var(--cu-info) 42%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  color: color-mix(in srgb, var(--cu-info) 64%, var(--cu-text));
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
  width: 100%;
}

.tt-forms-index-page .tt-form-submissions-action:hover {
  border-color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 14%, var(--cu-surface));
  color: color-mix(in srgb, var(--cu-info) 60%, var(--cu-text));
}

.tt-forms-index-page .tt-form-submissions-action__count {
  display: inline-grid;
  place-items: center;
  min-width: 1.4rem;
  height: 1.4rem;
  margin-left: auto;
  padding-inline: 0.35rem;
  border: 1px solid color-mix(in srgb, var(--cu-info) 30%, transparent);
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface);
  color: inherit;
  font-size: 0.66rem;
  line-height: 1;
}

.tt-forms-index-page .tt-form-status {
  border-color: var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.63rem;
  letter-spacing: 0.06em;
}

.tt-forms-index-page .tt-form-status--active {
  border-color: color-mix(in srgb, var(--cu-success) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-index-page .tt-form-status--paused,
.tt-forms-index-page .tt-form-status--needs_attention {
  border-color: color-mix(in srgb, var(--cu-warning) 38%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-warning) 12%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-forms-index-page .tt-form-status--draft {
  border-color: color-mix(in srgb, var(--cu-info) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-info) 11%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-forms-index-page .tt-form-status--archived {
  border-color: color-mix(in srgb, var(--cu-dim) 34%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-dim) 9%, var(--cu-surface));
  color: var(--cu-dim);
}

.tt-forms-index-page .tt-forms-empty {
  min-height: 300px;
  padding: 3.5rem 1.25rem;
}

.tt-forms-index-page .tt-forms-empty__mark {
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
  border: 0;
  border-radius: 18px;
  background: var(--cu-accent-soft);
  box-shadow: none;
  color: var(--cu-accent);
  transform: none;
}

.tt-forms-index-page .tt-forms-empty h3 {
  margin-bottom: 0.5rem;
  color: var(--cu-text);
  font-size: 1.2rem;
  font-weight: 800;
}

.tt-forms-index-page .tt-forms-empty p {
  max-width: 560px;
  margin-bottom: 1rem;
  color: var(--cu-dim);
}

.tt-forms-index-page .tt-form-template-modal {
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-modal-bg);
  box-shadow: var(--cu-shadow-lg);
  color: var(--cu-text);
}

.tt-forms-index-page .tt-form-template-modal .modal-header,
.tt-forms-index-page .tt-form-template-modal .modal-footer {
  border-color: var(--cu-border);
}

.tt-forms-modal-eyebrow {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--cu-accent);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tt-forms-index-page .tt-template-card {
  min-height: 178px;
  border-color: var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface);
  color: var(--cu-text);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.tt-forms-index-page .tt-template-card:hover {
  border-color: color-mix(in srgb, var(--cu-accent) 44%, var(--cu-border));
  transform: translateY(-1px);
}

.tt-forms-index-page .tt-template-card:has(input:checked) {
  border-color: var(--cu-accent);
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-index-page .tt-template-card__icon {
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-forms-index-page .tt-template-card strong {
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1rem;
  font-weight: 800;
}

.tt-forms-index-page .tt-template-card small {
  color: var(--cu-dim);
}

.tt-forms-index-page .tt-form-delete-modal .modal-content {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cu-danger) 26%, var(--cu-border));
  border-radius: var(--cu-radius-lg);
  background: var(--cu-modal-bg);
  box-shadow: var(--cu-shadow-lg);
  color: var(--cu-text);
}

.tt-forms-index-page .tt-form-delete-modal .modal-header,
.tt-forms-index-page .tt-form-delete-modal .modal-footer {
  border-color: var(--cu-border);
}

.tt-forms-index-page .tt-form-delete-modal .modal-header {
  align-items: center;
  padding: 1.1rem 1.2rem;
}

.tt-forms-index-page .tt-form-delete-modal__heading {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.tt-forms-index-page .tt-form-delete-modal__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--cu-danger) 13%, var(--cu-surface));
  color: var(--cu-danger);
  font-size: 1rem;
}

.tt-forms-index-page .tt-form-delete-modal .tt-forms-modal-eyebrow {
  margin-bottom: 0.15rem;
  color: var(--cu-danger);
}

.tt-forms-index-page .tt-form-delete-modal .modal-title {
  color: var(--cu-text);
  font-size: 1.12rem;
  font-weight: 850;
  letter-spacing: -0.015em;
}

.tt-forms-index-page .tt-form-delete-modal .modal-body {
  padding: 1.2rem;
}

.tt-forms-index-page .tt-form-delete-modal__lead {
  margin: 0 0 1rem;
  color: var(--cu-text);
  line-height: 1.55;
}

.tt-forms-index-page .tt-form-delete-modal__warning {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding: 0.8rem;
  border: 1px solid color-mix(in srgb, var(--cu-danger) 26%, var(--cu-border));
  border-radius: var(--cu-radius-sm);
  background: color-mix(in srgb, var(--cu-danger) 8%, var(--cu-surface));
  color: var(--cu-danger);
}

.tt-forms-index-page .tt-form-delete-modal__warning i {
  margin-top: 0.1rem;
}

.tt-forms-index-page .tt-form-delete-modal__warning p {
  margin: 0;
  color: var(--cu-text);
  font-size: 0.82rem;
  line-height: 1.5;
}

.tt-forms-index-page .tt-form-delete-modal .form-label {
  color: var(--cu-text);
  font-size: 0.78rem;
  font-weight: 750;
}

.tt-forms-index-page .tt-form-delete-modal .form-control {
  border-color: var(--cu-border);
  background: var(--cu-input-bg);
  color: var(--cu-text);
}

.tt-forms-index-page .tt-form-delete-modal .form-control:focus {
  border-color: var(--cu-danger);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--cu-danger) 16%, transparent);
}

.tt-forms-index-page .tt-form-delete-modal .modal-footer {
  padding: 0.9rem 1.2rem;
  background: color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface));
}

.tt-forms-index-page .tt-form-delete-modal .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 40px;
  font-weight: 750;
}

@media (max-width: 1199.98px) {
  .tt-forms-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tt-forms-filter-grid {
    grid-template-columns: minmax(240px, 2fr) minmax(145px, 1fr) minmax(190px, 1.2fr);
  }

  .tt-forms-filter-actions {
    grid-column: 1 / -1;
  }

  .tt-forms-index-page .tt-form-card__main {
    grid-template-columns: minmax(210px, 0.9fr) minmax(360px, 1.4fr);
  }
}

@media (max-width: 991.98px) {
  .tt-forms-index-page .tt-form-card__main {
    grid-template-columns: 1fr;
  }

  .tt-forms-index-page .tt-form-card__meta {
    grid-column: 1;
  }
}

@media (max-width: 767.98px) {
  .tt-forms-index-header.cu-page-header {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .tt-forms-index-header .cu-page-header__identity {
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 0.8rem;
  }

  .tt-forms-index-header .cu-page-header__icon {
    width: 46px;
    height: 46px;
    margin-top: 0.1rem;
    border-radius: 13px;
    font-size: 1.25rem;
  }

  .tt-forms-index-header .cu-page-header__content {
    gap: 0.32rem;
  }

  .tt-forms-index-header .cu-page-header__subtitle {
    max-width: none;
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .tt-forms-index-header .cu-page-header__meta {
    font-size: 0.8rem;
  }

  .tt-forms-index-header .cu-page-header__meta strong {
    font-size: 0.9rem;
  }

  .tt-forms-index-header .cu-page-header__stats {
    flex: 0 0 auto;
    gap: 0.55rem;
  }

  .tt-forms-index-header .cu-page-header__stats li {
    min-width: 0;
    padding: 0.62rem 0.7rem;
  }

  .tt-forms-index-header .cu-page-header__stats .label {
    font-size: 0.62rem;
    letter-spacing: 0.055em;
  }

  .tt-forms-index-header .cu-page-header__stats strong {
    font-size: 1.02rem;
  }

  .tt-forms-index-header .cu-page-header__actions {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .tt-forms-index-header .cu-page-header__actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.52rem 0.7rem;
    font-size: 0.8rem;
    white-space: nowrap;
  }

  .tt-forms-index-header .tt-forms-index-header__primary-action {
    grid-column: 1 / -1;
  }

  .tt-forms-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-forms-filter-grid {
    grid-template-columns: 1fr;
  }

  .tt-forms-filter-actions {
    grid-column: auto;
  }

  .tt-forms-index-page .tt-forms-catalog {
    padding: 0.75rem;
  }

  .tt-forms-index-page .tt-form-card {
    grid-template-columns: 1fr;
  }

  .tt-forms-index-page .tt-form-card__rail {
    height: 4px;
  }

  .tt-forms-index-page .tt-form-card__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-forms-index-page .tt-form-card__actions {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--cu-border);
    border-left: 0;
  }

  .tt-forms-index-page .tt-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 479.98px) {
  .tt-forms-index-header.cu-page-header {
    --cu-page-header-padding-block: 0.9rem;
    --cu-page-header-padding-inline: 0.9rem;
    --cu-page-header-title-size: 1.55rem;
    gap: 0.75rem;
  }

  .tt-forms-index-header .cu-page-header__identity {
    gap: 0.7rem;
  }

  .tt-forms-index-header .cu-page-header__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 1.12rem;
  }

  .tt-forms-index-header .cu-page-header__subtitle {
    font-size: 0.81rem;
  }

  .tt-forms-index-header .cu-page-header__stats {
    gap: 0.45rem;
  }

  .tt-forms-index-header .cu-page-header__stats li {
    padding: 0.58rem 0.62rem;
  }

  .tt-forms-index-header .cu-page-header__actions {
    gap: 0.45rem;
  }

  .tt-forms-index-header .cu-page-header__actions .btn {
    padding-inline: 0.58rem;
    font-size: 0.76rem;
  }

  .tt-forms-kpi-grid {
    grid-template-columns: 1fr;
  }

  .tt-forms-section-intro {
    flex-direction: column;
  }

  .tt-forms-index-page .tt-form-card__main {
    padding: 1rem;
  }

  .tt-forms-index-page .tt-form-card__stats {
    grid-template-columns: 1fr;
  }

  .tt-forms-index-page .tt-form-card__stats div {
    border-left: 0;
    border-top: 1px solid var(--cu-border);
    padding: 0.6rem 0 0;
  }

  .tt-forms-index-page .tt-form-card__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.4rem;
  }

  .tt-forms-index-page .tt-template-grid {
    grid-template-columns: 1fr;
  }

  .tt-forms-index-page .tt-form-delete-modal .modal-header,
  .tt-forms-index-page .tt-form-delete-modal .modal-body,
  .tt-forms-index-page .tt-form-delete-modal .modal-footer {
    padding-inline: 1rem;
  }

  .tt-forms-index-page .tt-form-delete-modal .modal-footer .btn {
    flex: 1 1 0;
  }
}

@media (max-width: 359.98px) {
  .tt-forms-index-header .cu-page-header__actions {
    grid-template-columns: 1fr;
  }

  .tt-forms-index-header .tt-forms-index-header__primary-action {
    grid-column: auto;
  }
}

/* Submission deletion: compact confirmation with explicit destructive safeguards. */
.tt-form-submission-page .tt-submission-delete-modal .modal-dialog {
  max-width: 560px;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-content {
  background: var(--cu-surface, #fff);
  border: 1px solid color-mix(in srgb, #dc3545 36%, var(--cu-border, #dfe5ef));
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(68, 13, 22, 0.24);
  overflow: hidden;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-header,
.tt-form-submission-page .tt-submission-delete-modal .modal-footer {
  border-color: color-mix(in srgb, #dc3545 16%, var(--cu-border, #dfe5ef));
  padding: 0.9rem 1.1rem;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-header {
  align-items: flex-start;
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.11), rgba(220, 53, 69, 0.025) 68%);
}

.tt-submission-delete-modal__heading {
  align-items: center;
  display: flex;
  gap: 0.72rem;
  min-width: 0;
}

.tt-submission-delete-modal__icon {
  align-items: center;
  background: #dc3545;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(220, 53, 69, 0.24);
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.95rem;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-title {
  color: var(--cu-text, #172033);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.3;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-body {
  display: grid;
  gap: 0.72rem;
  max-height: calc(100vh - 190px);
  max-height: calc(100dvh - 190px);
  min-height: 0;
  padding: 1rem 1.1rem;
}

.tt-submission-delete-modal__impact,
.tt-submission-delete-modal__notice {
  align-items: flex-start;
  border-radius: 11px;
  display: flex;
  gap: 0.62rem;
  padding: 0.66rem 0.78rem;
}

.tt-submission-delete-modal__impact {
  background: color-mix(in srgb, #dc3545 8%, var(--cu-surface-2, #f7f9fc));
  border: 1px solid color-mix(in srgb, #dc3545 22%, var(--cu-border, #dfe5ef));
  color: #8f2430;
}

.tt-submission-delete-modal__impact > i,
.tt-submission-delete-modal__notice > i {
  font-size: 0.95rem;
  margin-top: 0.08rem;
}

.tt-submission-delete-modal__impact div,
.tt-submission-delete-modal__confirm span {
  display: grid;
  gap: 0.18rem;
}

.tt-submission-delete-modal__impact strong,
.tt-submission-delete-modal__confirm strong {
  color: var(--cu-text, #172033);
  font-size: 0.82rem;
}

.tt-submission-delete-modal__impact span,
.tt-submission-delete-modal__confirm small {
  color: var(--cu-text-muted, #667085);
  font-size: 0.73rem;
  line-height: 1.35;
}

.tt-submission-delete-modal__notice {
  align-items: center;
  font-size: 0.76rem;
  font-weight: 650;
}

.tt-submission-delete-modal__notice.is-ready {
  background: rgba(25, 135, 84, 0.09);
  color: #176b47;
}

.tt-submission-delete-modal__notice.is-unavailable {
  background: rgba(255, 193, 7, 0.14);
  color: #825f00;
}

.tt-submission-delete-modal__presets {
  align-items: center;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: max-content minmax(0, 1fr);
}

.tt-submission-delete-modal__presets > span,
.tt-submission-delete-modal__reason-heading .form-label {
  color: var(--cu-text-muted, #667085);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  margin: 0;
  text-transform: uppercase;
}

.tt-submission-delete-modal__presets > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.tt-submission-delete-modal__presets button {
  background: var(--cu-surface-2, #f7f9fc);
  border: 1px solid var(--cu-border, #dfe5ef);
  border-radius: 999px;
  color: var(--cu-text, #172033);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.3rem 0.62rem;
  transition: border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.tt-submission-delete-modal__presets button:hover,
.tt-submission-delete-modal__presets button:focus-visible {
  border-color: #dc3545;
  color: #b42332;
  transform: translateY(-1px);
}

.tt-submission-delete-modal__reason {
  display: grid;
  gap: 0.35rem;
}

.tt-submission-delete-modal__reason-heading {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.tt-submission-delete-modal__reason-heading > span {
  color: var(--cu-text-muted, #667085);
  flex: 0 0 auto;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

.tt-submission-delete-modal__reason .form-control {
  background: var(--cu-surface-2, #f7f9fc);
  border-color: var(--cu-border, #dfe5ef);
  border-radius: 11px;
  color: var(--cu-text, #172033);
  font-size: 0.84rem;
  line-height: 1.4;
  min-height: 78px;
  resize: vertical;
}

.tt-submission-delete-modal__reason .form-control:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.22rem rgba(220, 53, 69, 0.13);
}

.tt-submission-delete-modal__confirm {
  align-items: flex-start;
  background: var(--cu-surface-2, #f7f9fc);
  border: 1px solid var(--cu-border, #dfe5ef);
  border-radius: 11px;
  cursor: pointer;
  display: flex;
  gap: 0.72rem;
  padding: 0.62rem 0.75rem;
}

.tt-submission-delete-modal__confirm .form-check-input {
  flex: 0 0 auto;
  margin: 0.1rem 0 0;
}

.tt-submission-delete-modal__confirm .form-check-input:checked {
  background-color: #dc3545;
  border-color: #dc3545;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-footer {
  background: color-mix(in srgb, var(--cu-surface-2, #f7f9fc) 72%, transparent);
  gap: 0.45rem;
}

.tt-form-submission-page .tt-submission-delete-modal .modal-footer .btn {
  border-radius: 10px;
  font-weight: 750;
  min-height: 38px;
  padding-bottom: 0.42rem;
  padding-top: 0.42rem;
}

body.cu-dark .tt-submission-delete-modal__impact {
  color: #ff8d98;
}

body.cu-dark .tt-submission-delete-modal__notice.is-ready {
  color: #7fe1b3;
}

body.cu-dark .tt-submission-delete-modal__notice.is-unavailable {
  color: #f8d66d;
}

@media (max-width: 575.98px) {
  .tt-form-submission-page .tt-submission-delete-modal .modal-dialog {
    margin: 0.7rem;
  }

  .tt-form-submission-page .tt-submission-delete-modal .modal-header,
  .tt-form-submission-page .tt-submission-delete-modal .modal-body,
  .tt-form-submission-page .tt-submission-delete-modal .modal-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .tt-form-submission-page .tt-submission-delete-modal .modal-footer .btn {
    flex: 1 1 100%;
  }

  .tt-submission-delete-modal__presets {
    align-items: start;
    gap: 0.4rem;
    grid-template-columns: 1fr;
  }
}

/* Forms builder IA v2: three working zones, persistent readiness and contextual settings. */
.tt-forms-index-page .tt-form-template-modal .modal-body {
  display: grid;
  gap: 1.25rem;
}

.tt-forms-index-page .tt-template-settings--simple {
  display: block;
  margin: 0;
}

.tt-forms-index-page .tt-template-settings--simple label {
  color: var(--cu-text);
  display: grid;
  font-size: 0.8rem;
  font-weight: 800;
  gap: 0.5rem;
  margin: 0;
}

.tt-forms-index-page .tt-template-settings--simple input {
  font-size: 1rem;
  min-height: 48px;
}

.tt-forms-index-page .tt-template-settings--simple small {
  color: var(--cu-dim);
  font-size: 0.72rem;
  font-weight: 600;
}

.tt-forms-index-page .tt-template-starters {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.tt-forms-index-page .tt-template-starters legend {
  color: var(--cu-text);
  font-size: 0.78rem;
  font-weight: 850;
  margin-bottom: 0.7rem;
}

.tt-forms-index-page .tt-template-starters legend span {
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 999px;
  color: var(--cu-dim);
  font-size: 0.6rem;
  margin-left: 0.35rem;
  padding: 0.18rem 0.42rem;
  text-transform: uppercase;
}

.tt-forms-index-page .tt-template-starters .tt-template-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-forms-index-page .tt-template-starters .tt-template-card {
  align-content: center;
  display: grid;
  gap: 0.18rem 0.65rem;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 82px;
  padding: 0.75rem;
  text-align: left;
}

.tt-forms-index-page .tt-template-starters .tt-template-card__icon {
  grid-row: 1 / span 2;
  height: 38px;
  width: 38px;
}

.tt-forms-index-page .tt-template-starters .tt-template-card strong,
.tt-forms-index-page .tt-template-starters .tt-template-card small {
  grid-column: 2;
}

.tt-forms-index-page .tt-template-starters .tt-template-card strong {
  font-size: 0.76rem;
}

.tt-forms-index-page .tt-template-starters .tt-template-card small {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 0.63rem;
  overflow: hidden;
}

.tt-forms-builder-page .tt-builder-shell {
  max-width: 1880px;
}

.tt-forms-builder-page .tt-builder-header .cu-page-header__actions {
  flex-wrap: wrap;
}

.tt-forms-builder-page .tt-builder-header-publish {
  background: var(--cu-success);
  border-color: var(--cu-success);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--cu-success) 22%, transparent);
  font-weight: 850;
}

.tt-forms-builder-page .tt-builder-layout {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 260px minmax(0, 1fr);
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-main,
.tt-forms-builder-page .tt-builder-editor,
.tt-forms-builder-page .tt-builder-zone {
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-main {
  display: grid;
  gap: 1rem;
}

.tt-forms-builder-page .tt-builder-zone[hidden] {
  display: none !important;
}

.tt-forms-builder-page .tt-builder-readiness {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cu-accent) 7%, var(--cu-surface)), var(--cu-surface) 34%);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  box-shadow: var(--cu-shadow-sm);
  overflow: hidden;
  position: sticky;
  top: 0.85rem;
}

.tt-forms-builder-page .tt-builder-readiness__head {
  align-items: flex-start;
  border-bottom: 1px solid var(--cu-border);
  display: grid;
  gap: 0.7rem;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 1rem;
}

.tt-forms-builder-page .tt-builder-readiness__icon {
  align-items: center;
  background: var(--cu-accent);
  border-radius: 12px;
  color: var(--cu-on-accent);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.tt-forms-builder-page .tt-builder-readiness__head h2 {
  color: var(--cu-text);
  font-size: 0.92rem;
  font-weight: 850;
  letter-spacing: -0.015em;
  margin: 0.14rem 0 0.25rem;
}

.tt-forms-builder-page .tt-builder-readiness__head p {
  color: var(--cu-dim);
  font-size: 0.67rem;
  line-height: 1.45;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-readiness__list {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0.5rem;
}

.tt-forms-builder-page .tt-builder-readiness__list li {
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-readiness__list button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: var(--cu-text);
  display: grid;
  gap: 0.58rem;
  grid-template-columns: 22px minmax(0, 1fr) 14px;
  min-height: 48px;
  padding: 0.48rem 0.55rem;
  text-align: left;
  transition: background-color 0.16s ease, transform 0.16s ease;
  width: 100%;
}

.tt-forms-builder-page .tt-builder-readiness__list button:hover,
.tt-forms-builder-page .tt-builder-readiness__list button:focus-visible {
  background: var(--cu-hover);
  transform: translateX(2px);
}

.tt-forms-builder-page .tt-builder-readiness__state {
  color: var(--cu-dim);
  font-size: 0.92rem;
}

.tt-forms-builder-page .tt-builder-readiness__copy strong,
.tt-forms-builder-page .tt-builder-readiness__copy small {
  display: block;
}

.tt-forms-builder-page .tt-builder-readiness__copy strong {
  font-size: 0.72rem;
  font-weight: 800;
}

.tt-forms-builder-page .tt-builder-readiness__copy small {
  color: var(--cu-dim);
  font-size: 0.62rem;
  font-weight: 650;
  margin-top: 0.08rem;
}

.tt-forms-builder-page .tt-builder-readiness__arrow {
  color: var(--cu-dim);
  font-size: 0.68rem;
}

.tt-forms-builder-page .tt-builder-readiness__list button.is-complete .tt-builder-readiness__state,
.tt-forms-builder-page .tt-builder-readiness__list button.is-complete .tt-builder-readiness__copy small {
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-readiness__list button.has-issues .tt-builder-readiness__state,
.tt-forms-builder-page .tt-builder-readiness__list button.has-issues .tt-builder-readiness__copy small {
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-builder-readiness__list button.is-optional .tt-builder-readiness__state {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-readiness__tip {
  align-items: flex-start;
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  border-top: 1px solid var(--cu-border);
  color: var(--cu-dim);
  display: flex;
  font-size: 0.65rem;
  gap: 0.55rem;
  line-height: 1.45;
  padding: 0.8rem 0.9rem;
}

.tt-forms-builder-page .tt-builder-readiness__tip > i {
  color: var(--cu-info);
  margin-top: 0.08rem;
}

.tt-forms-builder-page .tt-builder-readiness__tip p {
  margin: 0;
}

.tt-forms-builder-page .tt-builder-readiness__tip strong {
  color: var(--cu-text);
  display: block;
}

.tt-forms-builder-page .tt-builder-primary-nav {
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  box-shadow: var(--cu-shadow-sm);
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0.45rem;
  position: sticky;
  top: 0.5rem;
  z-index: 20;
}

.tt-forms-builder-page .tt-builder-primary-nav button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--cu-dim);
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  min-height: 58px;
  padding: 0.55rem 0.7rem;
  text-align: left;
  transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.tt-forms-builder-page .tt-builder-primary-nav button:hover {
  background: var(--cu-hover);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-builder-primary-nav button.is-active {
  background: linear-gradient(130deg, color-mix(in srgb, var(--cu-accent) 13%, var(--cu-surface)), color-mix(in srgb, var(--cu-accent) 5%, var(--cu-surface)));
  border-color: color-mix(in srgb, var(--cu-accent) 34%, var(--cu-border));
  color: var(--cu-text);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--cu-accent) 10%, transparent);
}

.tt-forms-builder-page .tt-builder-primary-nav__icon {
  align-items: center;
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 10px;
  display: inline-flex;
  font-size: 0.95rem;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.tt-forms-builder-page .tt-builder-primary-nav button.is-active .tt-builder-primary-nav__icon {
  background: var(--cu-accent);
  border-color: var(--cu-accent);
  color: var(--cu-on-accent);
}

.tt-forms-builder-page .tt-builder-primary-nav button > span:nth-child(2) {
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-primary-nav strong,
.tt-forms-builder-page .tt-builder-primary-nav small {
  display: block;
}

.tt-forms-builder-page .tt-builder-primary-nav strong {
  font-size: 0.78rem;
  font-weight: 850;
}

.tt-forms-builder-page .tt-builder-primary-nav small {
  color: var(--cu-dim);
  font-size: 0.61rem;
  margin-top: 0.1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-builder-primary-nav__status {
  color: var(--cu-warning);
  font-size: 0.78rem;
}

.tt-forms-builder-page .tt-builder-primary-nav button.is-complete .tt-builder-primary-nav__status {
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-guide {
  grid-template-columns: 46px minmax(0, 1fr) auto;
}

.tt-forms-builder-page .tt-builder-guide__settings {
  white-space: nowrap;
}

.tt-forms-builder-page .tt-builder-form-identity {
  align-items: start;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--cu-info) 12%, transparent), transparent 42%),
    var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  box-shadow: var(--cu-shadow-sm);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  margin-bottom: 1rem;
  overflow: hidden;
}

.tt-forms-builder-page .tt-builder-form-identity__head {
  align-items: center;
  background: color-mix(in srgb, var(--cu-surface-2) 52%, transparent);
  border-bottom: 1px solid var(--cu-border);
  display: flex;
  gap: 1rem;
  grid-column: 1 / -1;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}

.tt-forms-builder-page .tt-builder-form-identity__heading,
.tt-forms-builder-page .tt-builder-automation__head {
  align-items: flex-start;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: 42px minmax(0, 1fr);
}

.tt-forms-builder-page .tt-builder-form-identity__heading {
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-form-identity__icon,
.tt-forms-builder-page .tt-builder-automation__icon {
  align-items: center;
  background: var(--cu-accent-soft);
  border-radius: 12px;
  color: var(--cu-accent);
  display: inline-flex;
  font-size: 1rem;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.tt-forms-builder-page .tt-builder-form-identity h2,
.tt-forms-builder-page .tt-builder-automation h2,
.tt-forms-builder-page .tt-builder-task-content h3,
.tt-forms-builder-page .tt-builder-advanced-rules h3 {
  color: var(--cu-text);
  font-weight: 850;
  letter-spacing: -0.015em;
}

.tt-forms-builder-page .tt-builder-form-identity h2,
.tt-forms-builder-page .tt-builder-automation h2 {
  font-size: 1rem;
  margin: 0.12rem 0 0.2rem;
}

.tt-forms-builder-page .tt-builder-form-identity__eyebrow {
  color: var(--cu-accent);
  display: block;
  font-size: 0.6rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.tt-forms-builder-page .tt-builder-form-identity p,
.tt-forms-builder-page .tt-builder-automation__head p {
  color: var(--cu-dim);
  font-size: 0.7rem;
  line-height: 1.45;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-form-identity__fields {
  align-content: start;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(190px, 0.8fr) minmax(260px, 1.2fr);
  padding: 1rem;
}

.tt-forms-builder-page .tt-builder-form-identity__more {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 9px;
  color: var(--cu-text);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.64rem;
  font-weight: 800;
  gap: 0.42rem;
  min-height: 36px;
  padding: 0.42rem 0.7rem;
  text-decoration: none;
}

.tt-forms-builder-page .tt-builder-form-identity__more:hover,
.tt-forms-builder-page .tt-builder-form-identity__more:focus-visible {
  background: var(--cu-accent-soft);
  border-color: color-mix(in srgb, var(--cu-accent) 38%, var(--cu-border));
  color: var(--cu-accent);
  text-decoration: none;
}

.tt-forms-builder-page .tt-builder-form-identity label,
.tt-forms-builder-page .tt-builder-automation label,
.tt-forms-builder-page .tt-builder-settings__panel > label,
.tt-forms-builder-page .tt-builder-settings__panel .tt-inspector-grid > label,
.tt-forms-builder-page .tt-builder-task-content label,
.tt-forms-builder-page .tt-builder-admin-details label {
  color: var(--cu-text);
  display: grid;
  font-size: 0.68rem;
  font-weight: 800;
  gap: 0.35rem;
  letter-spacing: 0.01em;
}

.tt-forms-builder-page .tt-builder-form-identity input,
.tt-forms-builder-page .tt-builder-form-identity textarea,
.tt-forms-builder-page .tt-builder-form-identity select,
.tt-forms-builder-page .tt-builder-automation input,
.tt-forms-builder-page .tt-builder-automation textarea,
.tt-forms-builder-page .tt-builder-automation select,
.tt-forms-builder-page .tt-builder-settings input:not([type="checkbox"]),
.tt-forms-builder-page .tt-builder-settings textarea,
.tt-forms-builder-page .tt-builder-settings select {
  background: var(--cu-input-bg, var(--cu-surface));
  border: 1px solid var(--cu-border-strong);
  border-radius: 9px;
  color: var(--cu-text);
  font-size: 0.75rem;
  min-height: 40px;
  padding: 0.55rem 0.65rem;
  width: 100%;
}

.tt-forms-builder-page .tt-builder-form-identity textarea,
.tt-forms-builder-page .tt-builder-automation textarea,
.tt-forms-builder-page .tt-builder-settings textarea {
  line-height: 1.5;
  resize: vertical;
}

.tt-forms-builder-page .tt-builder-form-identity input:focus,
.tt-forms-builder-page .tt-builder-form-identity textarea:focus,
.tt-forms-builder-page .tt-builder-form-identity select:focus,
.tt-forms-builder-page .tt-builder-automation input:focus,
.tt-forms-builder-page .tt-builder-automation textarea:focus,
.tt-forms-builder-page .tt-builder-automation select:focus,
.tt-forms-builder-page .tt-builder-settings input:focus,
.tt-forms-builder-page .tt-builder-settings textarea:focus,
.tt-forms-builder-page .tt-builder-settings select:focus {
  border-color: var(--cu-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cu-accent) 14%, transparent);
  outline: 0;
}

.tt-forms-builder-page .tt-builder-admin-details {
  align-self: start;
  background: color-mix(in srgb, var(--cu-surface-2) 72%, var(--cu-surface));
  border: 1px solid var(--cu-border);
  border-radius: 11px;
  margin: 1rem 1rem 1rem 0;
  min-width: 0;
  overflow: hidden;
}

.tt-forms-builder-page .tt-builder-admin-details summary {
  align-items: center;
  color: var(--cu-text);
  cursor: pointer;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  list-style: none;
  min-height: 54px;
  padding: 0.58rem 0.65rem;
}

.tt-forms-builder-page .tt-builder-admin-details summary::-webkit-details-marker {
  display: none;
}

.tt-forms-builder-page .tt-builder-admin-details summary:hover {
  background: color-mix(in srgb, var(--cu-accent) 5%, var(--cu-surface));
}

.tt-forms-builder-page .tt-builder-admin-details__icon {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 9px;
  color: var(--cu-accent);
  display: inline-flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.tt-forms-builder-page .tt-builder-admin-details__copy strong,
.tt-forms-builder-page .tt-builder-admin-details__copy small {
  display: block;
}

.tt-forms-builder-page .tt-builder-admin-details__copy strong {
  font-size: 0.7rem;
  font-weight: 850;
}

.tt-forms-builder-page .tt-builder-admin-details__copy small {
  color: var(--cu-dim);
  font-size: 0.61rem;
  margin-top: 0.08rem;
}

.tt-forms-builder-page .tt-builder-admin-details__chevron {
  color: var(--cu-dim);
  font-size: 0.72rem;
  transition: transform 0.18s ease;
}

.tt-forms-builder-page .tt-builder-admin-details[open] .tt-builder-admin-details__chevron {
  transform: rotate(180deg);
}

.tt-forms-builder-page .tt-builder-admin-details > div {
  border-top: 1px solid var(--cu-border);
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0.7rem;
}

.tt-forms-builder-page .tt-builder-workspace {
  display: grid;
  grid-template-columns: 230px minmax(430px, 1fr) 300px;
  min-height: 680px;
}

.tt-forms-builder-page .tt-builder-automation {
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--cu-success) 9%, transparent), transparent 36%),
    var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  box-shadow: var(--cu-shadow-md);
  display: grid;
  gap: 1.25rem;
  padding: clamp(1rem, 2vw, 1.5rem);
}

.tt-forms-builder-page .tt-builder-automation__head {
  max-width: 760px;
}

.tt-forms-builder-page .tt-builder-task-toggle {
  align-items: center;
  background: color-mix(in srgb, var(--cu-success) 7%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-success) 30%, var(--cu-border));
  border-radius: 16px;
  cursor: pointer;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.95rem 1rem;
  position: relative;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.tt-forms-builder-page .tt-builder-task-toggle:hover {
  border-color: color-mix(in srgb, var(--cu-success) 52%, var(--cu-border));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cu-success) 10%, transparent);
  transform: translateY(-1px);
}

.tt-forms-builder-page .tt-builder-task-toggle > input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.tt-forms-builder-page .tt-builder-task-toggle__track {
  background: color-mix(in srgb, var(--cu-dim) 24%, var(--cu-surface-2));
  border: 1px solid color-mix(in srgb, var(--cu-dim) 28%, var(--cu-border));
  border-radius: 999px;
  display: block;
  height: 28px;
  padding: 3px;
  transition: background 0.2s ease, border-color 0.2s ease;
  width: 50px;
}

.tt-forms-builder-page .tt-builder-task-toggle__track > span {
  background: var(--cu-surface);
  border-radius: 50%;
  box-shadow: 0 2px 7px rgb(15 23 42 / 0.24);
  display: block;
  height: 20px;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: 20px;
}

.tt-forms-builder-page .tt-builder-task-toggle > input:checked + .tt-builder-task-toggle__track {
  background: var(--cu-success);
  border-color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-task-toggle > input:checked + .tt-builder-task-toggle__track > span {
  transform: translateX(22px);
}

.tt-forms-builder-page .tt-builder-task-toggle > input:focus-visible + .tt-builder-task-toggle__track {
  outline: 3px solid color-mix(in srgb, var(--cu-info) 28%, transparent);
  outline-offset: 3px;
}

.tt-forms-builder-page .tt-builder-task-toggle__copy {
  display: grid;
  gap: 0.15rem;
}

.tt-forms-builder-page .tt-builder-task-toggle__copy strong {
  color: var(--cu-text);
  font-size: 0.84rem;
  font-weight: 850;
}

.tt-forms-builder-page .tt-builder-task-toggle__copy small {
  color: var(--cu-dim);
  font-size: 0.66rem;
  line-height: 1.4;
}

.tt-forms-builder-page .tt-builder-task-toggle__state {
  background: color-mix(in srgb, var(--cu-success) 14%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-success) 26%, var(--cu-border));
  border-radius: 999px;
  color: var(--cu-success);
  font-size: 0.64rem;
  font-weight: 850;
  padding: 0.35rem 0.6rem;
}

.tt-forms-builder-page .tt-builder-automation.is-task-disabled .tt-builder-task-toggle {
  background: var(--cu-surface-2);
  border-color: var(--cu-border);
}

.tt-forms-builder-page .tt-builder-automation.is-task-disabled .tt-builder-task-toggle__state {
  background: var(--cu-surface);
  border-color: var(--cu-border);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-task-disabled {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 7%, var(--cu-surface));
  border: 1px dashed color-mix(in srgb, var(--cu-info) 32%, var(--cu-border));
  border-radius: 14px;
  color: var(--cu-info);
  display: flex;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
}

.tt-forms-builder-page .tt-builder-task-disabled > i {
  font-size: 1.1rem;
}

.tt-forms-builder-page .tt-builder-task-disabled > div {
  display: grid;
  gap: 0.12rem;
}

.tt-forms-builder-page .tt-builder-task-disabled strong {
  color: var(--cu-text);
  font-size: 0.78rem;
}

.tt-forms-builder-page .tt-builder-task-disabled span {
  color: var(--cu-dim);
  font-size: 0.66rem;
  line-height: 1.45;
}

.tt-forms-builder-page .tt-builder-task-settings {
  display: grid;
  gap: 1.25rem;
}

.tt-forms-builder-page [data-task-only][hidden],
.tt-forms-builder-page [data-task-creation-off][hidden] {
  display: none !important;
}

.tt-forms-builder-page .tt-builder-automation.is-task-disabled .tt-builder-advanced-rules__content {
  grid-template-columns: minmax(0, 1fr);
}

.tt-forms-builder-page .tt-builder-automation.is-task-disabled .tt-builder-advanced-rules__content > section {
  border-left: 0;
}

.tt-forms-builder-page .tt-builder-automation .tt-builder-route-map {
  grid-template-columns: auto 24px minmax(0, 1fr);
  justify-items: start;
  padding: 0.8rem 1rem;
  text-align: left;
}

.tt-forms-builder-page .tt-builder-automation__grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(4, minmax(145px, 1fr));
}

.tt-forms-builder-page .tt-builder-automation__grid label small,
.tt-forms-builder-page .tt-builder-settings label small {
  color: var(--cu-dim);
  font-size: 0.61rem;
  font-weight: 600;
  line-height: 1.35;
}

.tt-forms-builder-page .tt-builder-automation__project {
  grid-column: span 2;
}

.tt-forms-builder-page .tt-builder-task-content {
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 14px;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(220px, 0.75fr) minmax(300px, 1.25fr);
  padding: 1rem;
}

.tt-forms-builder-page .tt-builder-task-content > div:first-child,
.tt-forms-builder-page .tt-builder-task-content .tt-template-token-picker {
  align-self: start;
}

.tt-forms-builder-page .tt-builder-task-content h3,
.tt-forms-builder-page .tt-builder-advanced-rules h3 {
  font-size: 0.85rem;
  margin: 0.15rem 0 0;
}

.tt-forms-builder-page .tt-builder-task-content label {
  grid-column: 1 / -1;
}

.tt-forms-builder-page .tt-builder-advanced-rules {
  border: 1px solid var(--cu-border);
  border-radius: 14px;
  overflow: hidden;
}

.tt-forms-builder-page .tt-builder-advanced-rules > summary {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 6%, var(--cu-surface));
  cursor: pointer;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: 42px minmax(0, 1fr) auto 18px;
  list-style: none;
  min-height: 68px;
  padding: 0.75rem 1rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules > summary::-webkit-details-marker {
  display: none;
}

.tt-forms-builder-page .tt-builder-advanced-rules__icon {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 14%, var(--cu-surface));
  border-radius: 11px;
  color: var(--cu-info);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.tt-forms-builder-page .tt-builder-advanced-rules > summary strong,
.tt-forms-builder-page .tt-builder-advanced-rules > summary small {
  display: block;
}

.tt-forms-builder-page .tt-builder-advanced-rules > summary strong {
  color: var(--cu-text);
  font-size: 0.8rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules > summary small {
  color: var(--cu-dim);
  font-size: 0.64rem;
  margin-top: 0.12rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules__status {
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 999px;
  color: var(--cu-dim);
  font-size: 0.62rem;
  font-weight: 800;
  padding: 0.3rem 0.55rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules[open] > summary > i:last-child {
  transform: rotate(180deg);
}

.tt-forms-builder-page .tt-builder-advanced-rules__content {
  border-top: 1px solid var(--cu-border);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tt-forms-builder-page .tt-builder-advanced-rules__content > section {
  min-width: 0;
  padding: 1rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules__content > section + section {
  border-left: 1px solid var(--cu-border);
}

.tt-forms-builder-page .tt-builder-advanced-rules__head {
  margin-bottom: 0.8rem;
}

.tt-forms-builder-page .tt-builder-advanced-rules__head p {
  color: var(--cu-dim);
  font-size: 0.65rem;
  line-height: 1.45;
  margin: 0.35rem 0 0;
}

.tt-forms-builder-page .tt-builder-settings-backdrop {
  background: rgb(13 23 38 / 0.46);
  border: 0;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  visibility: hidden;
  z-index: 1090;
}

.tt-forms-builder-page .tt-builder-settings {
  background: var(--cu-surface);
  border-left: 1px solid var(--cu-border);
  box-shadow: -22px 0 55px rgb(15 23 42 / 0.2);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100dvh;
  max-width: 94vw;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(105%);
  transition: transform 0.24s ease;
  width: 480px;
  z-index: 1100;
}

.tt-forms-builder-page .tt-builder-settings.is-open {
  transform: translateX(0);
}

.tt-builder-settings-open {
  overflow: hidden;
}

.tt-builder-settings-open .tt-builder-settings-backdrop {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.tt-forms-builder-page .tt-builder-settings__head {
  align-items: flex-start;
  border-bottom: 1px solid var(--cu-border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.1rem 1.2rem;
}

.tt-forms-builder-page .tt-builder-settings__head h2 {
  color: var(--cu-text);
  font-size: 1.15rem;
  font-weight: 850;
  margin: 0.16rem 0 0.25rem;
}

.tt-forms-builder-page .tt-builder-settings__head p {
  color: var(--cu-dim);
  font-size: 0.69rem;
  line-height: 1.45;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-settings__tabs {
  border-bottom: 1px solid var(--cu-border);
  display: grid;
  gap: 0.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0.6rem;
}

.tt-forms-builder-page .tt-builder-settings__tabs button {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--cu-dim);
  font-size: 0.7rem;
  font-weight: 800;
  min-height: 40px;
}

.tt-forms-builder-page .tt-builder-settings__tabs button.is-active {
  background: var(--cu-accent-soft);
  border-color: color-mix(in srgb, var(--cu-accent) 24%, var(--cu-border));
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-settings__body {
  min-height: 0;
  overflow-y: auto;
}

.tt-forms-builder-page .tt-builder-settings__panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.2rem 1.4rem;
}

.tt-forms-builder-page .tt-builder-settings__panel[hidden] {
  display: none;
}

.tt-forms-builder-page .tt-builder-settings__check {
  align-items: center;
  display: flex !important;
  gap: 0.5rem !important;
}

.tt-forms-builder-page .tt-builder-settings__check input {
  accent-color: var(--cu-accent);
  height: 17px;
  width: 17px;
}

.tt-forms-builder-page .tt-builder-settings__footer {
  align-items: center;
  background: var(--cu-surface-2);
  border-top: 1px solid var(--cu-border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.8rem 1rem;
}

.tt-forms-builder-page .tt-builder-settings__footer > span {
  color: var(--cu-dim);
  font-size: 0.65rem;
}

.tt-forms-builder-page .tt-builder-zone:not([hidden]) .tt-builder-publish {
  align-items: start;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 34%, var(--cu-border));
  border-radius: var(--cu-radius-lg);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  padding: clamp(1rem, 2vw, 1.4rem);
}

.tt-forms-builder-page .tt-builder-publish__hero {
  align-items: center;
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--cu-accent) 12%, var(--cu-surface)), var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-accent) 24%, var(--cu-border));
  border-radius: 14px;
  display: grid;
  gap: 0.8rem;
  grid-column: 1 / -1;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  padding: 1rem;
}

.tt-forms-builder-page .tt-builder-publish__hero-icon {
  align-items: center;
  background: var(--cu-accent);
  border-radius: 13px;
  color: var(--cu-on-accent);
  display: inline-flex;
  font-size: 1.15rem;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.tt-forms-builder-page .tt-builder-publish__hero h2 {
  color: var(--cu-text);
  font-size: 1.05rem;
  font-weight: 850;
  margin: 0.12rem 0 0.22rem;
}

.tt-forms-builder-page .tt-builder-publish__hero p {
  color: var(--cu-dim);
  font-size: 0.69rem;
  line-height: 1.45;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-publish .tt-builder-preflight {
  grid-column: 2;
  grid-row: auto;
}

.tt-forms-builder-page .tt-builder-publish .tt-builder-publish__summary {
  grid-column: 1;
  grid-row: auto;
}

.tt-forms-builder-page .tt-builder-zone:not([hidden]) .tt-builder-links[data-publish-support] {
  display: grid;
  margin-top: 1rem;
}

@media (max-width: 1499.98px) {
  .tt-forms-builder-page .tt-builder-layout {
    grid-template-columns: 235px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-workspace {
    grid-template-columns: 210px minmax(390px, 1fr) 280px;
  }

  .tt-forms-builder-page .tt-builder-form-identity {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 380px);
  }

  .tt-forms-builder-page .tt-builder-admin-details {
    margin-right: 0.85rem;
  }
}

@media (max-width: 1249.98px) {
  .tt-forms-builder-page .tt-builder-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-readiness {
    position: static;
  }

  .tt-forms-builder-page .tt-builder-readiness__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tt-forms-builder-page .tt-builder-readiness__tip {
    display: none;
  }
}

@media (max-width: 1029.98px) {
  .tt-forms-builder-page .tt-builder-form-identity {
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-admin-details {
    grid-column: 1;
    margin: 0 1rem 1rem;
  }

  .tt-forms-builder-page .tt-builder-workspace {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-inspector {
    border-left: 0;
    border-top: 1px solid var(--cu-border);
    grid-column: 1 / -1;
  }

  .tt-forms-builder-page .tt-inspector-panel.is-active {
    max-height: none;
  }

  .tt-forms-builder-page .tt-builder-automation__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .tt-forms-index-page .tt-template-starters .tt-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-forms-builder-page .tt-forms-builder-container {
    padding-bottom: 2rem;
  }

  .tt-forms-builder-page .tt-builder-task-toggle {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-task-toggle__state {
    grid-column: 2;
    justify-self: start;
  }

  .tt-forms-builder-page .tt-builder-state-strip {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-readiness__head {
    padding: 0.85rem;
  }

  .tt-forms-builder-page .tt-builder-readiness__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-forms-builder-page .tt-builder-primary-nav {
    gap: 0.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-x: auto;
    padding: 0.35rem;
  }

  .tt-forms-builder-page .tt-builder-primary-nav button {
    gap: 0.35rem;
    grid-template-columns: 34px minmax(0, 1fr);
    min-width: 125px;
    padding: 0.45rem;
  }

  .tt-forms-builder-page .tt-builder-primary-nav__icon {
    height: 34px;
    width: 34px;
  }

  .tt-forms-builder-page .tt-builder-primary-nav small,
  .tt-forms-builder-page .tt-builder-primary-nav__status {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-guide {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-guide__settings {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  .tt-forms-builder-page .tt-builder-form-identity,
  .tt-forms-builder-page .tt-builder-form-identity__fields,
  .tt-forms-builder-page .tt-builder-admin-details > div,
  .tt-forms-builder-page .tt-builder-workspace,
  .tt-forms-builder-page .tt-builder-automation__grid,
  .tt-forms-builder-page .tt-builder-task-content,
  .tt-forms-builder-page .tt-builder-advanced-rules__content,
  .tt-forms-builder-page .tt-builder-zone:not([hidden]) .tt-builder-publish {
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-form-identity__fields,
  .tt-forms-builder-page .tt-builder-form-identity__head {
    grid-column: 1;
  }

  .tt-forms-builder-page .tt-builder-form-identity__head {
    grid-column: 1 / -1;
  }

  .tt-forms-builder-page .tt-builder-admin-details {
    grid-column: 1;
    margin: 0 0.85rem 0.85rem;
  }

  .tt-forms-builder-page .tt-builder-admin-details > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-form-identity__head {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-forms-builder-page .tt-builder-form-identity__more {
    align-self: flex-start;
  }

  .tt-forms-builder-page .tt-builder-outline,
  .tt-forms-builder-page .tt-builder-canvas,
  .tt-forms-builder-page .tt-builder-inspector {
    border: 0;
    border-bottom: 1px solid var(--cu-border);
    grid-column: 1;
  }

  .tt-forms-builder-page .tt-builder-automation__project,
  .tt-forms-builder-page .tt-builder-task-content label {
    grid-column: 1;
  }

  .tt-forms-builder-page .tt-builder-advanced-rules__content > section + section {
    border-left: 0;
    border-top: 1px solid var(--cu-border);
  }

  .tt-forms-builder-page .tt-builder-advanced-rules > summary {
    grid-template-columns: 40px minmax(0, 1fr) 16px;
  }

  .tt-forms-builder-page .tt-builder-advanced-rules__status {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-publish__hero {
    align-items: start;
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-publish__hero > a {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  .tt-forms-builder-page .tt-builder-publish .tt-builder-preflight,
  .tt-forms-builder-page .tt-builder-publish .tt-builder-publish__summary {
    grid-column: 1;
  }
}

@media (max-width: 479.98px) {
  .tt-forms-index-page .tt-template-starters .tt-template-grid,
  .tt-forms-builder-page .tt-builder-readiness__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-settings {
    max-width: none;
    width: 100vw;
  }
}

/* Forms internal headers: consistent back navigation anchored on the left. */
.tt-forms-header-back {
  align-items: center;
  align-self: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border-strong);
  border-radius: 9px;
  color: var(--cu-text);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.76rem;
  font-weight: 800;
  gap: 0.38rem;
  justify-content: center;
  min-height: 36px;
  padding: 0.44rem 0.68rem;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.tt-forms-header-back:hover {
  background: var(--cu-accent-soft);
  border-color: var(--cu-accent);
  color: var(--cu-accent);
  transform: translateX(-2px);
}

.tt-forms-header-back:focus-visible {
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-header-back i {
  font-size: 0.9rem;
  line-height: 1;
}

/* Forms builder: shared application shell with a focused editing workspace. */
.tt-forms-builder-page {
  background: var(--cu-bg);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-forms-builder-container {
  padding: clamp(0.4rem, 1vw, 0.85rem) clamp(0.75rem, 1.5vw, 1.5rem) clamp(2rem, 4vw, 4rem);
}

.tt-forms-builder-page .tt-builder-shell {
  --tt-page-gap: 1rem;
  width: 100%;
  max-width: 1680px;
}

.tt-builder-header .cu-page-header__identity {
  flex-basis: 420px;
}

.tt-forms-builder-page .tt-builder-submissions-link {
  border-color: color-mix(in srgb, var(--cu-info) 54%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-info) 12%, var(--cu-surface));
  color: color-mix(in srgb, var(--cu-info) 58%, var(--cu-text));
  font-weight: 800;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--cu-info) 10%, transparent);
}

.tt-forms-builder-page .tt-builder-submissions-link:hover {
  border-color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 19%, var(--cu-surface));
  color: color-mix(in srgb, var(--cu-info) 54%, var(--cu-text));
}

.tt-forms-builder-page .tt-form-status {
  border-color: var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-form-status--active {
  border-color: color-mix(in srgb, var(--cu-success) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-form-status--paused,
.tt-forms-builder-page .tt-form-status--needs_attention {
  border-color: color-mix(in srgb, var(--cu-warning) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-warning) 12%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-form-status--draft {
  border-color: color-mix(in srgb, var(--cu-info) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-info) 11%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-forms-builder-page .tt-forms-alert {
  margin: 0;
  border-color: currentColor;
  border-radius: var(--cu-radius);
  box-shadow: none;
}

.tt-forms-builder-page .tt-builder-steprail {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
  padding: 0.5rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-sm);
}

.tt-forms-builder-page .tt-builder-steprail button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  min-height: 42px;
  padding: 0.5rem 0.65rem;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--cu-dim);
  font-size: 0.7rem;
  font-weight: 750;
  transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.tt-forms-builder-page .tt-builder-steprail button:hover {
  background: var(--cu-hover);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-builder-steprail button span {
  width: 21px;
  height: 21px;
  margin: 0;
  border: 1px solid var(--cu-border-strong);
  background: var(--cu-surface);
}

.tt-forms-builder-page .tt-builder-steprail button.is-active {
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-steprail button.is-active span {
  border-color: var(--cu-accent);
  background: var(--cu-accent);
  color: var(--cu-on-accent);
}

.tt-forms-builder-page .tt-builder-workspace {
  grid-template-columns: 260px minmax(520px, 1fr) 340px;
  min-height: 720px;
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface-2);
  box-shadow: var(--cu-shadow-md);
}

.tt-forms-builder-page .tt-builder-outline,
.tt-forms-builder-page .tt-builder-inspector {
  background: var(--cu-surface);
}

.tt-forms-builder-page .tt-builder-outline {
  border-right-color: var(--cu-border);
}

.tt-forms-builder-page .tt-builder-inspector {
  border-left-color: var(--cu-border);
}

.tt-forms-builder-page .tt-builder-pane-head {
  min-height: 70px;
  border-color: var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 48%, var(--cu-surface));
}

.tt-forms-builder-page .tt-builder-pane-head h2 {
  color: var(--cu-text);
  font-size: 0.96rem;
  font-weight: 800;
}

.tt-forms-builder-page .tt-forms-kicker {
  color: var(--cu-accent);
  font-family: var(--cu-font-sans);
  font-size: 0.63rem;
  letter-spacing: 0.08em;
}

.tt-forms-builder-page .tt-forms-icon-btn {
  border-color: var(--cu-border);
  background: var(--cu-surface);
  color: var(--cu-text);
  box-shadow: none;
}

.tt-forms-builder-page .tt-forms-icon-btn:hover {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-outline__tree {
  max-height: 540px;
  scrollbar-color: var(--cu-border-strong) transparent;
}

.tt-forms-builder-page .tt-outline-page {
  border-left-color: var(--cu-border);
}

.tt-forms-builder-page .tt-outline-page.is-current {
  border-left-color: var(--cu-accent);
}

.tt-forms-builder-page .tt-outline-page__head,
.tt-forms-builder-page .tt-outline-field {
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-outline-page__head {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
}

.tt-forms-builder-page .tt-outline-page__head > span {
  color: var(--cu-accent);
  font-size: 0.66rem;
  font-weight: 850;
}

.tt-forms-builder-page .tt-outline-page__head > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-outline-page__head > small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.65rem;
}

.tt-forms-builder-page .tt-outline-field {
  grid-template-columns: 22px minmax(0, 1fr) 18px;
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-outline-field > span:not(.tt-outline-order) {
  display: block;
  min-width: 0;
}

.tt-forms-builder-page .tt-outline-field > span:not(.tt-outline-order) strong,
.tt-forms-builder-page .tt-outline-field > span:not(.tt-outline-order) small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-outline-field > span:not(.tt-outline-order) strong {
  color: inherit;
  font-size: 0.73rem;
}

.tt-forms-builder-page .tt-outline-field > span:not(.tt-outline-order) small {
  margin-top: 0.12rem;
  color: var(--cu-dim);
  font-size: 0.61rem;
}

.tt-forms-builder-page .tt-outline-page__head:hover,
.tt-forms-builder-page .tt-outline-field:hover,
.tt-forms-builder-page .tt-outline-field.is-selected {
  background: var(--cu-hover);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-outline-field.is-selected {
  box-shadow: inset 3px 0 var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-field-palette {
  border-color: var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 42%, var(--cu-surface));
}

.tt-forms-builder-page .tt-builder-field-palette > span {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-field-palette button {
  border-color: var(--cu-border);
  background: var(--cu-surface);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-field-palette button:hover {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-canvas__toolbar {
  border-color: var(--cu-border);
  background: var(--cu-surface);
}

.tt-forms-builder-page .tt-device-switch {
  background: var(--cu-surface-2);
}

.tt-forms-builder-page .tt-device-switch button {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-device-switch button.is-active {
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-sm);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-builder-health {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-health.is-valid {
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-health.is-invalid,
.tt-forms-builder-page .tt-builder-health.has-errors {
  color: var(--cu-danger);
}

.tt-forms-builder-page .tt-builder-health.is-saving {
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-builder-stage {
  background-color: var(--cu-surface-2);
  background-image: radial-gradient(circle, color-mix(in srgb, var(--cu-border-strong) 55%, transparent) 1px, transparent 1px);
  background-position: 0 0;
  background-size: 20px 20px;
}

.tt-forms-builder-page .tt-builder-preview__card {
  border-color: var(--cu-border);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-lg);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-builder-preview__brand,
.tt-forms-builder-page .tt-builder-preview__card > p,
.tt-forms-builder-page .tt-builder-preview__page-title small {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-preview__brand i,
.tt-forms-builder-page .tt-builder-preview__page-title > span {
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-preview__card > h2 {
  margin: 0.45rem 0 0.65rem;
  color: var(--cu-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 3vw, 3rem);
  letter-spacing: -0.035em;
}

.tt-forms-builder-page .tt-builder-preview__page {
  border-color: var(--cu-border);
}

.tt-forms-builder-page .tt-builder-preview__field:hover,
.tt-forms-builder-page .tt-builder-preview__field.is-selected {
  border-color: var(--cu-border);
  background: var(--cu-hover);
}

.tt-forms-builder-page .tt-builder-preview__field input,
.tt-forms-builder-page .tt-builder-preview__field select,
.tt-forms-builder-page .tt-builder-preview__field textarea,
.tt-forms-builder-page .tt-inspector-panel input:not([type="checkbox"]),
.tt-forms-builder-page .tt-inspector-panel select,
.tt-forms-builder-page .tt-inspector-panel textarea,
.tt-forms-builder-page .tt-rule-card input:not([type="checkbox"]),
.tt-forms-builder-page .tt-rule-card select,
.tt-forms-builder-page .tt-builder-publish input {
  border-color: var(--cu-input-border);
  background: var(--cu-input-bg);
  color: var(--cu-input-text);
}

.tt-forms-builder-page .tt-builder-preview__field input:focus,
.tt-forms-builder-page .tt-builder-preview__field select:focus,
.tt-forms-builder-page .tt-builder-preview__field textarea:focus,
.tt-forms-builder-page .tt-inspector-panel input:focus,
.tt-forms-builder-page .tt-inspector-panel select:focus,
.tt-forms-builder-page .tt-inspector-panel textarea:focus,
.tt-forms-builder-page .tt-builder-publish input:focus {
  border-color: var(--cu-accent);
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-builder-page .tt-builder-preview__choices span,
.tt-forms-builder-page .tt-builder-preview__check,
.tt-forms-builder-page .tt-builder-preview__upload {
  border-color: var(--cu-border);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-preview__info {
  border-color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 9%, var(--cu-surface));
}

.tt-forms-builder-page .tt-builder-simulation {
  gap: 0.75rem;
  padding: 0.75rem;
  border-top: 1px solid var(--cu-border);
  background: var(--cu-surface);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-builder-simulation > div {
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--cu-border);
  border-radius: 10px;
  background: var(--cu-surface-2);
}

.tt-forms-builder-page .tt-builder-simulation span {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-simulation .tt-forms-kicker {
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-inspector-tabs {
  border-color: var(--cu-border);
  background: var(--cu-surface);
}

.tt-forms-builder-page .tt-inspector-tabs button {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-inspector-tabs button:hover {
  background: var(--cu-hover);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-inspector-tabs button.is-active {
  border-bottom-color: var(--cu-accent);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-inspector-panel {
  scrollbar-color: var(--cu-border-strong) transparent;
}

.tt-forms-builder-page .tt-inspector-panel > label,
.tt-forms-builder-page .tt-inspector-grid label,
.tt-forms-builder-page .tt-rule-card label,
.tt-forms-builder-page [data-page-fields] > label,
.tt-forms-builder-page [data-element-fields] > label {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-inspector-empty {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-inspector-checks label {
  border: 1px solid var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-text);
}

.tt-forms-builder-page input[type="checkbox"],
.tt-forms-builder-page input[type="radio"] {
  accent-color: var(--cu-accent);
}

.tt-forms-builder-page .tt-rule-card {
  border-color: var(--cu-border);
  border-left-color: var(--cu-success);
  background: var(--cu-surface-2);
}

.tt-forms-builder-page .tt-rule-card--route {
  border-left-color: var(--cu-accent);
}

.tt-forms-builder-page .tt-rule-card [data-delete-rule] {
  color: var(--cu-danger);
}

.tt-forms-builder-page .tt-rule-empty {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-forms-btn {
  min-height: 38px;
  border-radius: 9px;
  box-shadow: none;
  font-family: var(--cu-font-sans);
  font-size: 0.82rem;
  font-weight: 750;
}

.tt-forms-builder-page .tt-forms-btn--primary,
.tt-forms-builder-page .tt-forms-btn--publish,
.tt-forms-builder-page .tt-forms-btn--submit {
  border-color: var(--cu-btn-primary-bg);
  background: var(--cu-btn-primary-bg);
  color: var(--cu-on-btn-primary);
}

.tt-forms-builder-page .tt-forms-btn--primary:hover,
.tt-forms-builder-page .tt-forms-btn--publish:hover,
.tt-forms-builder-page .tt-forms-btn--submit:hover {
  border-color: var(--cu-btn-primary-hover);
  background: var(--cu-btn-primary-hover);
  color: var(--cu-on-btn-primary);
}

.tt-forms-builder-page .tt-forms-btn--ghost {
  border-color: var(--cu-border-strong);
  background: var(--cu-surface);
  color: var(--cu-text);
}

.tt-forms-builder-page .tt-forms-btn--ghost:hover {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-forms-btn--danger {
  border-color: color-mix(in srgb, var(--cu-danger) 38%, var(--cu-border));
  background: transparent;
  color: var(--cu-danger);
}

.tt-forms-builder-page .tt-builder-publish {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(340px, 0.75fr);
  gap: 0.8rem 1.25rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-md);
}

.tt-forms-builder-page .tt-builder-publish h2 {
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.tt-forms-builder-page .tt-builder-publish p {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-version-diff span,
.tt-forms-builder-page .tt-version-chip {
  border-color: var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-version-chip--published {
  border-color: color-mix(in srgb, var(--cu-success) 35%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-publish__form {
  grid-column: 2;
  grid-row: 1;
}

.tt-forms-builder-page .tt-builder-security-form {
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
}

.tt-forms-builder-page .tt-version-strip {
  grid-column: 1 / -1;
  grid-row: 3;
  padding-top: 0.85rem;
  border-top: 1px solid var(--cu-border);
}

.tt-forms-builder-page .tt-builder-links {
  display: grid;
  gap: 1rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-md);
}

.tt-forms-builder-page .tt-builder-links__intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
}

.tt-forms-builder-page .tt-builder-links__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 30%, var(--cu-border));
  border-radius: 11px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
  font-size: 1.05rem;
}

.tt-forms-builder-page .tt-builder-links h2 {
  margin: 0.18rem 0 0.22rem;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.tt-forms-builder-page .tt-builder-links p {
  margin: 0;
  color: var(--cu-dim);
  font-size: 0.78rem;
  line-height: 1.5;
}

.tt-forms-builder-page .tt-builder-links__status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.58rem;
  border: 1px solid var(--cu-border);
  border-radius: 999px;
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-builder-links__status i {
  font-size: 0.42rem;
}

.tt-forms-builder-page .tt-builder-links__status--active {
  border-color: color-mix(in srgb, var(--cu-success) 36%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-success) 10%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-public-link {
  padding: 0.9rem;
  border: 1px solid var(--cu-border);
  border-radius: 12px;
  background: var(--cu-surface-2);
}

.tt-forms-builder-page .tt-builder-public-link > label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--cu-text);
  font-size: 0.73rem;
  font-weight: 800;
}

.tt-forms-builder-page .tt-builder-public-link__control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.5rem;
}

.tt-forms-builder-page .tt-builder-public-link__prefix {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--cu-input-border);
  border-radius: 9px;
  background: var(--cu-surface);
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-public-link input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 0.52rem 0.72rem;
  border: 1px solid var(--cu-input-border);
  border-radius: 9px;
  background: var(--cu-input-bg);
  color: var(--cu-input-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
}

.tt-forms-builder-page .tt-builder-public-link input:focus {
  border-color: var(--cu-accent);
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-builder-page .tt-builder-public-link small {
  display: block;
  min-height: 1.1rem;
  margin-top: 0.48rem;
  color: var(--cu-dim);
  font-size: 0.67rem;
}

.tt-forms-builder-page [data-copy-public-link].is-copied {
  border-color: var(--cu-success);
  background: var(--cu-success);
  color: #fff;
}

.tt-forms-builder-page .tt-builder-link-renewal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--cu-border);
}

.tt-forms-builder-page .tt-builder-link-renewal strong {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--cu-text);
  font-size: 0.77rem;
}

.tt-forms-builder-page .tt-builder-link-renewal form {
  flex: 0 0 auto;
  margin: 0;
}

@media (max-width: 1399.98px) {
  .tt-forms-builder-page .tt-builder-workspace {
    grid-template-columns: 230px minmax(450px, 1fr) 310px;
  }
}

@media (max-width: 1050px) {
  .tt-forms-builder-page .tt-builder-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-inspector {
    border-top-color: var(--cu-border);
  }
}

@media (max-width: 780px) {
  .tt-builder-header .cu-page-header__identity {
    flex-basis: auto;
  }

  .tt-forms-builder-page .tt-forms-builder-container {
    padding-inline: 0.75rem;
  }

  .tt-forms-builder-page .tt-builder-steprail {
    display: flex;
    overflow-x: auto;
  }

  .tt-forms-builder-page .tt-builder-steprail button {
    flex: 0 0 auto;
    min-width: 118px;
  }

  .tt-forms-builder-page .tt-builder-workspace {
    display: block;
  }

  .tt-forms-builder-page .tt-builder-outline {
    border-right: 0;
    border-bottom-color: var(--cu-border);
  }

  .tt-forms-builder-page .tt-builder-publish {
    display: flex;
  }

  .tt-forms-builder-page .tt-builder-publish__form,
  .tt-forms-builder-page .tt-version-strip {
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-public-link__control {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-public-link__control .tt-forms-btn {
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-public-link__control .tt-forms-btn:first-of-type {
    grid-column: 1 / 2;
  }

  .tt-forms-builder-page .tt-builder-public-link__control .tt-forms-btn:last-child {
    grid-column: 2 / 3;
  }
}

@media (max-width: 479.98px) {
  .tt-forms-builder-page .tt-builder-links__intro {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-links__status {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .tt-forms-builder-page .tt-builder-public-link__control {
    display: flex;
    flex-wrap: wrap;
  }

  .tt-forms-builder-page .tt-builder-public-link__prefix {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-public-link input {
    flex: 1 0 100%;
  }

  .tt-forms-builder-page .tt-builder-public-link__control .tt-forms-btn {
    flex: 1 1 calc(50% - 0.25rem);
  }

  .tt-forms-builder-page .tt-builder-link-renewal {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-forms-builder-page .tt-builder-link-renewal .tt-forms-btn {
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-canvas__toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 0.65rem;
  }

  .tt-forms-builder-page .tt-device-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .tt-forms-builder-page .tt-builder-simulation {
    grid-template-columns: 1fr;
  }
}

/* Guided form-builder workflow and explicit draft state. */
.tt-forms-builder-page .tt-builder-save-cluster {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tt-forms-builder-page .tt-builder-save-state {
  align-items: center;
  color: var(--cu-dim);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 700;
  gap: 0.35rem;
  min-height: 1.1rem;
}

.tt-forms-builder-page .tt-builder-save-state.is-saved { color: var(--cu-success); }
.tt-forms-builder-page .tt-builder-save-state.is-dirty,
.tt-forms-builder-page .tt-builder-save-state.is-saving { color: var(--cu-warning); }
.tt-forms-builder-page .tt-builder-save-state.is-error,
.tt-forms-builder-page [data-draft-save-summary].is-error {
  color: var(--cu-danger);
  cursor: help;
  text-decoration: underline dotted;
  text-underline-offset: 0.16em;
}

.tt-forms-builder-page .tt-builder-version-context {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 30%, var(--cu-border));
  border-radius: var(--cu-radius);
  color: var(--cu-text);
  display: flex;
  gap: 0.8rem;
  padding: 0.8rem 1rem;
}

.tt-forms-builder-page .tt-builder-version-context__copy {
  flex: 1 1 auto;
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-version-context__icon {
  align-items: center;
  background: color-mix(in srgb, var(--cu-info) 12%, var(--cu-surface));
  border-radius: 9px;
  color: var(--cu-info);
  display: inline-flex;
  flex: 0 0 36px;
  height: 36px;
  justify-content: center;
}

.tt-forms-builder-page .tt-builder-version-context strong,
.tt-forms-builder-page .tt-builder-version-context span {
  display: block;
}

.tt-forms-builder-page .tt-builder-version-context span {
  color: var(--cu-dim);
  font-size: 0.78rem;
  margin-top: 0.12rem;
}

.tt-forms-builder-page .tt-builder-version-context__action {
  align-items: center;
  align-self: center;
  background: var(--cu-surface);
  border: 1px solid color-mix(in srgb, var(--cu-info) 42%, var(--cu-border));
  border-radius: 9px;
  color: var(--cu-info);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 800;
  gap: 0.45rem;
  min-height: 38px;
  padding: 0.5rem 0.72rem;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.tt-forms-builder-page .tt-builder-version-context__action:hover {
  background: var(--cu-info);
  border-color: var(--cu-info);
  color: #fff;
  transform: translateX(2px);
}

.tt-forms-builder-page .tt-builder-version-context__action:focus-visible {
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-builder-page .tt-builder-steprail button {
  justify-content: flex-start;
  text-align: left;
}

.tt-forms-builder-page .tt-builder-steprail__number {
  flex: 0 0 21px;
}

.tt-forms-builder-page .tt-builder-steprail button > span.tt-builder-steprail__copy {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  display: block;
  height: auto;
  min-width: 0;
  width: auto;
}

.tt-forms-builder-page .tt-builder-steprail__copy strong,
.tt-forms-builder-page .tt-builder-steprail__copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-builder-steprail__copy small {
  color: var(--cu-dim);
  font-size: 0.61rem;
  font-weight: 650;
  margin-top: 0.05rem;
}

.tt-forms-builder-page .tt-builder-steprail button.is-complete:not(.is-active) .tt-builder-steprail__number {
  border-color: var(--cu-success);
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-steprail button.is-complete:not(.is-active) .tt-builder-steprail__copy small {
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-guide {
  align-items: center;
  background: linear-gradient(110deg, color-mix(in srgb, var(--cu-accent) 8%, var(--cu-surface)), var(--cu-surface) 52%);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  box-shadow: var(--cu-shadow-sm);
  display: grid;
  gap: 0.9rem;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  padding: 0.9rem 1rem;
}

.tt-forms-builder-page .tt-builder-guide__icon {
  align-items: center;
  background: var(--cu-accent);
  border-radius: 12px;
  color: var(--cu-on-accent);
  display: inline-flex;
  font-size: 1.15rem;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.tt-forms-builder-page .tt-builder-guide h2 {
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  margin: 0.1rem 0;
}

.tt-forms-builder-page .tt-builder-guide p {
  color: var(--cu-dim);
  font-size: 0.78rem;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-guide__actions {
  display: flex;
  gap: 0.45rem;
}

.tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) {
  grid-template-columns: minmax(520px, 1fr) 360px;
}

.tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) .tt-builder-outline {
  display: none;
}

.tt-forms-builder-page .tt-builder-workspace[data-active-step="4"],
.tt-forms-builder-page .tt-builder-workspace[data-active-step="5"] {
  display: block;
  min-height: 0;
  background: var(--cu-surface);
}

.tt-forms-builder-page .tt-builder-workspace[data-active-step="4"] .tt-builder-inspector,
.tt-forms-builder-page .tt-builder-workspace[data-active-step="5"] .tt-builder-inspector {
  border-left: 0;
}

.tt-forms-builder-page .tt-builder-workspace[data-active-step="4"] .tt-inspector-panel.is-active,
.tt-forms-builder-page .tt-builder-workspace[data-active-step="5"] .tt-inspector-panel.is-active {
  margin-inline: auto;
  max-height: none;
  max-width: 920px;
  padding: clamp(1rem, 2.4vw, 2rem);
  width: 100%;
}

.tt-forms-builder-page .tt-builder-canvas[hidden],
.tt-forms-builder-page .tt-builder-workspace[hidden] {
  display: none !important;
}

.tt-forms-builder-page .tt-outline-field {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0;
}

.tt-forms-builder-page .tt-outline-field__select {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: 22px minmax(0, 1fr);
  min-width: 0;
  padding: 0.45rem;
  text-align: left;
}

.tt-forms-builder-page .tt-outline-field__select > span,
.tt-forms-builder-page .tt-outline-field__select strong,
.tt-forms-builder-page .tt-outline-field__select small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-outline-field__select strong { font-size: 0.73rem; }
.tt-forms-builder-page .tt-outline-field__select small {
  color: var(--cu-dim);
  font-size: 0.61rem;
  margin-top: 0.12rem;
}

.tt-forms-builder-page .tt-outline-order {
  padding-right: 0.25rem;
}

.tt-forms-builder-page .tt-outline-order button {
  border-radius: 4px;
  height: 16px;
  width: 18px;
}

.tt-forms-builder-page .tt-outline-order button:hover {
  background: var(--cu-surface);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-outline-delete {
  display: none;
}

.tt-forms-builder-page .tt-builder-field-palette > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tt-forms-builder-page .tt-builder-field-palette button {
  aspect-ratio: auto;
  gap: 0.4rem;
  justify-content: flex-start;
  min-height: 38px;
  padding: 0.45rem 0.5rem;
  text-align: left;
}

.tt-forms-builder-page .tt-builder-field-palette button span {
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.15;
}

.tt-forms-builder-page .tt-inspector-callout {
  align-items: flex-start;
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 24%, var(--cu-border));
  border-radius: 10px;
  color: var(--cu-info);
  display: flex;
  gap: 0.55rem;
  padding: 0.75rem;
}

.tt-forms-builder-page .tt-inspector-callout strong,
.tt-forms-builder-page .tt-inspector-callout span {
  display: block;
}

.tt-forms-builder-page .tt-inspector-callout span {
  color: var(--cu-dim);
  font-size: 0.72rem;
  line-height: 1.4;
}

.tt-forms-builder-page .tt-inspector-callout strong {
  color: var(--cu-text);
  margin-bottom: 0.12rem;
}

.tt-forms-builder-page .tt-builder-publish {
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.tt-forms-builder-page .tt-builder-publish.is-focused {
  border-color: color-mix(in srgb, var(--cu-accent) 55%, var(--cu-border));
  box-shadow: 0 0 0 4px var(--cu-accent-soft), var(--cu-shadow-md);
}

.tt-forms-builder-page .tt-builder-publish__form {
  align-items: stretch;
  flex-wrap: wrap;
}

.tt-forms-builder-page .tt-builder-publish__form small {
  color: var(--cu-dim);
  flex: 1 0 100%;
  font-size: 0.68rem;
}

.tt-forms-builder-page [data-publish-button]:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

@media (max-width: 1050px) {
  .tt-forms-builder-page .tt-builder-steprail__copy small { display: none; }
  .tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) {
    grid-template-columns: minmax(0, 1fr) 310px;
  }
}

@media (max-width: 780px) {
  .tt-forms-builder-page .tt-builder-header.cu-page-header {
    --cu-page-header-padding-block: 1rem;
    --cu-page-header-padding-inline: 1rem;
    --cu-page-header-title-size: clamp(1.45rem, 7vw, 1.72rem);
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0.9rem;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__identity {
    align-items: start;
    display: grid;
    flex: 0 0 auto;
    gap: 0.65rem 0.8rem;
    grid-template-areas:
      "back back"
      "icon copy";
    grid-template-columns: 46px minmax(0, 1fr);
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-header .tt-forms-header-back {
    grid-area: back;
    justify-self: start;
    min-height: 40px;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__icon {
    align-self: start;
    border-radius: 13px;
    font-size: 1.18rem;
    grid-area: icon;
    height: 46px;
    width: 46px;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__content {
    align-self: start;
    flex: 0 1 auto;
    gap: 0.34rem;
    grid-area: copy;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__eyebrow {
    font-size: 0.64rem;
    letter-spacing: 0.075em;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-title {
    hyphens: none;
    line-height: 1.06;
    max-width: 100%;
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: normal;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__meta {
    font-size: 0.76rem;
    gap: 0.28rem 0.48rem;
    line-height: 1.3;
  }

  .tt-forms-builder-page .tt-builder-header .tt-form-status {
    padding: 0.32rem 0.52rem;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__actions {
    align-items: stretch;
    display: grid;
    flex: 0 0 auto;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__actions > .btn {
    border-radius: 10px;
    font-size: 0.78rem;
    min-height: 44px;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    white-space: nowrap;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-submissions-link {
    grid-column: 1 / -1;
  }

  .tt-forms-builder-page .tt-builder-save-cluster {
    align-items: stretch;
    display: grid;
    gap: 0.4rem;
    grid-column: 1 / -1;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-save-cluster .btn {
    border-radius: 10px;
    min-height: 44px;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-save-state {
    font-size: 0.68rem;
    padding-inline: 0.1rem;
  }

  .tt-forms-builder-page .tt-builder-guide { grid-template-columns: 40px minmax(0, 1fr); }
  .tt-forms-builder-page .tt-builder-guide__icon { height: 40px; width: 40px; }
  .tt-forms-builder-page .tt-builder-guide__actions { grid-column: 1 / -1; }
  .tt-forms-builder-page .tt-builder-guide__actions .tt-forms-btn { flex: 1; }
  .tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) { display: block; }
  .tt-forms-builder-page .tt-builder-field-palette > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 479.98px) {
  .tt-forms-builder-page .tt-builder-version-context {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .tt-forms-builder-page .tt-builder-version-context__copy {
    flex-basis: calc(100% - 52px);
  }

  .tt-forms-builder-page .tt-builder-version-context__action {
    justify-content: center;
    margin-left: 52px;
    width: calc(100% - 52px);
  }

  .tt-forms-builder-page .tt-builder-field-palette > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tt-forms-builder-page .tt-builder-guide__actions { flex-direction: column; }
}

@media (max-width: 359.98px) {
  .tt-forms-builder-page .tt-builder-header.cu-page-header {
    --cu-page-header-padding-block: 0.85rem;
    --cu-page-header-padding-inline: 0.85rem;
    --cu-page-header-title-size: 1.4rem;
    gap: 0.75rem;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__identity {
    gap: 0.58rem 0.68rem;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__icon {
    border-radius: 12px;
    height: 42px;
    width: 42px;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__actions {
    gap: 0.45rem;
  }

  .tt-forms-builder-page .tt-builder-header .cu-page-header__actions > .btn {
    font-size: 0.72rem;
    padding-inline: 0.35rem;
  }
}

/* Forms builder: guided workflow, explicit version state and route-first editing. */
.tt-forms-builder-page .tt-builder-state-strip {
  align-items: stretch;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr) minmax(260px, 1.15fr);
}

.tt-forms-builder-page .tt-builder-state-card,
.tt-forms-builder-page .tt-builder-state-strip__note {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  box-shadow: var(--cu-shadow-sm);
  display: flex;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.78rem 0.9rem;
}

.tt-forms-builder-page .tt-builder-state-card__icon {
  align-items: center;
  background: var(--cu-surface-2);
  border-radius: 10px;
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
}

.tt-forms-builder-page .tt-builder-state-card--live .tt-builder-state-card__icon {
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-state-card--draft .tt-builder-state-card__icon {
  background: color-mix(in srgb, var(--cu-info) 12%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-forms-builder-page .tt-builder-state-card--draft.has-changes {
  border-color: color-mix(in srgb, var(--cu-warning) 38%, var(--cu-border));
}

.tt-forms-builder-page .tt-builder-state-card--draft.has-changes .tt-builder-state-card__icon {
  background: color-mix(in srgb, var(--cu-warning) 14%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-builder-state-card > div {
  min-width: 0;
}

.tt-forms-builder-page .tt-builder-state-card__label {
  color: var(--cu-dim);
  display: block;
  font-size: 0.61rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin-bottom: 0.08rem;
  text-transform: uppercase;
}

.tt-forms-builder-page .tt-builder-state-card strong,
.tt-forms-builder-page .tt-builder-state-card small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-forms-builder-page .tt-builder-state-card strong {
  color: var(--cu-text);
  font-size: 0.82rem;
  font-weight: 850;
}

.tt-forms-builder-page .tt-builder-state-card small {
  color: var(--cu-dim);
  font-size: 0.68rem;
  margin-top: 0.12rem;
}

.tt-forms-builder-page .tt-builder-state-strip__flow {
  align-items: center;
  color: var(--cu-dim);
  display: inline-flex;
  justify-content: center;
}

.tt-forms-builder-page .tt-builder-state-strip__note {
  background: color-mix(in srgb, var(--cu-info) 7%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-forms-builder-page .tt-builder-state-strip__note span {
  color: var(--cu-dim);
  font-size: 0.72rem;
  line-height: 1.42;
}

.tt-forms-builder-page .tt-builder-mobile-progress,
.tt-forms-builder-page .tt-builder-mobile-nav {
  display: none;
}

.tt-forms-builder-page .tt-builder-steprail {
  grid-template-columns: repeat(7, minmax(126px, 1fr));
  overflow-x: auto;
}

.tt-forms-builder-page .tt-builder-steprail button.has-issues:not(.is-active) .tt-builder-steprail__number {
  border-color: color-mix(in srgb, var(--cu-warning) 60%, var(--cu-border));
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-builder-steprail button.has-issues:not(.is-active) .tt-builder-steprail__copy small {
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-inspector-divider {
  align-items: center;
  color: var(--cu-dim);
  display: flex;
  font-size: 0.63rem;
  font-weight: 900;
  gap: 0.55rem;
  letter-spacing: 0.07em;
  margin-top: 0.25rem;
  text-transform: uppercase;
}

.tt-forms-builder-page .tt-inspector-divider::before,
.tt-forms-builder-page .tt-inspector-divider::after {
  background: var(--cu-border);
  content: "";
  flex: 1 1 auto;
  height: 1px;
}

.tt-forms-builder-page .tt-inspector-help {
  color: var(--cu-dim);
  font-size: 0.7rem;
  line-height: 1.45;
  margin: -0.2rem 0 0;
}

.tt-forms-builder-page .tt-inspector-panel label small {
  color: var(--cu-dim);
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

.tt-forms-builder-page .tt-builder-route-map {
  align-items: center;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cu-accent) 8%, var(--cu-surface)), var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-accent) 28%, var(--cu-border));
  border-radius: 12px;
  display: grid;
  gap: 0.38rem;
  justify-items: center;
  padding: 0.85rem;
  text-align: center;
}

.tt-forms-builder-page .tt-builder-route-map > span {
  align-items: center;
  color: var(--cu-dim);
  display: inline-flex;
  font-size: 0.67rem;
  font-weight: 800;
  gap: 0.35rem;
}

.tt-forms-builder-page .tt-builder-route-map > i {
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-route-map strong {
  color: var(--cu-text);
  font-size: 0.77rem;
  line-height: 1.4;
}

.tt-forms-builder-page .tt-template-token-picker {
  background: var(--cu-surface-2);
  border: 1px dashed var(--cu-border-strong);
  border-radius: 10px;
  padding: 0.7rem;
}

.tt-forms-builder-page .tt-template-token-picker > span {
  color: var(--cu-dim);
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  margin-bottom: 0.45rem;
}

.tt-forms-builder-page .tt-template-token-picker > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.tt-forms-builder-page .tt-template-token-picker button {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 999px;
  color: var(--cu-text);
  display: inline-flex;
  font-size: 0.64rem;
  font-weight: 750;
  gap: 0.3rem;
  min-height: 30px;
  padding: 0.32rem 0.55rem;
}

.tt-forms-builder-page .tt-template-token-picker button:hover,
.tt-forms-builder-page .tt-template-token-picker button:focus-visible {
  border-color: var(--cu-accent);
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-status-translation {
  align-items: center;
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 12px;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  padding: 0.8rem;
}

.tt-forms-builder-page .tt-status-translation > div {
  min-width: 0;
}

.tt-forms-builder-page .tt-status-translation > div:last-child {
  text-align: right;
}

.tt-forms-builder-page .tt-status-translation span,
.tt-forms-builder-page .tt-status-translation strong,
.tt-forms-builder-page .tt-status-translation small {
  display: block;
}

.tt-forms-builder-page .tt-status-translation span {
  color: var(--cu-dim);
  font-size: 0.61rem;
  font-weight: 850;
  text-transform: uppercase;
}

.tt-forms-builder-page .tt-status-translation strong {
  color: var(--cu-text);
  font-size: 0.76rem;
  margin: 0.12rem 0;
}

.tt-forms-builder-page .tt-status-translation small {
  color: var(--cu-dim);
  font-size: 0.61rem;
}

.tt-forms-builder-page .tt-status-translation > i {
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-publish,
.tt-forms-builder-page .tt-builder-links[data-publish-support] {
  display: none;
}

.tt-forms-builder-page .tt-builder-publish.is-focused {
  align-items: start;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 45%, var(--cu-border));
  border-radius: var(--cu-radius-lg);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  padding: clamp(1rem, 2vw, 1.4rem);
}

.tt-forms-builder-page .tt-builder-shell.is-publish-step .tt-builder-links[data-publish-support] {
  display: grid;
}

.tt-forms-builder-page .tt-builder-preflight {
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 14px;
  grid-column: 2;
  grid-row: 1;
  padding: 0.9rem;
}

.tt-forms-builder-page .tt-builder-preflight__head {
  align-items: center;
  display: flex;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}

.tt-forms-builder-page .tt-builder-preflight__icon {
  align-items: center;
  background: var(--cu-accent-soft);
  border-radius: 10px;
  color: var(--cu-accent);
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
}

.tt-forms-builder-page .tt-builder-preflight h3 {
  color: var(--cu-text);
  font-size: 0.84rem;
  font-weight: 850;
  margin: 0.12rem 0 0;
}

.tt-forms-builder-page .tt-builder-preflight ul {
  display: grid;
  gap: 0.38rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tt-forms-builder-page .tt-builder-preflight li {
  align-items: start;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 10px;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: 18px minmax(0, 1fr);
  padding: 0.55rem 0.65rem;
}

.tt-forms-builder-page .tt-builder-preflight li > i {
  margin-top: 0.16rem;
}

.tt-forms-builder-page .tt-builder-preflight li.is-complete > i {
  color: var(--cu-success);
}

.tt-forms-builder-page .tt-builder-preflight li.is-optional > i {
  color: var(--cu-dim);
}

.tt-forms-builder-page .tt-builder-preflight li.is-issue {
  border-color: color-mix(in srgb, var(--cu-warning) 42%, var(--cu-border));
}

.tt-forms-builder-page .tt-builder-preflight li.is-issue > i {
  color: var(--cu-warning);
}

.tt-forms-builder-page .tt-builder-preflight button {
  background: transparent;
  border: 0;
  color: inherit;
  min-width: 0;
  padding: 0;
  text-align: left;
}

.tt-forms-builder-page .tt-builder-preflight button:hover strong {
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-preflight button strong,
.tt-forms-builder-page .tt-builder-preflight button span {
  display: block;
}

.tt-forms-builder-page .tt-builder-preflight button strong {
  color: var(--cu-text);
  font-size: 0.72rem;
}

.tt-forms-builder-page .tt-builder-preflight button span {
  color: var(--cu-dim);
  font-size: 0.64rem;
  line-height: 1.35;
  margin-top: 0.08rem;
}

.tt-forms-builder-page .tt-builder-publish__summary {
  align-content: start;
  display: grid;
  gap: 1rem;
  grid-column: 1;
  grid-row: 1;
}

.tt-forms-builder-page .tt-builder-publish__changes {
  display: grid;
  gap: 0.45rem;
}

.tt-forms-builder-page .tt-builder-publish__impact {
  align-items: start;
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 28%, var(--cu-border));
  border-radius: 12px;
  display: flex;
  gap: 0.65rem;
  padding: 0.8rem;
}

.tt-forms-builder-page .tt-builder-publish__impact > i {
  color: var(--cu-info);
}

.tt-forms-builder-page .tt-builder-publish__impact strong,
.tt-forms-builder-page .tt-builder-publish__impact span {
  display: block;
}

.tt-forms-builder-page .tt-builder-publish__impact strong {
  color: var(--cu-text);
  font-size: 0.76rem;
}

.tt-forms-builder-page .tt-builder-publish__impact span {
  color: var(--cu-dim);
  font-size: 0.69rem;
  line-height: 1.42;
  margin-top: 0.12rem;
}

.tt-forms-builder-page .tt-builder-publish__form {
  display: grid;
  gap: 0.55rem;
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: minmax(240px, 1fr) minmax(290px, auto);
}

.tt-forms-builder-page .tt-builder-publish__form input,
.tt-forms-builder-page .tt-builder-publish__form .tt-forms-btn {
  min-height: 44px;
}

.tt-forms-builder-page .tt-builder-publish__form small {
  grid-column: 1 / -1;
}

.tt-forms-builder-page .tt-builder-version-history {
  border-top: 1px solid var(--cu-border);
  grid-column: 1 / -1;
  grid-row: 3;
  padding-top: 0.8rem;
}

.tt-forms-builder-page .tt-builder-version-history summary {
  align-items: center;
  color: var(--cu-text);
  cursor: pointer;
  display: flex;
  font-size: 0.73rem;
  font-weight: 800;
  gap: 0.45rem;
  list-style: none;
}

.tt-forms-builder-page .tt-builder-version-history summary::-webkit-details-marker {
  display: none;
}

.tt-forms-builder-page .tt-builder-version-history summary span {
  align-items: center;
  background: var(--cu-surface-2);
  border-radius: 999px;
  color: var(--cu-dim);
  display: inline-flex;
  font-size: 0.62rem;
  min-width: 24px;
  padding: 0.2rem 0.4rem;
}

.tt-forms-builder-page .tt-builder-version-history .tt-version-strip {
  margin-top: 0.7rem;
}

@media (max-width: 1050px) {
  .tt-forms-builder-page .tt-builder-state-strip {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .tt-forms-builder-page .tt-builder-state-strip__flow {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-state-strip__note {
    grid-column: 1 / -1;
  }

  .tt-forms-builder-page .tt-builder-publish.is-focused {
    grid-template-columns: 1fr;
  }

  .tt-forms-builder-page .tt-builder-preflight {
    grid-column: 1;
    grid-row: 1;
  }

  .tt-forms-builder-page .tt-builder-publish__summary {
    grid-column: 1;
    grid-row: 2;
  }

  .tt-forms-builder-page .tt-builder-publish__form {
    grid-column: 1;
    grid-row: 3;
  }

  .tt-forms-builder-page .tt-builder-version-history {
    grid-column: 1;
    grid-row: 4;
  }
}

@media (max-width: 780px) {
  .tt-forms-builder-page {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .tt-forms-builder-page .tt-builder-state-strip {
    gap: 0.55rem;
    grid-template-columns: 1fr;
  }

  .tt-forms-builder-page .tt-builder-state-strip__note {
    grid-column: auto;
  }

  .tt-forms-builder-page .tt-builder-state-card,
  .tt-forms-builder-page .tt-builder-state-strip__note {
    padding: 0.72rem 0.78rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress {
    background: var(--cu-surface);
    border: 1px solid var(--cu-border);
    border-radius: var(--cu-radius);
    box-shadow: var(--cu-shadow-sm);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.72rem 0.8rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress > div span,
  .tt-forms-builder-page .tt-builder-mobile-progress > div strong {
    display: block;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress > div span {
    color: var(--cu-dim);
    font-size: 0.62rem;
    font-weight: 800;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress > div strong {
    color: var(--cu-text);
    font-size: 0.83rem;
    margin-top: 0.08rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress button {
    align-items: center;
    background: var(--cu-surface-2);
    border: 1px solid var(--cu-border);
    border-radius: 9px;
    color: var(--cu-text);
    display: inline-flex;
    font-size: 0.69rem;
    font-weight: 800;
    gap: 0.35rem;
    min-height: 40px;
    padding: 0.45rem 0.65rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress__track {
    background: var(--cu-surface-2);
    border-radius: 999px;
    grid-column: 1 / -1;
    height: 4px;
    overflow: hidden;
  }

  .tt-forms-builder-page .tt-builder-mobile-progress__track > span {
    background: var(--cu-accent);
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width 0.2s ease;
  }

  .tt-forms-builder-page .tt-builder-steprail {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-steprail.is-mobile-open {
    display: grid;
    gap: 0.35rem;
    grid-template-columns: 1fr;
    max-height: 360px;
    overflow-y: auto;
  }

  .tt-forms-builder-page .tt-builder-steprail button {
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
  }

  .tt-forms-builder-page .tt-builder-guide__actions {
    display: none;
  }

  .tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) {
    display: flex;
    flex-direction: column;
  }

  .tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) .tt-builder-inspector {
    order: 1;
  }

  .tt-forms-builder-page .tt-builder-workspace[data-active-step]:not([data-active-step="1"]) .tt-builder-canvas {
    order: 2;
  }

  .tt-forms-builder-page .tt-inspector-panel {
    max-height: none;
  }

  .tt-forms-builder-page .tt-builder-publish.is-focused {
    border-radius: var(--cu-radius);
    display: grid;
    grid-template-columns: 1fr;
    padding: 0.9rem;
  }

  .tt-forms-builder-page .tt-builder-publish__form {
    grid-template-columns: 1fr;
  }

  .tt-forms-builder-page .tt-builder-publish__form small {
    grid-column: auto;
  }

  .tt-forms-builder-page .tt-builder-publish__form .tt-forms-btn {
    white-space: normal;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav {
    align-items: center;
    background: color-mix(in srgb, var(--cu-surface) 96%, transparent);
    border: 1px solid var(--cu-border);
    border-radius: 14px;
    bottom: calc(0.55rem + env(safe-area-inset-bottom));
    box-shadow: var(--cu-shadow-lg);
    display: grid;
    gap: 0.45rem;
    grid-template-columns: 78px minmax(0, 1fr) 92px;
    left: 0.75rem;
    padding: 0.45rem;
    position: fixed;
    right: 0.75rem;
    z-index: 1040;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav > button {
    align-items: center;
    background: var(--cu-surface-2);
    border: 1px solid var(--cu-border);
    border-radius: 10px;
    color: var(--cu-text);
    display: inline-flex;
    font-size: 0.69rem;
    font-weight: 800;
    gap: 0.3rem;
    justify-content: center;
    min-height: 44px;
    padding: 0.4rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav > button:last-child {
    background: var(--cu-accent);
    border-color: var(--cu-accent);
    color: var(--cu-on-accent);
  }

  .tt-forms-builder-page .tt-builder-mobile-nav > button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav > span {
    min-width: 0;
    text-align: center;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav small,
  .tt-forms-builder-page .tt-builder-mobile-nav strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav small {
    color: var(--cu-dim);
    font-size: 0.58rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav strong {
    color: var(--cu-text);
    font-size: 0.68rem;
    margin-top: 0.08rem;
  }
}

@media (max-width: 479.98px) {
  .tt-forms-builder-page .tt-builder-state-card strong,
  .tt-forms-builder-page .tt-builder-state-card small {
    white-space: normal;
  }

  .tt-forms-builder-page .tt-status-translation {
    grid-template-columns: 1fr;
  }

  .tt-forms-builder-page .tt-status-translation > div:last-child {
    text-align: left;
  }

  .tt-forms-builder-page .tt-status-translation > i {
    transform: rotate(90deg);
  }

  .tt-forms-builder-page .tt-builder-mobile-nav {
    grid-template-columns: 68px minmax(0, 1fr) 82px;
    left: 0.5rem;
    right: 0.5rem;
  }

  .tt-forms-builder-page .tt-builder-mobile-nav > button {
    font-size: 0.64rem;
  }
}

/* Forms preview: internal application framing around the public form experience. */
.tt-forms-preview-page {
  background: var(--cu-bg);
  color: var(--cu-text);
}

.tt-forms-preview-container {
  padding-bottom: clamp(2rem, 4vw, 4rem);
}

.tt-forms-preview {
  --tt-page-gap: 1rem;
}

.tt-preview-header .cu-page-header__identity {
  flex-basis: 420px;
}

.tt-preview-notice {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-color: color-mix(in srgb, var(--cu-info) 34%, var(--cu-border));
  border-radius: var(--cu-radius);
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  color: var(--cu-text);
}

.tt-preview-notice > i {
  flex: 0 0 auto;
  color: var(--cu-info);
  font-size: 1.15rem;
}

.tt-preview-notice strong,
.tt-preview-notice span {
  display: block;
}

.tt-preview-notice strong {
  font-size: 0.84rem;
}

.tt-preview-notice span {
  margin-top: 0.1rem;
  color: var(--cu-dim);
  font-size: 0.78rem;
}

.tt-preview-workbench {
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-md);
}

.tt-preview-workbench__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 66px;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface));
}

.tt-preview-workbench__toolbar strong,
.tt-preview-workbench__toolbar span {
  display: block;
}

.tt-preview-workbench__toolbar strong {
  color: var(--cu-text);
  font-size: 0.92rem;
}

.tt-preview-workbench__toolbar div > span {
  margin-top: 0.16rem;
  color: var(--cu-dim);
  font-size: 0.76rem;
}

.tt-preview-workbench__stage {
  padding: clamp(1.25rem, 4vw, 3rem);
  background-color: var(--cu-surface-2);
  background-image: radial-gradient(circle, color-mix(in srgb, var(--cu-border-strong) 52%, transparent) 1px, transparent 1px);
  background-size: 20px 20px;
}

.tt-forms-preview-page .tt-public-form-brand,
.tt-forms-preview-page .tt-public-form-card,
.tt-forms-preview-page .tt-public-form-footer {
  width: 100%;
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
}

.tt-forms-preview-page .tt-public-form-brand {
  margin-bottom: 1rem;
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-public-form-brand__mark {
  border-radius: 11px;
  background: var(--cu-accent);
  box-shadow: var(--cu-accent-shadow);
  color: var(--cu-on-accent);
}

.tt-forms-preview-page .tt-public-form-brand span {
  color: var(--cu-dim);
}

.tt-forms-preview-page .tt-public-form-card {
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border-color: var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-lg);
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-public-form-card::before {
  height: 4px;
  background: var(--cu-accent);
}

.tt-forms-preview-page .tt-forms-kicker {
  color: var(--cu-accent);
  font-family: var(--cu-font-sans);
  font-size: 0.66rem;
  letter-spacing: 0.09em;
}

.tt-forms-preview-page .tt-public-form-header h1 {
  margin: 0.65rem 0 0.85rem;
  color: var(--cu-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  letter-spacing: -0.04em;
  line-height: 1;
}

.tt-forms-preview-page .tt-public-form-header > p,
.tt-forms-preview-page .tt-public-form-page__heading p,
.tt-forms-preview-page .tt-form-description,
.tt-forms-preview-page .tt-form-file-note {
  color: var(--cu-dim);
}

.tt-forms-preview-page .tt-form-progress > div {
  background: var(--cu-surface-3);
}

.tt-forms-preview-page .tt-form-progress > div > i {
  background: var(--cu-accent);
}

.tt-forms-preview-page .tt-form-progress > span {
  color: var(--cu-dim);
}

.tt-forms-preview-page .tt-public-form-page__heading {
  border-color: var(--cu-border);
}

.tt-forms-preview-page .tt-public-form-page__heading h2,
.tt-forms-preview-page .tt-form-section-heading h2 {
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-form-label {
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-form-required {
  color: var(--cu-danger);
}

.tt-forms-preview-page .tt-form-field > input:not([type="checkbox"]),
.tt-forms-preview-page .tt-form-field > select,
.tt-forms-preview-page .tt-form-field > textarea {
  border-color: var(--cu-input-border);
  background: var(--cu-input-bg);
  color: var(--cu-input-text);
}

.tt-forms-preview-page .tt-form-field > input:focus,
.tt-forms-preview-page .tt-form-field > select:focus,
.tt-forms-preview-page .tt-form-field > textarea:focus {
  border-color: var(--cu-accent);
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-forms-preview-page .tt-form-choice,
.tt-forms-preview-page .tt-form-consent {
  border-color: var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-form-choice:has(input:checked),
.tt-forms-preview-page .tt-form-consent:has(input:checked) {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
}

.tt-forms-preview-page .tt-form-choice input,
.tt-forms-preview-page .tt-form-consent input {
  accent-color: var(--cu-accent);
}

.tt-forms-preview-page .tt-form-section-heading {
  border-left-color: var(--cu-accent);
}

.tt-forms-preview-page .tt-form-info {
  border-color: color-mix(in srgb, var(--cu-info) 32%, var(--cu-border));
  border-left-color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
}

.tt-forms-preview-page .tt-form-info p {
  color: var(--cu-dim);
}

.tt-forms-preview-page .tt-form-error-summary {
  border-color: color-mix(in srgb, var(--cu-danger) 35%, var(--cu-border));
  border-left-color: var(--cu-danger);
  background: color-mix(in srgb, var(--cu-danger) 9%, var(--cu-surface));
  color: var(--cu-danger);
}

.tt-forms-preview-page .tt-public-form-actions {
  border-color: var(--cu-border);
}

.tt-forms-preview-page .tt-forms-btn {
  min-height: 40px;
  border-radius: 9px;
  box-shadow: none;
  font-family: var(--cu-font-sans);
  font-size: 0.84rem;
  font-weight: 750;
}

.tt-forms-preview-page .tt-forms-btn--primary,
.tt-forms-preview-page .tt-forms-btn--submit {
  border-color: var(--cu-btn-primary-bg);
  background: var(--cu-btn-primary-bg);
  color: var(--cu-on-btn-primary);
}

.tt-forms-preview-page .tt-forms-btn--primary:hover,
.tt-forms-preview-page .tt-forms-btn--submit:hover {
  border-color: var(--cu-btn-primary-hover);
  background: var(--cu-btn-primary-hover);
  color: var(--cu-on-btn-primary);
}

.tt-forms-preview-page .tt-forms-btn--ghost {
  border-color: var(--cu-border-strong);
  background: var(--cu-surface);
  color: var(--cu-text);
}

.tt-forms-preview-page .tt-public-form-footer {
  color: var(--cu-dim);
}

@media (max-width: 767.98px) {
  .tt-preview-header .cu-page-header__identity {
    flex-basis: auto;
  }

  .tt-preview-workbench__toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .tt-preview-workbench__stage {
    padding: 0.75rem;
  }

  .tt-forms-preview-page .tt-public-form-card {
    padding: 1.5rem 1.1rem;
    border-radius: var(--cu-radius);
  }
}

@media (max-width: 479.98px) {
  .tt-preview-notice {
    align-items: flex-start;
  }

  .tt-forms-preview-page .tt-public-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-forms-preview-page .tt-public-form-actions .tt-forms-btn {
    width: 100%;
    margin: 0;
  }
}

/* Public form: aligned with the shared application design system. */
.tt-form-public-page {
  --tt-form-ink: var(--cu-text);
  --tt-form-solid: var(--cu-text-strong);
  --tt-form-muted: var(--cu-dim);
  --tt-form-paper: var(--cu-bg);
  --tt-form-panel: var(--cu-surface);
  --tt-form-line: var(--cu-border);
  --tt-form-signal: var(--cu-accent);
  --tt-form-signal-dark: var(--cu-accent-strong);
  --tt-form-danger: var(--cu-danger);
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% -12%, color-mix(in srgb, var(--cu-accent) 8%, transparent), transparent 32rem),
    var(--cu-bg);
  color: var(--cu-text);
}

.tt-form-public-container {
  width: 100%;
  min-height: 100vh;
  padding: clamp(1.5rem, 4vw, 3.25rem) clamp(1rem, 3vw, 2rem) clamp(2rem, 5vw, 4rem);
}

.tt-form-public-page .tt-public-form-shell {
  width: min(100%, 880px);
  max-width: none;
}

.tt-form-public-page .tt-public-form-brand,
.tt-forms-preview-page .tt-public-form-brand {
  align-items: flex-start;
  width: 100%;
  max-width: 880px;
  gap: 0.7rem;
  margin-bottom: 1rem;
  padding-inline: 0.2rem;
  color: var(--cu-text);
}

.tt-form-public-page .tt-public-form-brand .tt-public-form-brand__mark,
.tt-forms-preview-page .tt-public-form-brand .tt-public-form-brand__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 32%, var(--cu-border));
  border-radius: 12px;
  background: var(--cu-accent-soft);
  box-shadow: var(--cu-shadow-sm);
  color: var(--cu-accent);
  font-size: 1.05rem;
  line-height: 1;
}

.tt-form-public-page .tt-public-form-brand strong,
.tt-forms-preview-page .tt-public-form-brand strong {
  color: var(--cu-text);
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.2;
}

.tt-form-public-page .tt-public-form-brand div > span,
.tt-forms-preview-page .tt-public-form-brand div > span {
  margin-top: 0.12rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
}

.tt-form-public-page .tt-public-form-brand__content,
.tt-forms-preview-page .tt-public-form-brand__content {
  min-width: 0;
}

.tt-form-public-page .tt-public-form-brand__custom-text,
.tt-forms-preview-page .tt-public-form-brand__custom-text {
  max-width: 680px;
  margin: 0.48rem 0 0;
  color: var(--cu-text);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.5;
  white-space: pre-line;
}

.tt-form-public-page .tt-public-form-brand--text-only,
.tt-forms-preview-page .tt-public-form-brand--text-only {
  border-left: 3px solid var(--cu-accent);
  border-radius: 0 var(--cu-radius-sm) var(--cu-radius-sm) 0;
  background: color-mix(in srgb, var(--cu-accent) 5%, var(--cu-surface));
  padding: 0.72rem 0.9rem;
}

.tt-form-public-page .tt-public-form-brand--text-only .tt-public-form-brand__custom-text,
.tt-forms-preview-page .tt-public-form-brand--text-only .tt-public-form-brand__custom-text {
  margin-top: 0;
}

.tt-form-public-page .tt-public-form-card > .tt-public-form-brand--inside,
.tt-forms-preview-page .tt-public-form-card > .tt-public-form-brand--inside {
  max-width: none;
  margin: 0 0 clamp(1.6rem, 3vw, 2.35rem);
  padding-inline: 0;
}

.tt-form-public-page .tt-public-form-card > .tt-public-form-brand--inside.tt-public-form-brand--text-only,
.tt-forms-preview-page .tt-public-form-card > .tt-public-form-brand--inside.tt-public-form-brand--text-only {
  padding: 0.72rem 0.9rem;
}

.tt-form-public-page .tt-public-form-card,
.tt-forms-preview-page .tt-public-form-card {
  width: 100%;
  max-width: 880px;
  padding: clamp(2rem, 5vw, 3.5rem);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-lg);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-lg);
  color: var(--cu-text);
}

.tt-form-public-page .tt-public-form-card {
  animation: tt-public-form-enter 320ms ease-out both;
}

.tt-form-public-page .tt-public-form-card::before,
.tt-forms-preview-page .tt-public-form-card::before {
  height: 4px;
  background: linear-gradient(90deg, var(--cu-accent), color-mix(in srgb, var(--cu-accent) 35%, var(--cu-surface)));
}

.tt-form-public-page .tt-forms-kicker,
.tt-forms-preview-page .tt-forms-kicker {
  color: var(--cu-accent);
  font-family: var(--cu-font-sans);
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.09em;
}

.tt-form-public-page .tt-public-form-header h1,
.tt-forms-preview-page .tt-public-form-header h1 {
  margin: 0.65rem 0 0.8rem;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: clamp(2rem, 4.3vw, 3.15rem);
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.tt-form-public-page .tt-public-form-header > p,
.tt-forms-preview-page .tt-public-form-header > p {
  max-width: 680px;
  margin: 0;
  color: var(--cu-dim);
  font-size: 0.92rem;
  line-height: 1.6;
}

.tt-form-public-page .tt-form-progress,
.tt-forms-preview-page .tt-form-progress {
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.tt-form-public-page .tt-form-progress > div,
.tt-forms-preview-page .tt-form-progress > div {
  height: 5px;
  background: var(--cu-surface-3);
}

.tt-form-public-page .tt-form-progress > div > i,
.tt-forms-preview-page .tt-form-progress > div > i {
  background: var(--cu-accent);
}

.tt-form-public-page .tt-form-progress > span,
.tt-forms-preview-page .tt-form-progress > span {
  color: var(--cu-dim);
  font-size: 0.72rem;
  font-weight: 750;
}

.tt-form-public-page .tt-public-form-page,
.tt-forms-preview-page .tt-public-form-page {
  padding-top: 2rem;
}

.tt-form-public-page .tt-public-form-page__heading,
.tt-forms-preview-page .tt-public-form-page__heading {
  margin-bottom: 1.35rem;
  padding-bottom: 1.1rem;
  border-color: var(--cu-border);
}

.tt-form-public-page .tt-public-form-page__heading h2,
.tt-forms-preview-page .tt-public-form-page__heading h2,
.tt-form-public-page .tt-form-section-heading h2,
.tt-forms-preview-page .tt-form-section-heading h2 {
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.tt-form-public-page .tt-public-form-page__heading p,
.tt-forms-preview-page .tt-public-form-page__heading p,
.tt-form-public-page .tt-form-description,
.tt-forms-preview-page .tt-form-description,
.tt-form-public-page .tt-form-file-note,
.tt-forms-preview-page .tt-form-file-note {
  color: var(--cu-dim);
}

.tt-form-public-page .tt-form-field,
.tt-forms-preview-page .tt-form-field {
  margin-bottom: 1.25rem;
}

.tt-form-public-page .tt-form-label,
.tt-forms-preview-page .tt-form-label {
  margin-bottom: 0.42rem;
  color: var(--cu-text-soft);
  font-size: 0.82rem;
  font-weight: 750;
}

.tt-form-public-page .tt-form-required,
.tt-forms-preview-page .tt-form-required {
  color: var(--cu-danger);
}

.tt-form-public-page .tt-form-field > input:not([type="checkbox"]),
.tt-form-public-page .tt-form-field > select,
.tt-form-public-page .tt-form-field > textarea,
.tt-forms-preview-page .tt-form-field > input:not([type="checkbox"]),
.tt-forms-preview-page .tt-form-field > select,
.tt-forms-preview-page .tt-form-field > textarea {
  min-height: 46px;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--cu-input-border);
  border-radius: var(--cu-radius-md);
  background: var(--cu-input-bg);
  color: var(--cu-input-text);
  font-size: 0.92rem;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.tt-form-public-page .tt-form-field > textarea,
.tt-forms-preview-page .tt-form-field > textarea {
  min-height: 124px;
}

.tt-form-public-page .tt-form-field > input:not([type="checkbox"]):focus,
.tt-form-public-page .tt-form-field > select:focus,
.tt-form-public-page .tt-form-field > textarea:focus,
.tt-forms-preview-page .tt-form-field > input:not([type="checkbox"]):focus,
.tt-forms-preview-page .tt-form-field > select:focus,
.tt-forms-preview-page .tt-form-field > textarea:focus {
  border-color: var(--cu-accent);
  outline: 0;
  background: var(--cu-surface);
  box-shadow: var(--cu-focus-ring);
}

.tt-form-public-page .tt-form-choice,
.tt-form-public-page .tt-form-consent,
.tt-forms-preview-page .tt-form-choice,
.tt-forms-preview-page .tt-form-consent {
  border-color: var(--cu-border);
  border-radius: var(--cu-radius-md);
  background: var(--cu-surface-2);
  color: var(--cu-text);
}

.tt-form-public-page .tt-form-choice:has(input:checked),
.tt-form-public-page .tt-form-consent:has(input:checked),
.tt-forms-preview-page .tt-form-choice:has(input:checked),
.tt-forms-preview-page .tt-form-consent:has(input:checked) {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
}

.tt-form-public-page .tt-form-choice input,
.tt-form-public-page .tt-form-consent input,
.tt-forms-preview-page .tt-form-choice input,
.tt-forms-preview-page .tt-form-consent input {
  accent-color: var(--cu-accent);
}

.tt-form-public-page .tt-form-section-heading,
.tt-forms-preview-page .tt-form-section-heading {
  border-left: 4px solid var(--cu-accent);
}

.tt-form-public-page .tt-form-info,
.tt-forms-preview-page .tt-form-info {
  border-color: color-mix(in srgb, var(--cu-info) 30%, var(--cu-border));
  border-left-color: var(--cu-info);
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
}

.tt-form-public-page .tt-form-info p,
.tt-forms-preview-page .tt-form-info p {
  color: var(--cu-dim);
}

.tt-form-public-page .tt-form-error-summary,
.tt-forms-preview-page .tt-form-error-summary {
  border-color: color-mix(in srgb, var(--cu-danger) 35%, var(--cu-border));
  border-left-color: var(--cu-danger);
  background: color-mix(in srgb, var(--cu-danger) 8%, var(--cu-surface));
  color: var(--cu-danger);
}

.tt-form-public-page .tt-public-form-actions,
.tt-forms-preview-page .tt-public-form-actions {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-color: var(--cu-border);
}

.tt-form-public-page .tt-forms-btn,
.tt-forms-preview-page .tt-forms-btn {
  min-height: 42px;
  border-radius: var(--cu-radius-md);
  box-shadow: none;
  font-family: var(--cu-font-sans);
  font-size: 0.84rem;
  font-weight: 750;
}

.tt-form-public-page .tt-forms-btn--primary,
.tt-form-public-page .tt-forms-btn--submit,
.tt-forms-preview-page .tt-forms-btn--primary,
.tt-forms-preview-page .tt-forms-btn--submit {
  border-color: var(--cu-btn-primary-bg);
  background: var(--cu-btn-primary-bg);
  color: var(--cu-on-btn-primary);
}

.tt-form-public-page .tt-forms-btn--primary:hover,
.tt-form-public-page .tt-forms-btn--submit:hover,
.tt-forms-preview-page .tt-forms-btn--primary:hover,
.tt-forms-preview-page .tt-forms-btn--submit:hover {
  border-color: var(--cu-btn-primary-hover);
  background: var(--cu-btn-primary-hover);
  color: var(--cu-on-btn-primary);
}

.tt-form-public-page .tt-forms-btn--ghost,
.tt-forms-preview-page .tt-forms-btn--ghost {
  border-color: var(--cu-border-strong);
  background: var(--cu-surface);
  color: var(--cu-text);
}

.tt-form-public-page .tt-forms-btn--ghost:hover,
.tt-forms-preview-page .tt-forms-btn--ghost:hover {
  border-color: var(--cu-accent);
  color: var(--cu-accent);
}

.tt-form-public-page .tt-form-closed i,
.tt-forms-preview-page .tt-form-closed i {
  color: var(--cu-accent);
}

.tt-form-public-page .tt-public-form-footer,
.tt-forms-preview-page .tt-public-form-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  max-width: 880px;
  margin-top: 1rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
  line-height: 1.45;
}

.tt-form-public-page .tt-form-configurable-footer,
.tt-forms-preview-page .tt-form-configurable-footer,
.tt-form-confirmation-page .tt-form-configurable-footer,
.tt-form-request-page .tt-form-configurable-footer {
  align-items: center;
  color: var(--cu-dim);
  display: flex;
  font-size: 0.72rem;
  font-weight: 600;
  gap: 0.65rem;
  justify-content: center;
  line-height: 1.5;
  margin: 1.15rem auto 0 !important;
  max-width: 880px;
  padding: 0.35rem 0.75rem 1rem;
  text-align: center;
}

.tt-form-public-page.tt-form-embedded-page .tt-form-configurable-footer,
.tt-form-confirmation-page.tt-form-confirmation-embedded-page .tt-form-configurable-footer {
  margin-top: 0.75rem !important;
  padding-bottom: 0.5rem;
}

@media (max-width: 479.98px) {
  .tt-builder-preview__copyright,
  .tt-form-public-page .tt-form-configurable-footer,
  .tt-forms-preview-page .tt-form-configurable-footer,
  .tt-form-confirmation-page .tt-form-configurable-footer,
  .tt-form-request-page .tt-form-configurable-footer {
    align-items: center;
    flex-direction: column;
  }
}

.tt-forms-builder-page .tt-builder-display-toggle {
  align-items: flex-start;
  background: color-mix(in srgb, var(--cu-accent) 7%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-accent) 22%, var(--cu-border));
  border-radius: 12px;
  cursor: pointer;
  display: grid !important;
  gap: 0.72rem !important;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.85rem;
}

.tt-forms-builder-page .tt-builder-display-toggle input {
  accent-color: var(--cu-accent);
  height: 18px;
  margin-top: 0.1rem;
  width: 18px;
}

.tt-forms-builder-page .tt-builder-display-toggle span {
  display: grid;
  gap: 0.18rem;
}

.tt-forms-builder-page .tt-builder-display-toggle strong {
  color: var(--cu-text);
  font-size: 0.74rem;
}

.tt-forms-builder-page .tt-builder-display-toggle small {
  color: var(--cu-dim);
  font-size: 0.62rem;
  font-weight: 550;
  line-height: 1.45;
}

.tt-forms-builder-page .tt-builder-header-text-settings,
.tt-forms-builder-page .tt-builder-footer-settings {
  background: var(--cu-surface-2);
  border: 1px solid var(--cu-border);
  border-radius: 12px;
  padding: 0.75rem;
}

.tt-forms-builder-page .tt-builder-footer-settings {
  display: grid;
  gap: 0.75rem;
}

.tt-forms-builder-page .tt-builder-header-text-settings[hidden],
.tt-forms-builder-page .tt-builder-footer-settings[hidden] {
  display: none;
}

.tt-forms-builder-page .tt-builder-header-text-settings > label,
.tt-forms-builder-page .tt-builder-footer-settings > label:not(.tt-builder-display-toggle) {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-header-text-settings textarea,
.tt-forms-builder-page .tt-builder-footer-settings textarea {
  min-height: 88px;
  resize: vertical;
}

.tt-forms-builder-page .tt-builder-header-text-settings small,
.tt-forms-builder-page .tt-builder-footer-settings > label:not(.tt-builder-display-toggle) small {
  color: var(--cu-dim);
  font-size: 0.59rem;
  font-weight: 550;
  line-height: 1.45;
}

.tt-forms-builder-page .tt-builder-text-field {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}

.tt-forms-builder-page .tt-builder-text-field > label {
  color: var(--cu-text);
  font-size: 0.74rem;
  font-weight: 700;
}

.tt-forms-builder-page .tt-builder-text-field textarea {
  min-height: 88px;
  resize: vertical;
}

.tt-forms-builder-page .tt-builder-text-field small {
  color: var(--cu-dim);
  font-size: 0.59rem;
  font-weight: 550;
  line-height: 1.45;
}

.tt-forms-builder-page .tt-builder-text-toolbar {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: 9px;
  display: flex;
  gap: 0.3rem;
  min-height: 34px;
  padding: 0.22rem;
}

.tt-forms-builder-page .tt-builder-text-tool {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--cu-text);
  display: inline-flex;
  font-size: 0.64rem;
  font-weight: 750;
  gap: 0.32rem;
  min-height: 28px;
  padding: 0.25rem 0.55rem;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.tt-forms-builder-page .tt-builder-text-tool i {
  color: var(--cu-accent);
  font-size: 0.84rem;
}

.tt-forms-builder-page .tt-builder-text-tool:hover {
  background: var(--cu-accent-soft, #eef3ff);
  border-color: color-mix(in srgb, var(--cu-accent) 28%, var(--cu-border));
  color: var(--cu-accent);
}

.tt-forms-builder-page .tt-builder-text-tool:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--cu-accent) 55%, transparent);
  outline-offset: 2px;
}

/* Embedded public forms preserve the default page unless embedded=1 is active. */
.tt-form-public-page.tt-form-embedded-page {
  min-height: 0;
  background: transparent;
}

.tt-form-public-page .tt-form-embedded-container {
  min-height: 0;
  padding: 0;
}

.tt-form-public-page.tt-form-embedded-page .tt-public-form-shell {
  width: 100%;
}

.tt-form-public-page.tt-form-embedded-page .tt-public-form-card--embedded {
  max-width: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.tt-form-public-page.tt-form-embedded-page .tt-public-form-card--embedded::before {
  border-radius: 0;
}

@keyframes tt-public-form-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767.98px) {
  .tt-form-public-container {
    padding: 1rem 0.75rem 2rem;
  }

  .tt-form-public-page .tt-form-field > input:not([type="checkbox"]):not([type="radio"]),
  .tt-form-public-page .tt-form-field > select,
  .tt-form-public-page .tt-form-field > textarea,
  .tt-forms-preview-page .tt-form-field > input:not([type="checkbox"]):not([type="radio"]),
  .tt-forms-preview-page .tt-form-field > select,
  .tt-forms-preview-page .tt-form-field > textarea {
    font-size: 16px;
  }

  .tt-form-public-page .tt-public-form-card,
  .tt-forms-preview-page .tt-public-form-card {
    padding: 2rem 1.4rem;
    border-radius: var(--cu-radius);
  }

  .tt-form-public-page .tt-public-form-header h1,
  .tt-forms-preview-page .tt-public-form-header h1 {
    font-size: clamp(1.9rem, 9vw, 2.55rem);
  }
}

@media (max-width: 479.98px) {
  .tt-form-public-page .tt-public-form-card,
  .tt-forms-preview-page .tt-public-form-card {
    padding: 1.7rem 1rem;
  }

  .tt-form-public-page .tt-public-form-brand,
  .tt-forms-preview-page .tt-public-form-brand {
    padding-inline: 0;
  }

  .tt-form-public-page .tt-public-form-actions,
  .tt-forms-preview-page .tt-public-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-form-public-page .tt-public-form-actions .tt-forms-btn,
  .tt-form-public-page .tt-public-form-actions [data-form-prev],
  .tt-forms-preview-page .tt-public-form-actions .tt-forms-btn,
  .tt-forms-preview-page .tt-public-form-actions [data-form-prev] {
    width: 100%;
    margin: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tt-form-public-page .tt-public-form-card {
    animation: none;
  }

  .tt-form-public-page .tt-form-field > input,
  .tt-form-public-page .tt-form-field > select,
  .tt-form-public-page .tt-form-field > textarea {
    transition: none;
  }
}

/* Forms submissions: shared application layout and intake cards. */
.tt-forms-submissions-page {
  background: var(--cu-bg);
  color: var(--cu-text);
}

.tt-forms-submissions-container {
  padding-bottom: clamp(2rem, 4vw, 4rem);
}

.tt-forms-submissions {
  --tt-page-gap: 1rem;
}

.tt-forms-submissions .cu-page-header__stats li {
  min-width: 154px;
}

.tt-submissions-stat-note {
  color: var(--cu-dim);
  font-size: 0.72rem;
}

.tt-submissions-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tt-submissions-kpi-grid .tt-kpi-icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.tt-submissions-kpi-grid .tt-kpi-icon i {
  display: block;
  font-size: 0.95rem;
  line-height: 1;
}

.tt-submissions-kpi-icon--primary {
  color: var(--cu-accent);
  background: var(--cu-accent-soft);
}

.tt-submissions-kpi-icon--warning {
  color: var(--cu-warning);
  background: color-mix(in srgb, var(--cu-warning) 12%, var(--cu-surface));
}

.tt-submissions-kpi-icon--success {
  color: var(--cu-success);
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
}

.tt-submissions-filter-panel {
  display: grid;
  gap: 1rem;
}

.tt-submissions-filter-grid {
  grid-template-columns: minmax(240px, 1.5fr) minmax(145px, 0.8fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(100px, 0.65fr) auto;
}

.tt-submissions-filter-actions {
  align-self: end;
}

.tt-submissions-filter-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 38px;
}

.tt-submissions-panel {
  min-width: 0;
}

.tt-submissions-panel .tt-table-panel__toolbar {
  min-height: 66px;
}

.tt-submissions-list {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.tt-submission-card {
  --tt-submission-status-color: var(--cu-info);
  display: grid;
  grid-template-columns: 4px minmax(205px, 0.9fr) minmax(320px, 1.45fr) minmax(220px, 0.9fr) max-content;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-sm);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tt-submission-card:hover {
  border-color: color-mix(in srgb, var(--tt-submission-status-color) 42%, var(--cu-border));
  box-shadow: var(--cu-shadow-md);
  transform: translateY(-1px);
}

.tt-submission-card__rail {
  background: var(--tt-submission-status-color);
}

.tt-submission-card--received,
.tt-submission-detail-status--received {
  --tt-submission-status-color: #2563eb;
}

.tt-submission-card--processing,
.tt-submission-detail-status--processing {
  --tt-submission-status-color: #7c3aed;
}

.tt-submission-card--needs_review,
.tt-submission-detail-status--needs_review {
  --tt-submission-status-color: #ca8a04;
}

.tt-submission-card--accepted,
.tt-submission-detail-status--accepted {
  --tt-submission-status-color: #16a34a;
}

.tt-submission-card--in_progress,
.tt-submission-detail-status--in_progress {
  --tt-submission-status-color: #0891b2;
}

.tt-submission-card--waiting_requester,
.tt-submission-detail-status--waiting_requester {
  --tt-submission-status-color: #ea580c;
}

.tt-submission-card--resolved,
.tt-submission-detail-status--resolved {
  --tt-submission-status-color: #0d9488;
}

.tt-submission-card--rejected,
.tt-submission-detail-status--rejected {
  --tt-submission-status-color: #e11d48;
}

.tt-submission-card--duplicate,
.tt-submission-detail-status--duplicate {
  --tt-submission-status-color: #64748b;
}

.tt-submission-card--spam,
.tt-submission-detail-status--spam {
  --tt-submission-status-color: #c026d3;
}

.tt-submission-card--failed,
.tt-submission-detail-status--failed {
  --tt-submission-status-color: #dc2626;
}

.tt-submission-card--withdrawn,
.tt-submission-detail-status--withdrawn {
  --tt-submission-status-color: #8b5e3c;
}

.tt-submission-card__identity,
.tt-submission-card__answers,
.tt-submission-card__task,
.tt-submission-card__action {
  min-width: 0;
  padding: 1rem;
}

.tt-submission-card__identity {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.tt-submission-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  padding: 0.28rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--tt-submission-status-color) 38%, var(--cu-border));
  border-radius: var(--cu-radius-pill);
  background: color-mix(in srgb, var(--tt-submission-status-color) 11%, var(--cu-surface));
  color: color-mix(in srgb, var(--tt-submission-status-color) 64%, var(--cu-text));
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1;
  text-transform: uppercase;
}

.tt-submission-status i {
  font-size: 0.42rem;
}

.tt-submission-card__form {
  max-width: 100%;
  margin-top: 0.7rem;
  overflow: hidden;
  color: var(--cu-dim);
  font-size: 0.76rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-card__identity h3 {
  max-width: 100%;
  margin: 0.18rem 0 0.5rem;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -0.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-card__identity h3 a,
.tt-submission-card__task strong a {
  color: var(--cu-text);
}

.tt-submission-card__identity h3 a:hover,
.tt-submission-card__task strong a:hover {
  color: var(--cu-accent);
}

.tt-submission-card__received {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--cu-dim);
  font-size: 0.75rem;
}

.tt-submission-card__answers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  align-content: center;
  gap: 0.55rem;
  border-left: 1px solid var(--cu-border);
}

.tt-submission-card__answers > div {
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--cu-border);
  border-radius: calc(var(--cu-radius) - 3px);
  background: var(--cu-surface-2);
}

.tt-submission-card__answers span,
.tt-submission-card__answers strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-card__answers span {
  margin-bottom: 0.2rem;
  color: var(--cu-dim);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.tt-submission-card__answers strong {
  color: var(--cu-text);
  font-size: 0.8rem;
  font-weight: 750;
}

.tt-submission-card__answers p {
  margin: 0;
  color: var(--cu-dim);
  font-size: 0.78rem;
}

.tt-submission-card__task {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid var(--cu-border);
}

.tt-submission-card__task-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  color: var(--cu-dim);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.tt-submission-card__project {
  max-width: 100%;
  overflow: hidden;
  color: var(--cu-dim);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-card__task strong {
  display: block;
  max-width: 100%;
  margin: 0.15rem 0 0.25rem;
  overflow: hidden;
  color: var(--cu-text);
  font-size: 0.86rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-card__task small {
  color: var(--cu-dim);
  font-size: 0.73rem;
}

.tt-submission-card__action {
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--cu-border);
}

.tt-submission-card__action .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  white-space: nowrap;
}

.tt-submissions-empty {
  min-height: 260px;
}

@media (max-width: 1199.98px) {
  .tt-submissions-filter-grid {
    grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(145px, 1fr));
  }

  .tt-submissions-filter-actions {
    grid-column: 1 / -1;
  }

  .tt-submission-card {
    grid-template-columns: 4px minmax(210px, 0.85fr) minmax(0, 1.4fr) auto;
  }

  .tt-submission-card__rail {
    grid-row: 1 / 3;
  }

  .tt-submission-card__task {
    grid-column: 2 / 4;
    grid-row: 2;
    border-top: 1px solid var(--cu-border);
    border-left: 0;
  }

  .tt-submission-card__action {
    grid-column: 4;
    grid-row: 1 / 3;
  }
}

@media (max-width: 767.98px) {
  .tt-submissions-kpi-grid,
  .tt-submissions-filter-grid {
    grid-template-columns: 1fr;
  }

  .tt-submissions-filter-actions {
    grid-column: auto;
  }

  .tt-submissions-list {
    padding: 0.75rem;
  }

  .tt-submission-card {
    display: block;
  }

  .tt-submission-card__rail {
    height: 4px;
  }

  .tt-submission-card__answers,
  .tt-submission-card__task,
  .tt-submission-card__action {
    border-top: 1px solid var(--cu-border);
    border-left: 0;
  }

  .tt-submission-card__action {
    justify-content: flex-start;
  }
}

@media (max-width: 479.98px) {
  .tt-submission-card__answers {
    grid-template-columns: 1fr;
  }

  .tt-submission-card__action .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Forms confirmation: public success experience aligned with the application. */
.tt-form-confirmation-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--cu-accent) 15%, transparent) 0, transparent 30%),
    radial-gradient(circle at 92% 88%, color-mix(in srgb, var(--cu-success) 11%, transparent) 0, transparent 28%),
    var(--cu-bg);
  color: var(--cu-text);
}

.tt-form-confirmation-container {
  width: min(100%, 1120px);
  min-height: calc(100vh - 1px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(1.25rem, 4vw, 3rem);
  padding-bottom: clamp(1.25rem, 4vw, 3rem);
}

.tt-confirmation-page {
  display: grid;
  gap: 1rem;
  width: 100%;
}

.tt-confirmation-brandbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 0.25rem;
}

.tt-confirmation-brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.tt-confirmation-brand__mark {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 35%, var(--cu-border));
  border-radius: 12px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
  font-size: 1.1rem;
  box-shadow: var(--cu-shadow-sm);
}

.tt-confirmation-brand strong,
.tt-confirmation-brand span {
  display: block;
}

.tt-confirmation-brand strong {
  color: var(--cu-text);
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.2;
}

.tt-confirmation-brand span {
  margin-top: 0.12rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
}

.tt-confirmation-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.42rem 0.7rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  background: color-mix(in srgb, var(--cu-surface) 88%, transparent);
  color: var(--cu-dim);
  font-size: 0.72rem;
  font-weight: 750;
  box-shadow: var(--cu-shadow-sm);
}

.tt-confirmation-secure-badge i {
  color: var(--cu-success);
}

.tt-confirmation-surface {
  display: grid;
  grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.55fr);
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: calc(var(--cu-radius) + 4px);
  background: var(--cu-surface);
  box-shadow: 0 28px 70px color-mix(in srgb, var(--cu-text) 13%, transparent);
  animation: tt-confirmation-enter 420ms ease-out both;
}

.tt-confirmation-signal {
  position: relative;
  z-index: 0;
  min-height: 520px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.5rem);
  background: linear-gradient(145deg, var(--cu-accent-strong), var(--cu-accent));
  color: var(--cu-on-btn-primary);
}

.tt-confirmation-signal::before,
.tt-confirmation-signal::after {
  position: absolute;
  z-index: -1;
  border: 1px solid color-mix(in srgb, var(--cu-on-btn-primary) 28%, transparent);
  border-radius: 50%;
  content: "";
}

.tt-confirmation-signal::before {
  width: 290px;
  height: 290px;
  top: -155px;
  right: -145px;
  box-shadow:
    0 0 0 34px color-mix(in srgb, var(--cu-on-btn-primary) 4%, transparent),
    0 0 0 68px color-mix(in srgb, var(--cu-on-btn-primary) 3%, transparent);
}

.tt-confirmation-signal::after {
  width: 180px;
  height: 180px;
  right: -95px;
  bottom: -85px;
  background: color-mix(in srgb, var(--cu-on-btn-primary) 5%, transparent);
}

.tt-confirmation-check {
  width: 70px;
  height: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.65rem;
  border: 1px solid color-mix(in srgb, var(--cu-on-btn-primary) 35%, transparent);
  border-radius: 22px;
  background: color-mix(in srgb, var(--cu-on-btn-primary) 15%, transparent);
  color: var(--cu-on-btn-primary);
  font-size: 2rem;
  box-shadow: 0 16px 32px color-mix(in srgb, #00152b 24%, transparent);
  backdrop-filter: blur(8px);
}

.tt-confirmation-signal__eyebrow {
  display: block;
  margin-bottom: 0.55rem;
  color: color-mix(in srgb, var(--cu-on-btn-primary) 78%, transparent);
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tt-confirmation-signal h2 {
  max-width: 330px;
  margin: 0;
  color: var(--cu-on-btn-primary);
  font-family: var(--cu-font-sans);
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.tt-confirmation-signal > p {
  max-width: 350px;
  margin: 0.9rem 0 0;
  color: color-mix(in srgb, var(--cu-on-btn-primary) 78%, transparent);
  font-size: 0.84rem;
  line-height: 1.6;
}

.tt-confirmation-steps {
  display: grid;
  gap: 0.68rem;
  width: 100%;
  margin: 2rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid color-mix(in srgb, var(--cu-on-btn-primary) 22%, transparent);
  list-style: none;
}

.tt-confirmation-steps li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: color-mix(in srgb, var(--cu-on-btn-primary) 72%, transparent);
  font-size: 0.75rem;
  font-weight: 700;
}

.tt-confirmation-steps i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--cu-on-btn-primary) 25%, transparent);
  border-radius: 50%;
  font-size: 0.68rem;
}

.tt-confirmation-steps .is-complete,
.tt-confirmation-steps .is-current {
  color: var(--cu-on-btn-primary);
}

.tt-confirmation-steps .is-complete i {
  background: color-mix(in srgb, var(--cu-on-btn-primary) 17%, transparent);
}

.tt-confirmation-steps .is-current i {
  border-color: var(--cu-on-btn-primary);
  background: var(--cu-on-btn-primary);
  color: var(--cu-accent-strong);
}

.tt-confirmation-content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(2rem, 5vw, 4.25rem);
}

.tt-confirmation-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.38rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--cu-success) 28%, var(--cu-border));
  border-radius: var(--cu-radius-pill);
  background: color-mix(in srgb, var(--cu-success) 9%, var(--cu-surface));
  color: var(--cu-success);
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.tt-confirmation-content h1 {
  max-width: 650px;
  margin: 1rem 0 0;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: clamp(2rem, 4.3vw, 3.35rem);
  font-weight: 880;
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.tt-confirmation-lead {
  max-width: 620px;
  margin: 1rem 0 0;
  color: var(--cu-dim);
  font-size: 0.95rem;
  line-height: 1.65;
}

.tt-confirmation-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
  margin-top: 1.75rem;
}

.tt-confirmation-details article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 0.7rem;
  min-width: 0;
  padding: 0.95rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface-2);
}

.tt-confirmation-detail__icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-confirmation-detail__icon--status {
  background: color-mix(in srgb, var(--cu-success) 11%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-confirmation-details article span:not(.tt-confirmation-detail__icon),
.tt-confirmation-details article strong,
.tt-confirmation-details article small {
  display: block;
  min-width: 0;
}

.tt-confirmation-details article span:not(.tt-confirmation-detail__icon) {
  color: var(--cu-dim);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.tt-confirmation-details article strong {
  margin-top: 0.2rem;
  overflow-wrap: anywhere;
  color: var(--cu-text);
  font-size: 0.87rem;
  font-weight: 850;
}

.tt-confirmation-details article:first-child strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.025em;
}

.tt-confirmation-details article small {
  margin-top: 0.28rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
  line-height: 1.4;
}

.tt-confirmation-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid color-mix(in srgb, var(--cu-warning) 34%, var(--cu-border));
  border-left: 4px solid var(--cu-warning);
  border-radius: var(--cu-radius);
  background: color-mix(in srgb, var(--cu-warning) 8%, var(--cu-surface));
  color: var(--cu-text);
  font-size: 0.78rem;
}

.tt-confirmation-warning > i {
  margin-top: 0.08rem;
  color: var(--cu-warning);
}

.tt-confirmation-warning strong {
  display: block;
}

.tt-confirmation-warning ul {
  margin: 0.45rem 0 0;
  padding-left: 1rem;
  color: var(--cu-dim);
}

.tt-confirmation-actions {
  width: 100%;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--cu-border);
}

.tt-confirmation-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 43px;
  padding-inline: 1.1rem;
  border-radius: 10px;
  font-weight: 800;
}

.tt-confirmation-actions p {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0.75rem 0 0;
  color: var(--cu-dim);
  font-size: 0.72rem;
  line-height: 1.45;
}

.tt-confirmation-actions p i {
  margin-top: 0.08rem;
  color: var(--cu-accent);
}

.tt-form-confirmation-page footer {
  color: var(--cu-dim);
  font-size: 0.72rem;
}

.tt-form-confirmation-page.tt-form-confirmation-embedded-page {
  min-height: 0;
  background: transparent;
}

.tt-form-confirmation-page .tt-form-confirmation-embedded-container {
  min-height: 0;
  padding: 0;
}

.tt-form-confirmation-page.tt-form-confirmation-embedded-page .tt-confirmation-surface {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@keyframes tt-confirmation-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 899.98px) {
  .tt-confirmation-surface {
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  }

  .tt-confirmation-signal,
  .tt-confirmation-content {
    padding: 2rem;
  }

  .tt-confirmation-details {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .tt-form-confirmation-container {
    justify-content: flex-start;
    padding-inline: 0.75rem;
  }

  .tt-confirmation-surface {
    grid-template-columns: 1fr;
  }

  .tt-confirmation-signal {
    min-height: auto;
    padding: 2rem 1.5rem;
  }

  .tt-confirmation-check {
    width: 60px;
    height: 60px;
    margin-bottom: 1.25rem;
    border-radius: 18px;
    font-size: 1.7rem;
  }

  .tt-confirmation-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .tt-confirmation-steps li {
    align-items: flex-start;
    flex-direction: column;
    font-size: 0.68rem;
  }

  .tt-confirmation-content {
    padding: 2rem 1.5rem;
  }
}

@media (max-width: 479.98px) {
  .tt-confirmation-brandbar {
    align-items: flex-start;
  }

  .tt-confirmation-brand span {
    max-width: 160px;
  }

  .tt-confirmation-secure-badge {
    padding-inline: 0.55rem;
    font-size: 0.66rem;
  }

  .tt-confirmation-signal,
  .tt-confirmation-content {
    padding: 1.5rem 1.15rem;
  }

  .tt-confirmation-steps {
    grid-template-columns: 1fr;
  }

  .tt-confirmation-steps li {
    align-items: center;
    flex-direction: row;
  }

  .tt-confirmation-details article {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 0.85rem;
  }

  .tt-confirmation-detail__icon {
    width: 32px;
    height: 32px;
  }

  .tt-confirmation-actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tt-confirmation-surface {
    animation: none;
  }
}

/* Forms requester portal: public tracking and revision experience. */
.tt-form-request-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 6% 4%, color-mix(in srgb, var(--cu-accent) 13%, transparent) 0, transparent 27%),
    radial-gradient(circle at 95% 72%, color-mix(in srgb, var(--cu-info) 9%, transparent) 0, transparent 25%),
    var(--cu-bg);
  color: var(--cu-text);
}

.tt-form-request-container {
  width: min(100%, 1180px);
  padding-top: clamp(1.25rem, 3vw, 2.5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.tt-request-portal {
  --tt-page-gap: 1rem;
}

.tt-request-brandbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 0.25rem;
}

.tt-request-brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.tt-request-brand__mark {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 35%, var(--cu-border));
  border-radius: 12px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
  font-size: 1.1rem;
  box-shadow: var(--cu-shadow-sm);
}

.tt-request-brand__mark .bi {
  display: inline-flex;
  width: 1em;
  height: 1em;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.tt-request-brand__mark .bi::before {
  display: block;
  vertical-align: 0;
}

.tt-request-brand > div > strong,
.tt-request-brand > div > span {
  display: block;
}

.tt-request-brand > div > strong {
  color: var(--cu-text);
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.2;
}

.tt-request-brand > div > span {
  margin-top: 0.12rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
}

.tt-request-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.42rem 0.7rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  background: color-mix(in srgb, var(--cu-surface) 90%, transparent);
  color: var(--cu-dim);
  font-size: 0.72rem;
  font-weight: 750;
  box-shadow: var(--cu-shadow-sm);
}

.tt-request-secure-badge i {
  color: var(--cu-success);
}

.tt-request-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid var(--cu-border);
  border-radius: calc(var(--cu-radius) + 2px);
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--cu-accent) 7%, var(--cu-surface)) 0, var(--cu-surface) 58%),
    var(--cu-surface);
  box-shadow: var(--cu-shadow-md);
}

.tt-request-hero::after {
  position: absolute;
  width: 230px;
  height: 230px;
  right: -130px;
  bottom: -150px;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 18%, transparent);
  border-radius: 50%;
  box-shadow:
    0 0 0 32px color-mix(in srgb, var(--cu-accent) 3%, transparent),
    0 0 0 64px color-mix(in srgb, var(--cu-accent) 2%, transparent);
  content: "";
  pointer-events: none;
}

.tt-request-hero__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.tt-request-hero__icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--cu-accent) 30%, var(--cu-border));
  border-radius: 19px;
  background: linear-gradient(145deg, var(--cu-accent-soft), color-mix(in srgb, var(--cu-accent) 16%, var(--cu-surface)));
  color: var(--cu-accent);
  font-size: 1.45rem;
  box-shadow: var(--cu-shadow-sm);
}

.tt-request-hero__eyebrow {
  display: block;
  margin-bottom: 0.38rem;
  color: var(--cu-accent);
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tt-request-hero h1 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: clamp(1.7rem, 3.2vw, 2.65rem);
  font-weight: 880;
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.tt-request-hero__identity p {
  max-width: 620px;
  margin: 0.55rem 0 0;
  color: var(--cu-dim);
  font-size: 0.84rem;
  line-height: 1.55;
}

.tt-request-hero__meta {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(145px, 1fr));
  gap: 0.65rem;
}

.tt-request-hero__meta > div {
  min-width: 0;
  padding: 0.78rem 0.9rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: color-mix(in srgb, var(--cu-surface-2) 74%, var(--cu-surface));
}

.tt-request-hero__meta > div > span,
.tt-request-hero__meta > div > strong {
  display: block;
}

.tt-request-hero__meta > div > span {
  margin-bottom: 0.32rem;
  color: var(--cu-dim);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tt-request-hero__meta > div > strong {
  color: var(--cu-text);
  font-size: 0.78rem;
  font-weight: 800;
}

.tt-request-status {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  color: var(--cu-info) !important;
}

.tt-request-status i {
  font-size: 0.42rem;
}

.tt-request-status--accepted,
.tt-request-status--in_progress,
.tt-request-status--resolved {
  color: var(--cu-success) !important;
}

.tt-request-status--needs_review,
.tt-request-status--waiting_requester {
  color: var(--cu-warning) !important;
}

.tt-request-status--rejected,
.tt-request-status--spam,
.tt-request-status--failed {
  color: var(--cu-danger) !important;
}

.tt-request-callout-new {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  padding: 1rem 1.1rem;
  border: 1px solid color-mix(in srgb, var(--cu-warning) 38%, var(--cu-border));
  border-left: 4px solid var(--cu-warning);
  border-radius: var(--cu-radius);
  background: color-mix(in srgb, var(--cu-warning) 8%, var(--cu-surface));
  box-shadow: var(--cu-shadow-sm);
}

.tt-request-callout-new__icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: color-mix(in srgb, var(--cu-warning) 15%, var(--cu-surface));
  color: var(--cu-warning);
  font-size: 1.05rem;
}

.tt-request-callout-new > div > span {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--cu-warning);
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tt-request-callout-new h2 {
  margin: 0;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 0.98rem;
  font-weight: 850;
}

.tt-request-callout-new p {
  margin: 0.28rem 0 0;
  color: var(--cu-dim);
  font-size: 0.8rem;
  line-height: 1.5;
}

.tt-request-callout-new__count,
.tt-request-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface);
  color: var(--cu-dim);
  font-size: 0.69rem;
  font-weight: 750;
  white-space: nowrap;
}

.tt-request-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.7fr);
  align-items: start;
  gap: 1rem;
}

.tt-request-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-md);
}

.tt-request-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: 0.95rem 1rem;
  border-bottom: 1px solid var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 60%, var(--cu-surface));
}

.tt-request-panel__header > div {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.tt-request-panel__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-request-panel__icon--history {
  background: color-mix(in srgb, var(--cu-info) 10%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-request-panel__icon--edit {
  background: color-mix(in srgb, var(--cu-success) 10%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-request-panel__header h2 {
  margin: 0;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -0.015em;
}

.tt-request-panel__header p {
  margin: 0.18rem 0 0;
  color: var(--cu-dim);
  font-size: 0.73rem;
  line-height: 1.4;
}

.tt-request-answer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0;
  padding: 1rem;
}

.tt-request-answer-list > div {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--cu-border);
  border-radius: calc(var(--cu-radius) - 2px);
  background: var(--cu-surface-2);
}

.tt-request-answer-list dt {
  margin-bottom: 0.35rem;
  color: var(--cu-dim);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tt-request-answer-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cu-text);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.5;
}

.tt-request-attachments {
  padding: 0 1rem 1rem;
}

.tt-request-attachments h3 {
  margin: 0 0 0.6rem;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 0.78rem;
  font-weight: 800;
}

.tt-request-attachments__list {
  display: grid;
  gap: 0.5rem;
}

.tt-request-attachments__list > a,
.tt-request-attachments__list > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid var(--cu-border);
  border-radius: 10px;
  background: var(--cu-surface-2);
  color: var(--cu-text);
  font-size: 0.76rem;
  text-decoration: none;
}

.tt-request-attachments__list > a:hover {
  border-color: var(--cu-accent);
  color: var(--cu-accent);
}

.tt-request-attachments__list small {
  color: var(--cu-dim);
  font-size: 0.68rem;
}

.tt-request-history {
  position: sticky;
  top: 1rem;
}

.tt-request-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 1rem;
  list-style: none;
}

.tt-request-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.65rem;
  padding-bottom: 1rem;
}

.tt-request-timeline li:not(:last-child)::after {
  position: absolute;
  width: 1px;
  left: 16px;
  top: 33px;
  bottom: 0;
  background: var(--cu-border);
  content: "";
}

.tt-request-timeline li:last-child {
  padding-bottom: 0;
}

.tt-request-timeline__marker {
  position: relative;
  z-index: 1;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cu-border);
  border-radius: 50%;
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.75rem;
}

.tt-request-timeline .is-latest .tt-request-timeline__marker {
  border-color: color-mix(in srgb, var(--cu-accent) 35%, var(--cu-border));
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-request-timeline strong,
.tt-request-timeline time {
  display: block;
}

.tt-request-timeline strong {
  padding-top: 0.15rem;
  color: var(--cu-text);
  font-size: 0.78rem;
  font-weight: 800;
}

.tt-request-timeline time {
  margin-top: 0.2rem;
  color: var(--cu-dim);
  font-size: 0.68rem;
}

.tt-request-history__empty {
  margin: 0;
  padding: 1rem;
  color: var(--cu-dim);
  font-size: 0.78rem;
}

.tt-request-update__header {
  min-height: 82px;
}

.tt-request-update-form {
  display: block;
  margin: 0;
}

.tt-request-update-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.1rem;
}

.tt-form-request-page .tt-request-update-fields .tt-form-field {
  min-width: 0;
}

.tt-form-request-page .tt-request-update-fields .tt-form-field[data-field-type="long_text"],
.tt-form-request-page .tt-request-update-fields .tt-form-field[data-field-type="file"],
.tt-form-request-page .tt-request-update-fields .tt-form-field[data-field-type="multi_select"],
.tt-form-request-page .tt-request-update-fields .tt-form-field[data-field-type="consent"],
.tt-form-request-page .tt-request-update-fields .tt-form-field[data-field-type="checkbox"] {
  grid-column: 1 / -1;
}

.tt-form-request-page .tt-request-update-fields .tt-form-label {
  display: block;
  margin-bottom: 0.42rem;
  color: var(--cu-text);
  font-size: 0.76rem;
  font-weight: 800;
}

.tt-form-request-page .tt-request-edit-form input:not([type="checkbox"]),
.tt-form-request-page .tt-request-edit-form select,
.tt-form-request-page .tt-request-edit-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 0.68rem 0.75rem;
  border: 1px solid var(--cu-border-strong);
  border-radius: 10px;
  background: var(--cu-surface);
  color: var(--cu-text);
  font-size: 0.8rem;
  box-shadow: none;
}

.tt-form-request-page .tt-request-edit-form textarea {
  min-height: 118px;
  resize: vertical;
}

.tt-form-request-page .tt-request-edit-form input:not([type="checkbox"]):focus,
.tt-form-request-page .tt-request-edit-form select:focus,
.tt-form-request-page .tt-request-edit-form textarea:focus {
  border-color: var(--cu-accent);
  outline: 0;
  box-shadow: var(--cu-focus-ring);
}

.tt-form-request-page .tt-form-description,
.tt-form-request-page .tt-form-file-note {
  margin: -0.12rem 0 0.45rem;
  color: var(--cu-dim);
  font-size: 0.69rem;
}

.tt-form-request-page .tt-form-required {
  color: var(--cu-danger);
}

.tt-form-request-page .tt-form-choice,
.tt-form-request-page .tt-form-consent {
  align-items: start;
  border-color: var(--cu-border);
  background: var(--cu-surface-2);
  color: var(--cu-text);
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.75rem 0.8rem;
}

.tt-form-request-page .tt-form-choice:has(input:checked),
.tt-form-request-page .tt-form-consent:has(input:checked) {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
}

.tt-form-request-page .tt-form-choice input,
.tt-form-request-page .tt-form-consent input {
  accent-color: var(--cu-accent);
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0.12rem 0 0;
  padding: 0;
}

.tt-form-request-page .tt-form-choice span,
.tt-form-request-page .tt-form-consent span {
  min-width: 0;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.tt-request-update-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1.1rem;
  border-top: 1px solid var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface));
}

.tt-request-update-actions p {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  color: var(--cu-dim);
  font-size: 0.7rem;
}

.tt-request-update-actions p i {
  color: var(--cu-success);
}

.tt-request-update-actions .btn,
.tt-request-danger-zone .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 40px;
  border-radius: 9px;
  font-weight: 800;
}

.tt-request-closed-note {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface);
  box-shadow: var(--cu-shadow-sm);
}

.tt-request-closed-note > i {
  width: 38px;
  height: 38px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--cu-surface-2);
  color: var(--cu-dim);
}

.tt-request-closed-note strong,
.tt-request-closed-note span {
  display: block;
}

.tt-request-closed-note strong {
  color: var(--cu-text);
  font-size: 0.82rem;
}

.tt-request-closed-note span {
  margin-top: 0.18rem;
  color: var(--cu-dim);
  font-size: 0.72rem;
}

.tt-request-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid color-mix(in srgb, var(--cu-danger) 28%, var(--cu-border));
  border-radius: var(--cu-radius);
  background: color-mix(in srgb, var(--cu-danger) 5%, var(--cu-surface));
}

.tt-request-danger-zone h2 {
  margin: 0;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 0.86rem;
  font-weight: 850;
}

.tt-request-danger-zone p {
  margin: 0.18rem 0 0;
  color: var(--cu-dim);
  font-size: 0.71rem;
}

.tt-request-danger-zone form {
  margin: 0;
}

.tt-form-request-page footer {
  color: var(--cu-dim);
  font-size: 0.72rem;
}

@media (max-width: 991.98px) {
  .tt-request-hero {
    grid-template-columns: 1fr;
  }

  .tt-request-hero__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-request-overview {
    grid-template-columns: 1fr;
  }

  .tt-request-history {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .tt-form-request-container {
    padding-inline: 0.75rem;
  }

  .tt-request-hero__identity {
    align-items: flex-start;
  }

  .tt-request-hero__icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    font-size: 1.2rem;
  }

  .tt-request-callout-new {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tt-request-callout-new__count {
    grid-column: 2;
    justify-self: start;
  }

  .tt-request-answer-list,
  .tt-request-update-fields {
    grid-template-columns: 1fr;
  }

  .tt-form-request-page .tt-request-update-fields .tt-form-field {
    grid-column: auto;
  }

  .tt-request-update-actions,
  .tt-request-danger-zone {
    align-items: stretch;
    flex-direction: column;
  }

  .tt-request-update-actions .btn,
  .tt-request-danger-zone .btn {
    width: 100%;
  }
}

@media (max-width: 479.98px) {
  .tt-request-brandbar {
    align-items: flex-start;
  }

  .tt-request-brand > div > span {
    max-width: 155px;
  }

  .tt-request-secure-badge {
    padding-inline: 0.55rem;
    font-size: 0.65rem;
  }

  .tt-request-hero {
    padding: 1.2rem;
  }

  .tt-request-hero__identity {
    display: block;
  }

  .tt-request-hero__icon {
    margin-bottom: 0.9rem;
  }

  .tt-request-hero__meta {
    grid-template-columns: 1fr;
  }

  .tt-request-panel__header {
    align-items: flex-start;
  }

  .tt-request-count {
    flex: 0 0 auto;
  }

  .tt-request-answer-list,
  .tt-request-update-fields {
    padding: 0.75rem;
  }
}

/* Forms submission detail: internal review and triage workspace. */
.tt-form-submission-page {
  background: var(--cu-bg);
  color: var(--cu-text);
}

.tt-form-submission-container {
  padding-bottom: clamp(2rem, 4vw, 4rem);
}

.tt-submission-detail {
  --tt-page-gap: 1rem;
}

.tt-submission-detail-header.cu-page-header {
  display: grid;
  grid-template-areas:
    "identity actions"
    "stats stats";
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 1.25rem;
}

.tt-submission-detail-header .cu-page-header__identity {
  grid-area: identity;
  width: 100%;
}

.tt-submission-detail-header .cu-page-header__content {
  flex-basis: auto;
  gap: 0.34rem;
}

.tt-submission-detail-header .cu-page-title {
  font-size: clamp(1.4rem, 1.9vw, 1.75rem);
  overflow-wrap: anywhere;
}

.tt-submission-detail-header .cu-page-header__eyebrow {
  font-size: 0.59rem;
}

.tt-submission-detail-header .cu-page-header__meta {
  font-size: 0.73rem;
}

.tt-submission-detail-header .cu-page-header__meta strong {
  font-size: 0.82rem;
}

.tt-submission-detail-header .cu-page-header__stats {
  display: grid;
  grid-area: stats;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.tt-submission-detail-header .cu-page-header__stats li {
  min-width: 0;
  padding: 0.72rem 0.9rem;
}

.tt-submission-detail-header .cu-page-header__actions {
  grid-area: actions;
  margin-left: 0;
}

.tt-submission-detail-status {
  display: inline-flex !important;
  align-items: center;
  gap: 0.38rem;
  color: color-mix(in srgb, var(--tt-submission-status-color, var(--cu-info)) 64%, var(--cu-text)) !important;
}

.tt-submission-detail-status i {
  font-size: 0.42rem;
}

.tt-submission-task-lifecycle {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: 0.35rem;
  padding: 0.2rem 0.45rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.62rem;
  font-weight: 800;
  vertical-align: middle;
}

.tt-submission-task-lifecycle--archived {
  border-color: color-mix(in srgb, var(--cu-warning) 34%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-warning) 8%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-submission-task-lifecycle--trashed,
.tt-submission-task-lifecycle--deleted {
  border-color: color-mix(in srgb, var(--cu-danger) 30%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-danger) 7%, var(--cu-surface));
  color: var(--cu-danger);
}

.tt-submission-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 365px);
  align-items: start;
  gap: 1rem;
}

.tt-submission-workflow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: start;
  gap: 1rem;
  min-width: 0;
}

.tt-submission-workflow-grid > .tt-submission-detail-panel {
  min-width: 0;
}

.tt-submission-workflow-grid > .tt-submission-detail-panel:only-child {
  grid-column: 1 / -1;
}

.tt-submission-detail-sidebar .tt-submission-audit-panel .tt-submission-detail-panel__header {
  align-items: flex-start;
}

.tt-submission-detail-sidebar .tt-submission-audit-panel .tt-submission-detail-count {
  flex: 0 0 auto;
}

.tt-submission-detail-main,
.tt-submission-detail-sidebar {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.tt-submission-detail-panel {
  min-width: 0;
}

.tt-submission-detail-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: 0.95rem 1rem;
  border-bottom: 1px solid var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 60%, var(--cu-surface));
}

.tt-submission-detail-panel__header > div {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.tt-submission-detail-panel__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-submission-detail-panel__icon--revision,
.tt-submission-detail-panel__icon--triage {
  background: color-mix(in srgb, var(--cu-success) 10%, var(--cu-surface));
  color: var(--cu-success);
}

.tt-submission-detail-panel__icon--audit,
.tt-submission-detail-panel__icon--route {
  background: color-mix(in srgb, var(--cu-info) 10%, var(--cu-surface));
  color: var(--cu-info);
}

.tt-submission-detail-panel__icon--requester,
.tt-submission-detail-panel__icon--message {
  background: color-mix(in srgb, var(--cu-warning) 10%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-submission-detail-panel__icon--files {
  background: color-mix(in srgb, var(--cu-dim) 9%, var(--cu-surface));
  color: var(--cu-dim);
}

.tt-submission-detail-panel__header h2 {
  margin: 0;
  color: var(--cu-text);
  font-family: var(--cu-font-sans);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -0.015em;
}

.tt-submission-detail-panel__header p {
  margin: 0.18rem 0 0;
  color: var(--cu-dim);
  font-size: 0.72rem;
  line-height: 1.4;
}

.tt-submission-detail-count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  background: var(--cu-surface);
  color: var(--cu-dim);
  font-size: 0.68rem;
  font-weight: 750;
  white-space: nowrap;
}

.tt-submission-detail-answers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0;
  padding: 1rem;
}

.tt-submission-detail-answers > div {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--cu-border);
  border-radius: calc(var(--cu-radius) - 2px);
  background: var(--cu-surface-2);
}

.tt-submission-detail-answers > div.is-sensitive {
  border-color: color-mix(in srgb, var(--cu-warning) 32%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-warning) 7%, var(--cu-surface));
}

.tt-submission-detail-answers dt {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.38rem;
  color: var(--cu-dim);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tt-submission-detail-answers dt i {
  color: var(--cu-warning);
}

.tt-submission-detail-answers dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cu-text);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.55;
}

.tt-submission-revisions {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.tt-submission-revision {
  overflow: hidden;
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius);
  background: var(--cu-surface-2);
}

.tt-submission-revision > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid var(--cu-border);
  background: var(--cu-surface);
}

.tt-submission-revision > header strong,
.tt-submission-revision > header span {
  display: block;
}

.tt-submission-revision > header strong {
  color: var(--cu-text);
  font-size: 0.8rem;
}

.tt-submission-revision > header span,
.tt-submission-revision > header small {
  color: var(--cu-dim);
  font-size: 0.68rem;
}

.tt-submission-revision__changes {
  display: grid;
  gap: 0.55rem;
  padding: 0.8rem;
}

.tt-submission-revision__changes > div {
  display: grid;
  grid-template-columns: minmax(110px, 0.65fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.55rem;
  min-width: 0;
}

.tt-submission-revision__changes span,
.tt-submission-revision__changes del,
.tt-submission-revision__changes ins {
  overflow-wrap: anywhere;
  font-size: 0.72rem;
}

.tt-submission-revision__changes span {
  color: var(--cu-dim);
  font-weight: 750;
}

.tt-submission-revision__changes del {
  color: var(--cu-danger);
}

.tt-submission-revision__changes ins {
  color: var(--cu-success);
  text-decoration: none;
}

.tt-submission-audit {
  display: grid;
  margin: 0;
  padding: 1rem;
  list-style: none;
}

.tt-submission-audit li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 0.7rem;
  padding-bottom: 1rem;
}

.tt-submission-audit li:not(:last-child)::after {
  position: absolute;
  width: 1px;
  left: 17px;
  top: 35px;
  bottom: 0;
  background: var(--cu-border);
  content: "";
}

.tt-submission-audit li:last-child {
  padding-bottom: 0;
}

.tt-submission-audit__marker {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cu-border);
  border-radius: 50%;
  background: var(--cu-surface-2);
  color: var(--cu-dim);
  font-size: 0.76rem;
}

.tt-submission-audit__marker .bi {
  display: inline-flex;
  width: 1em;
  height: 1em;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.tt-submission-audit__marker .bi::before {
  display: block;
  vertical-align: 0;
}

.tt-submission-audit .is-latest .tt-submission-audit__marker {
  border-color: color-mix(in srgb, var(--cu-accent) 36%, var(--cu-border));
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
}

.tt-submission-audit li > div > strong,
.tt-submission-audit li > div > span {
  display: block;
}

.tt-submission-audit strong {
  padding-top: 0.2rem;
  color: var(--cu-text);
  font-size: 0.79rem;
  font-weight: 800;
}

.tt-submission-audit li > div > span {
  margin-top: 0.2rem;
  color: var(--cu-dim);
  font-size: 0.68rem;
}

.tt-submission-requester__body,
.tt-submission-route,
.tt-submission-form-body,
.tt-submission-files {
  padding: 1rem;
}

.tt-submission-requester__identity {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
}

.tt-submission-requester__identity > span {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--cu-accent-soft);
  color: var(--cu-accent);
  font-size: 1rem;
  font-weight: 850;
}

.tt-submission-requester__identity strong,
.tt-submission-requester__identity small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-requester__identity strong {
  color: var(--cu-text);
  font-size: 0.88rem;
  font-weight: 850;
}

.tt-submission-requester__identity small {
  margin-top: 0.16rem;
  color: var(--cu-dim);
  font-size: 0.7rem;
}

.tt-submission-requester__body > p {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.75rem;
  color: var(--cu-dim);
  font-size: 0.73rem;
}

.tt-submission-requester__body .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 39px;
}

.tt-submission-security-form {
  margin: 0.85rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--cu-border);
}

.tt-submission-security-form button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cu-dim);
  font-size: 0.7rem;
  font-weight: 750;
}

.tt-submission-security-form button:hover {
  color: var(--cu-accent);
}

.tt-submission-route > strong {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--cu-text);
  font-size: 1rem;
  font-weight: 850;
}

.tt-submission-route dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.tt-submission-route dl > div {
  display: grid;
  grid-template-columns: minmax(105px, 0.7fr) minmax(0, 1fr);
  gap: 0.6rem;
  padding: 0.65rem 0;
  border-top: 1px solid var(--cu-border);
}

.tt-submission-route dt,
.tt-submission-route dd {
  font-size: 0.72rem;
}

.tt-submission-route dt {
  color: var(--cu-dim);
  font-weight: 700;
}

.tt-submission-route dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cu-text);
  font-weight: 750;
}

.tt-submission-form-body {
  display: grid;
  gap: 0.42rem;
}

.tt-submission-status-guide {
  align-items: flex-start;
  background: color-mix(in srgb, var(--cu-info) 8%, var(--cu-surface));
  border: 1px solid color-mix(in srgb, var(--cu-info) 28%, var(--cu-border));
  border-radius: 10px;
  color: var(--cu-info);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: 18px minmax(0, 1fr);
  margin-bottom: 0.3rem;
  padding: 0.7rem;
}

.tt-submission-status-guide p {
  color: var(--cu-dim);
  font-size: 0.69rem;
  line-height: 1.45;
  margin: 0;
}

.tt-submission-status-guide strong {
  color: var(--cu-text);
  display: block;
  margin-bottom: 0.08rem;
}

.tt-submission-status-guide--paused {
  border-color: color-mix(in srgb, var(--cu-warning) 34%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-warning) 8%, var(--cu-surface));
  color: var(--cu-warning);
}

.tt-submission-status-guide--detached {
  border-color: color-mix(in srgb, var(--cu-danger) 28%, var(--cu-border));
  background: color-mix(in srgb, var(--cu-danger) 6%, var(--cu-surface));
  color: var(--cu-danger);
}

.tt-submission-sync-control {
  align-items: center;
  background: color-mix(in srgb, var(--cu-surface-2) 72%, var(--cu-surface));
  border: 1px solid var(--cu-border);
  border-radius: 11px;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0.5rem 0 0.15rem;
  padding: 0.72rem;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.tt-submission-sync-control.is-synced {
  background: color-mix(in srgb, var(--cu-success) 9%, var(--cu-surface));
  border-color: color-mix(in srgb, var(--cu-success) 40%, var(--cu-border));
  box-shadow: inset 3px 0 0 var(--cu-success);
}

.tt-submission-sync-control .form-check {
  align-items: flex-start;
  display: flex;
  gap: 0.62rem;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.tt-submission-sync-control .form-check-input {
  flex: 0 0 auto;
  height: 1.25rem;
  margin: 0.08rem 0 0;
  width: 2.25rem;
}

.tt-submission-sync-control .form-check-input:checked {
  background-color: var(--cu-success);
  border-color: var(--cu-success);
}

.tt-submission-sync-control .form-check-input:focus {
  border-color: var(--cu-success);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--cu-success) 20%, transparent);
}

.tt-submission-sync-control .form-check-label {
  color: var(--cu-text);
  cursor: pointer;
  min-width: 0;
}

.tt-submission-sync-control .form-check-label strong,
.tt-submission-sync-control .form-check-label span {
  display: block;
}

.tt-submission-sync-control .form-check-label strong {
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.3;
}

.tt-submission-sync-control .form-check-label span {
  color: var(--cu-dim);
  font-size: 0.64rem;
  line-height: 1.4;
  margin-top: 0.12rem;
}

.tt-submission-sync-control__state {
  align-items: center;
  background: var(--cu-surface);
  border: 1px solid var(--cu-border);
  border-radius: var(--cu-radius-pill);
  color: var(--cu-dim);
  display: inline-flex;
  font-size: 0.61rem;
  font-weight: 800;
  justify-content: center;
  min-height: 28px;
  padding: 0.28rem 0.58rem;
  white-space: nowrap;
}

.tt-submission-sync-control.is-synced .tt-submission-sync-control__state {
  background: color-mix(in srgb, var(--cu-success) 12%, var(--cu-surface));
  border-color: color-mix(in srgb, var(--cu-success) 36%, var(--cu-border));
  color: var(--cu-success);
}

.tt-submission-triage.is-external-status-synced #ttSubmissionExternalStatus {
  background: color-mix(in srgb, var(--cu-success) 7%, var(--cu-surface));
  border-color: color-mix(in srgb, var(--cu-success) 42%, var(--cu-border-strong));
  color: var(--cu-text);
  cursor: default;
}

.tt-submission-field-help {
  color: var(--cu-dim);
  display: block;
  font-size: 0.64rem;
  line-height: 1.4;
}

.tt-submission-form-body > label,
.tt-submission-request-fields legend {
  margin-top: 0.35rem;
  color: var(--cu-dim);
  font-size: 0.69rem;
  font-weight: 800;
}

.tt-submission-form-body .form-control,
.tt-submission-form-body .form-select {
  min-height: 40px;
  border-color: var(--cu-border-strong);
  border-radius: 9px;
  background: var(--cu-surface);
  color: var(--cu-text);
  font-size: 0.77rem;
}

.tt-submission-form-body textarea.form-control {
  min-height: 100px;
  resize: vertical;
}

.tt-submission-form-body .form-control:focus,
.tt-submission-form-body .form-select:focus {
  border-color: var(--cu-accent);
  box-shadow: var(--cu-focus-ring);
}

.tt-submission-form-section {
  margin: 0.75rem -1rem 0.25rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--cu-border);
  border-bottom: 1px solid var(--cu-border);
  background: var(--cu-surface-2);
}

.tt-submission-form-section span,
.tt-submission-form-section p {
  display: block;
}

.tt-submission-form-section span {
  color: var(--cu-text);
  font-size: 0.74rem;
  font-weight: 850;
}

.tt-submission-form-section p {
  margin: 0.16rem 0 0;
  color: var(--cu-dim);
  font-size: 0.67rem;
}

.tt-submission-form-actions {
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--cu-border);
  background: color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface));
}

.tt-submission-form-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 39px;
  border-radius: 9px;
  font-weight: 800;
}

.tt-submission-request-fields {
  display: grid;
  gap: 0.45rem;
  margin: 0.55rem 0 0;
  padding: 0;
  border: 0;
}

.tt-submission-request-fields legend {
  margin: 0 0 0.2rem;
}

.tt-submission-request-fields label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.55rem 0.6rem;
  border: 1px solid var(--cu-border);
  border-radius: 9px;
  background: var(--cu-surface-2);
  color: var(--cu-text);
  font-size: 0.72rem;
  line-height: 1.35;
  cursor: pointer;
}

.tt-submission-request-fields label:has(input:checked) {
  border-color: var(--cu-accent);
  background: var(--cu-accent-soft);
}

.tt-submission-request-fields input {
  flex: 0 0 auto;
  margin-top: 0.1rem;
  accent-color: var(--cu-accent);
}

.tt-submission-files {
  display: grid;
  gap: 0.5rem;
}

.tt-submission-files > a,
.tt-submission-files > span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--cu-border);
  border-radius: 10px;
  background: var(--cu-surface-2);
  color: var(--cu-text);
  font-size: 0.74rem;
  text-decoration: none;
}

.tt-submission-files > a:hover {
  border-color: var(--cu-accent);
  color: var(--cu-accent);
}

.tt-submission-files > a > i,
.tt-submission-files > span > i {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--cu-surface);
}

.tt-submission-files span span,
.tt-submission-files a span,
.tt-submission-files small {
  display: block;
  min-width: 0;
}

.tt-submission-files a span,
.tt-submission-files > span > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-submission-files small {
  margin-top: 0.15rem;
  color: var(--cu-dim);
  font-size: 0.65rem;
}

@media (max-width: 1199.98px) {
  .tt-submission-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 330px);
  }

  .tt-submission-workflow-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .tt-submission-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .tt-submission-detail-header.cu-page-header {
    grid-template-areas:
      "identity"
      "stats"
      "actions";
    grid-template-columns: minmax(0, 1fr);
  }

  .tt-submission-detail-header {
    flex-wrap: nowrap;
  }

  .tt-submission-detail-header .cu-page-header__identity,
  .tt-submission-detail-header .cu-page-header__stats,
  .tt-submission-detail-header .cu-page-header__actions {
    flex: 0 0 auto;
  }

  .tt-submission-detail-answers {
    grid-template-columns: 1fr;
  }

  .tt-submission-revision__changes > div {
    grid-template-columns: 1fr;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--cu-border);
  }

  .tt-submission-revision__changes > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

@media (max-width: 479.98px) {
  .tt-submission-sync-control {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .tt-submission-sync-control__state {
    justify-self: start;
  }

  .tt-submission-detail-panel__header {
    align-items: flex-start;
  }

  .tt-submission-detail-answers,
  .tt-submission-revisions,
  .tt-submission-audit,
  .tt-submission-requester__body,
  .tt-submission-route,
  .tt-submission-form-body,
  .tt-submission-files {
    padding: 0.75rem;
  }

  .tt-submission-detail-count {
    flex: 0 0 auto;
  }

  .tt-submission-revision > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .tt-submission-form-section {
    margin-inline: -0.75rem;
    padding-inline: 0.75rem;
  }
}

/* Forms mobile polish: preserve the full information hierarchy without clipped columns. */
@media (max-width: 767.98px) {
  .tt-forms-responsive-header.cu-page-header {
    --cu-page-header-padding-block: 1rem;
    --cu-page-header-padding-inline: 1rem;
    --cu-page-header-title-size: 1.62rem;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.85rem;
    min-width: 0;
    overflow: hidden;
  }

  .tt-forms-responsive-header .cu-page-header__identity {
    align-items: start;
    display: grid;
    flex: 0 0 auto;
    gap: 0.7rem 0.75rem;
    grid-template-areas:
      "back back"
      "icon copy";
    grid-template-columns: 46px minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .tt-forms-responsive-header .tt-forms-header-back {
    grid-area: back;
    justify-self: start;
    min-height: 44px;
  }

  .tt-forms-responsive-header .cu-page-header__icon {
    align-self: start;
    border-radius: 13px;
    font-size: 1.18rem;
    grid-area: icon;
    height: 46px;
    width: 46px;
  }

  .tt-forms-responsive-header .cu-page-header__content {
    align-self: start;
    flex: 0 1 auto;
    gap: 0.34rem;
    grid-area: copy;
    min-width: 0;
    width: 100%;
  }

  .tt-forms-responsive-header .cu-page-title,
  .tt-forms-responsive-header .cu-page-header__eyebrow,
  .tt-forms-responsive-header .cu-page-header__subtitle,
  .tt-forms-responsive-header .cu-page-header__meta {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .tt-forms-responsive-header .cu-page-title {
    line-height: 1.06;
    text-wrap: balance;
  }

  .tt-forms-responsive-header .cu-page-header__eyebrow {
    line-height: 1.25;
  }

  .tt-forms-responsive-header .cu-page-header__stats {
    display: grid;
    flex: 0 0 auto;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    min-width: 0;
    width: 100%;
  }

  .tt-forms-responsive-header .cu-page-header__stats li {
    min-width: 0 !important;
    padding: 0.7rem 0.75rem;
  }

  .tt-forms-responsive-header .cu-page-header__stats li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .tt-forms-responsive-header .cu-page-header__actions {
    display: grid;
    flex: 0 0 auto;
    gap: 0.55rem;
    grid-template-columns: 1fr;
    margin: 0;
    min-width: 0;
    width: 100%;
  }

  .tt-forms-responsive-header .cu-page-header__actions .btn {
    min-height: 44px;
    min-width: 0;
    width: 100%;
  }

  .tt-forms-index-page .tt-form-card__actions {
    gap: 0.5rem;
    padding: 0.75rem;
  }

  .tt-forms-index-page .tt-form-action {
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    width: 44px;
  }

  .tt-forms-index-page .tt-form-submissions-action {
    flex: 1 0 100%;
    min-height: 44px;
  }
}

@media (max-width: 780px) {
  .tt-forms-builder-page .tt-forms-icon-btn {
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    width: 44px;
  }

  .tt-forms-builder-page .tt-outline-field {
    align-items: stretch;
  }

  .tt-forms-builder-page .tt-outline-field__select {
    min-height: 44px;
  }

  .tt-forms-builder-page .tt-outline-order {
    align-items: center;
    display: grid;
    flex-direction: initial;
    gap: 0.3rem;
    grid-template-columns: repeat(3, 44px);
    padding-right: 0;
  }

  .tt-forms-builder-page .tt-outline-order button {
    align-items: center;
    background: var(--cu-surface-2);
    border: 1px solid var(--cu-border);
    border-radius: 9px;
    display: inline-flex;
    font-size: 0.72rem;
    height: 44px;
    justify-content: center;
    width: 44px;
  }

  .tt-forms-builder-page .tt-outline-order .tt-outline-delete {
    display: inline-flex;
  }

  .tt-forms-builder-page .tt-outline-order .tt-outline-delete:hover,
  .tt-forms-builder-page .tt-outline-order .tt-outline-delete:focus-visible {
    background: color-mix(in srgb, var(--cu-danger) 12%, var(--cu-surface));
    border-color: color-mix(in srgb, var(--cu-danger) 55%, var(--cu-border));
    color: var(--cu-danger);
  }

  .tt-forms-builder-page .tt-builder-mobile-nav {
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  }

  .tt-forms-builder-page:has(.tt-builder-steprail.is-mobile-open) .tt-builder-mobile-nav {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 1rem));
    visibility: hidden;
  }
}

@media (max-width: 359.98px) {
  .tt-forms-responsive-header.cu-page-header {
    --cu-page-header-padding-block: 0.85rem;
    --cu-page-header-padding-inline: 0.85rem;
    --cu-page-header-title-size: 1.48rem;
    gap: 0.75rem;
  }

  .tt-forms-responsive-header .cu-page-header__identity {
    gap: 0.6rem 0.68rem;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .tt-forms-responsive-header .cu-page-header__icon {
    border-radius: 12px;
    height: 42px;
    width: 42px;
  }

  .tt-forms-responsive-header .cu-page-header__stats {
    gap: 0.45rem;
  }

  .tt-forms-responsive-header .cu-page-header__stats li {
    padding: 0.62rem;
  }
}
