:root {
  color-scheme: light;
  --background: #f6f7f9;
  --border: #d9dee7;
  --border-subtle: #e9edf3;
  --danger: #9f1c1c;
  --danger-background: #fff0f0;
  --danger-border: #efc2c2;
  --header-background: rgb(255 255 255 / 92%);
  --ink: #172033;
  --muted: #5f6b7a;
  --notice: #17653a;
  --notice-background: #edf9f1;
  --notice-border: #bfe5cd;
  --motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-fast: 140ms;
  --motion-medium: 260ms;
  --primary: #3157d5;
  --primary-border: #cbd7ff;
  --primary-dark: #2444ad;
  --primary-soft: #edf2ff;
  --sidebar-width: 14rem;
  --surface: #ffffff;
  --surface-subtle: #fbfcfe;
  --violet: #7047b8;
  --violet-background: #f3efff;
  --violet-border: #ddd2f5;
  --warning: #8a5a00;
  --warning-background: #fff6dd;
  --warning-border: #eddba5;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --background: #0e1420;
  --border: #364156;
  --border-subtle: #293449;
  --danger: #ff9b9b;
  --danger-background: #3a2027;
  --danger-border: #71404a;
  --header-background: rgb(23 30 44 / 92%);
  --ink: #eef2f8;
  --muted: #a9b4c5;
  --notice: #7dd6a0;
  --notice-background: #183429;
  --notice-border: #35644a;
  --primary: #91a9ff;
  --primary-border: #465b91;
  --primary-dark: #b7c6ff;
  --primary-soft: #202d50;
  --surface: #171e2c;
  --surface-subtle: #1c2535;
  --violet: #c7a9ff;
  --violet-background: #302647;
  --violet-border: #5d4a78;
  --warning: #f1c66f;
  --warning-background: #3a3020;
  --warning-border: #6c5933;
}

.checkbox-field {
  align-items: flex-start;
  display: flex;
  gap: 0.65rem;
}

.checkbox-field input {
  flex: 0 0 auto;
  margin-top: 0.2rem;
  width: auto;
}

.content-page {
  margin: 2rem auto 4rem;
  max-width: 48rem;
}

.content-page h2 {
  margin-top: 2rem;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--background);
  color: var(--ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  margin: 0;
}

.turbo-progress-bar {
  background: linear-gradient(90deg, var(--primary), #6e8eff);
  box-shadow: 0 0 0.7rem rgb(49 87 213 / 35%);
  height: 3px;
}

a {
  color: var(--primary);
}

a:hover {
  color: var(--primary-dark);
}

.site-header {
  align-items: center;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 0.9rem max(1rem, calc((100% - 70rem) / 2));
}

.brand {
  align-items: center;
  color: var(--ink);
  display: flex;
  gap: 0.7rem;
  font-size: 1.25rem;
  font-weight: 750;
  text-decoration: none;
}

.brand:hover {
  color: var(--ink);
}

.brand__mark {
  align-items: center;
  background: var(--primary);
  border-radius: 0.55rem;
  color: #ffffff;
  display: flex;
  font-size: 0.72rem;
  height: 2rem;
  justify-content: center;
  letter-spacing: -0.04em;
  width: 2rem;
}

.app-shell {
  min-height: 100vh;
}

.sidebar {
  background: var(--surface);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  height: 100vh;
  left: 0;
  padding: 1.35rem 1rem 1rem;
  position: fixed;
  top: 0;
  width: var(--sidebar-width);
  z-index: 10;
}

.sidebar > .brand {
  margin: 0 0.5rem 1.75rem;
}

.app-content {
  margin-left: var(--sidebar-width);
  min-width: 0;
}

.app-navigation {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.5rem;
}

.app-navigation__group {
  display: grid;
  gap: 0.25rem;
}

.app-navigation__label {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0 0.75rem 0.35rem;
  text-transform: uppercase;
}

.navigation-link,
.account-panel__link,
.account-panel__sign-out {
  align-items: center;
  border: 0;
  border-radius: 0.5rem;
  color: var(--muted);
  display: flex;
  font-size: 0.92rem;
  font-weight: 600;
  gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  text-decoration: none;
  transition: background-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease;
  width: 100%;
}

.account-panel__link {
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: left;
}

.navigation-link svg,
.account-panel__link svg,
.account-panel__sign-out svg {
  flex: 0 0 auto;
  height: 1.15rem;
  transition: transform var(--motion-fast) var(--motion-ease-out);
  width: 1.15rem;
}

.navigation-link:hover,
.account-panel__link:hover,
.account-panel__sign-out:hover {
  background: var(--background);
  box-shadow: none;
  color: var(--ink);
  transform: none;
}

.account-panel__link:focus-visible {
  background: var(--primary-soft);
  color: var(--ink);
}

.navigation-link:hover svg,
.account-panel__link:hover svg,
.account-panel__sign-out:hover svg {
  transform: translateX(2px);
}

.navigation-link:active,
.account-panel__link:active,
.account-panel__sign-out:active {
  transform: scale(0.985);
}

.navigation-link--active,
.navigation-link--active:hover {
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.account-panel {
  border-top: 1px solid var(--border-subtle);
  margin-top: auto;
  padding-top: 1rem;
}

.account-panel__organisation {
  font-size: 0.9rem;
  font-weight: 700;
  overflow: hidden;
  padding: 0 0.75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.navigation__identity {
  color: var(--muted);
  font-size: 0.78rem;
  overflow: hidden;
  padding: 0.15rem 0.75rem 0.5rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.navigation__form {
  margin: 0;
}

.account-panel__sign-out {
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.theme-toggle {
  background: transparent;
  color: var(--muted);
  text-align: left;
}

.theme-toggle:hover {
  background: var(--background);
  box-shadow: none;
  color: var(--ink);
  transform: none;
}

.theme-toggle__sun {
  display: none;
}

html[data-theme="dark"] .theme-toggle__moon {
  display: none;
}

html[data-theme="dark"] .theme-toggle__sun {
  display: block;
}

.mobile-header {
  display: none;
}

.page {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  margin: 2rem auto;
  max-width: 70rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  width: calc(100% - 2rem);
}

.page--authenticated {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0 auto;
  max-width: 75rem;
  padding: 2.5rem;
  width: 100%;
}

.flash-stack {
  display: grid;
  gap: 0.65rem;
  max-width: min(32rem, calc(100% - 2rem));
  pointer-events: none;
  position: fixed;
  right: 1rem;
  top: 1rem;
  width: 100%;
  z-index: 100;
}

.flash {
  align-items: center;
  animation: flash-enter var(--motion-medium) var(--motion-ease-out) both;
  border: 1px solid;
  border-radius: 0.65rem;
  box-shadow: 0 0.8rem 2rem rgb(8 14 28 / 20%);
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.75rem 0.8rem;
  pointer-events: auto;
  width: 100%;
}

.flash--leaving {
  animation: flash-leave 180ms ease-in forwards;
}

.flash__icon {
  display: inline-flex;
}

.flash__icon svg {
  height: 1.05rem;
  width: 1.05rem;
}

.flash__message {
  min-width: 0;
}

.flash .flash__dismiss {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: currentColor;
  display: inline-flex;
  opacity: 0.72;
  padding: 0.2rem;
}

.flash .flash__dismiss:hover {
  background: transparent;
  box-shadow: none;
  color: currentColor;
  opacity: 1;
  transform: none;
}

.flash__dismiss svg {
  height: 1rem;
  width: 1rem;
}

.flash--notice {
  background: var(--notice-background);
  border-color: var(--notice);
  color: var(--notice);
}

.flash--alert {
  background: var(--danger-background);
  border-color: var(--danger);
  color: var(--danger);
}

.sign-in-page .site-header {
  background: var(--header-background);
}

.sign-in-page .page {
  background: transparent;
  border: 0;
  max-width: 66rem;
  padding: 0;
}

.sign-in-shell {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 4rem rgb(23 32 51 / 8%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  min-height: 32rem;
  overflow: hidden;
}

.sign-in-introduction {
  background:
    radial-gradient(circle at 10% 10%, rgb(255 255 255 / 18%), transparent 36%),
    linear-gradient(145deg, #3157d5 0%, #2444ad 100%);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.sign-in-introduction__eyebrow,
.sign-in-panel__eyebrow {
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.sign-in-introduction__eyebrow {
  color: #dbe4ff;
}

.sign-in-introduction h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
  max-width: 10ch;
}

.sign-in-introduction__summary {
  color: #e8edff;
  font-size: 1.02rem;
  margin: 1.25rem 0 0;
  max-width: 29rem;
}

.sign-in-benefits {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 2.25rem 0 0;
  padding: 0;
}

.sign-in-benefits li {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.sign-in-benefits svg {
  background: rgb(255 255 255 / 14%);
  border-radius: 0.5rem;
  box-sizing: content-box;
  flex: 0 0 auto;
  height: 1.05rem;
  padding: 0.5rem;
  width: 1.05rem;
}

.sign-in-panel {
  align-self: center;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.sign-in-panel__eyebrow {
  color: var(--primary);
}

.sign-in-panel h1 {
  font-size: 2rem;
  letter-spacing: -0.025em;
  margin: 0;
}

.sign-in-panel__introduction {
  color: var(--muted);
  margin: 0.4rem 0 1.75rem;
}

.sign-in-form {
  display: grid;
  gap: 1.15rem;
}

.sign-in-form label {
  margin: 0 0 0.4rem;
}

.sign-in-form input[type="email"],
.sign-in-form input[type="password"] {
  max-width: none;
}

.sign-in-form input[type="submit"] {
  margin-top: 0.25rem;
  padding: 0.7rem 1rem;
  width: 100%;
}

.sign-in-form__label-row {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.sign-in-form__label-row a {
  font-size: 0.88rem;
}

.sign-in-panel__note {
  border-top: 1px solid var(--border-subtle);
  color: var(--muted);
  font-size: 0.82rem;
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
}

.button,
button,
input[type="submit"] {
  background: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 0.4rem;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  padding: 0.45rem 0.8rem;
  transition:
    background-color var(--motion-fast) ease,
    border-color var(--motion-fast) ease,
    box-shadow var(--motion-fast) ease,
    color var(--motion-fast) ease,
    transform var(--motion-fast) var(--motion-ease-out);
}

.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--primary-dark);
  box-shadow: 0 0.3rem 0.8rem rgb(23 32 51 / 12%);
  transform: translateY(-1px);
}

.button:active,
button:active,
input[type="submit"]:active {
  box-shadow: none;
  transform: scale(0.985);
}

.button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible {
  box-shadow: 0 0 0 3px rgb(49 87 213 / 20%);
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.button:disabled,
button:disabled,
input[type="submit"]:disabled {
  box-shadow: none;
  cursor: wait;
  opacity: 0.62;
  transform: none;
}

.button--secondary {
  background: var(--surface);
  color: var(--ink);
}

.button--secondary:hover {
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.button--with-icon {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
}

.button--with-icon svg {
  height: 1rem;
  width: 1rem;
}

.button--danger {
  background: var(--surface);
  border-color: var(--danger);
  color: var(--danger);
}

.button--danger:hover {
  background: var(--danger-background);
  color: var(--danger);
}

a.button {
  display: inline-block;
  text-decoration: none;
}

a.button:hover {
  color: #ffffff;
}

a.button--secondary:hover {
  color: var(--primary-dark);
}

a.button--danger:hover {
  color: var(--danger);
}

.page-heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.page-heading h1,
.page-heading p {
  margin-top: 0;
}

.page-heading__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.form-actions,
.table-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.form-errors {
  background: var(--danger-background);
  border: 1px solid var(--danger);
  border-radius: 0.5rem;
  color: var(--danger);
  padding: 0.75rem 1rem;
}

.form-errors h2 {
  font-size: 1rem;
  margin-top: 0;
}

.inline-form {
  margin: 0;
}

.table-wrapper {
  overflow-x: auto;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--border);
  padding: 0.75rem;
  text-align: left;
  vertical-align: middle;
}

th {
  color: var(--muted);
  font-size: 0.85rem;
  text-transform: uppercase;
}

.table-actions {
  justify-content: flex-end;
  margin: 0;
}

.empty-state {
  background:
    radial-gradient(circle at 50% 0, rgb(49 87 213 / 7%), transparent 16rem),
    var(--surface);
  border: 1px dashed var(--border);
  border-radius: 0.85rem;
  padding: clamp(2rem, 5vw, 3rem);
  text-align: center;
}

.empty-state h2,
.empty-state h3,
.empty-state p {
  margin: 0;
}

.empty-state h2,
.empty-state h3 {
  font-size: 1.15rem;
  letter-spacing: -0.01em;
}

.empty-state p {
  color: var(--muted);
  margin: 0.4rem auto 0;
  max-width: 34rem;
}

.empty-state__icon {
  align-items: center;
  background: var(--primary-soft);
  border: 1px solid var(--primary-border);
  border-radius: 0.7rem;
  color: var(--primary);
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  margin-bottom: 0.9rem;
  width: 3rem;
}

.empty-state__icon svg {
  height: 1.35rem;
  width: 1.35rem;
}

.empty-state__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.row-errors {
  color: var(--danger);
  margin: 0;
  padding-left: 1.25rem;
}

.dashboard-hero {
  animation: interface-enter var(--motion-medium) var(--motion-ease-out) both;
  align-items: center;
  background:
    radial-gradient(circle at 86% 15%, rgb(49 87 213 / 14%), transparent 19rem),
    linear-gradient(135deg, var(--surface), var(--surface-subtle));
  border: 1px solid var(--primary-border);
  border-radius: 1rem;
  box-shadow: 0 0.7rem 2rem rgb(23 32 51 / 7%);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  position: relative;
}

.dashboard-hero > div {
  position: relative;
  z-index: 1;
}

.dashboard-hero__eyebrow {
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
}

.dashboard-hero h1 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
}

.dashboard-hero__summary {
  color: var(--muted);
  font-size: 1.02rem;
  margin: 0.8rem 0 0;
  max-width: 45rem;
}

.dashboard-hero__actions {
  flex: 0 0 auto;
}

.dashboard-outcomes {
  animation: interface-enter var(--motion-medium) 50ms var(--motion-ease-out) both;
  margin-top: 1.75rem;
}

.dashboard-section-title {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.dashboard-section-title h2,
.dashboard-section-title p {
  margin: 0;
}

.dashboard-section-title h2 {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}

.dashboard-section-title p {
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  margin-bottom: 0.15rem;
  text-transform: uppercase;
}

.dashboard-section-title > span {
  color: var(--muted);
  font-size: 0.8rem;
}

.outcome-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.outcome-card {
  align-items: flex-start;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.35rem 1.4rem rgb(23 32 51 / 4%);
  display: flex;
  gap: 1rem;
  min-width: 0;
  padding: 1.25rem;
  transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--motion-ease-out);
}

.outcome-card:hover {
  border-color: var(--primary-border);
  box-shadow: 0 0.65rem 1.6rem rgb(23 32 51 / 8%);
  transform: translateY(-2px);
}

.outcome-card__icon {
  align-items: center;
  background: var(--notice-background);
  border-radius: 0.65rem;
  color: var(--notice);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.7rem;
  justify-content: center;
  width: 2.7rem;
}

.outcome-card--understanding .outcome-card__icon {
  background: var(--primary-soft);
  color: var(--primary);
}

.outcome-card--attention .outcome-card__icon {
  background: var(--warning-background);
  color: var(--warning);
}

.outcome-card__icon svg {
  height: 1.25rem;
  width: 1.25rem;
}

.outcome-card__label,
.outcome-card__value,
.outcome-card__context {
  margin: 0;
}

.outcome-card__label {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.outcome-card__value {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-top: 0.35rem;
}

.outcome-card__context {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.4;
  margin-top: 0.45rem;
}

.dashboard-workspace {
  animation: interface-enter var(--motion-medium) 90ms var(--motion-ease-out) both;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin-top: 1rem;
  padding: 1rem 1.15rem;
}

.dashboard-workspace__heading {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.dashboard-workspace__icon {
  align-items: center;
  background: var(--background);
  border-radius: 0.55rem;
  color: var(--muted);
  display: inline-flex;
  height: 2.3rem;
  justify-content: center;
  width: 2.3rem;
}

.dashboard-workspace__icon svg {
  height: 1.1rem;
  width: 1.1rem;
}

.dashboard-workspace__heading h2,
.dashboard-workspace__heading p {
  margin: 0;
}

.dashboard-workspace__heading h2 {
  font-size: 0.95rem;
}

.dashboard-workspace__heading p {
  color: var(--muted);
  font-size: 0.76rem;
  margin-top: 0.1rem;
}

.dashboard-workspace__stats {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.dashboard-workspace__stats div {
  border-left: 1px solid var(--border-subtle);
  padding-left: 1rem;
}

.dashboard-workspace__stats dt {
  color: var(--muted);
  font-size: 0.72rem;
}

.dashboard-workspace__stats dd {
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0.1rem 0 0;
}

.dashboard-workspace__links {
  display: flex;
  font-size: 0.82rem;
  gap: 0.75rem;
}

.dashboard-setup-callout {
  animation: interface-enter var(--motion-medium) 120ms var(--motion-ease-out) both;
  align-items: center;
  background: var(--primary-soft);
  border: 1px solid var(--primary-border);
  border-radius: 0.75rem;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
}

.dashboard-setup-callout__icon {
  align-items: center;
  background: var(--surface);
  border-radius: 0.65rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.dashboard-setup-callout__icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.dashboard-setup-callout > div {
  flex: 1;
}

.dashboard-setup-callout h2,
.dashboard-setup-callout p {
  margin: 0;
}

.dashboard-setup-callout h2 {
  font-size: 1.1rem;
  margin-bottom: 0.2rem;
}

.dashboard-section {
  animation: interface-enter var(--motion-medium) 140ms var(--motion-ease-out) both;
  border-top: 1px solid var(--border);
  margin-top: 2.5rem;
  padding-top: 2rem;
}

.dashboard-published {
  animation-delay: 180ms;
}

.dashboard-send-list {
  display: grid;
  gap: 0.85rem;
}

.dashboard-send-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.35rem 1.4rem rgb(23 32 51 / 4%);
  overflow: hidden;
  transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--motion-ease-out);
}

.dashboard-send-card:hover {
  box-shadow: 0 0.65rem 1.6rem rgb(23 32 51 / 8%);
  transform: translateY(-2px);
}

.dashboard-send-card--positive {
  border-left-color: var(--notice);
}

.dashboard-send-card--mixed {
  border-left-color: var(--warning);
}

.dashboard-send-card--negative {
  border-left-color: var(--danger);
}

.dashboard-send-card__header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.15rem 1.25rem;
}

.dashboard-send-card__identity {
  align-items: flex-start;
  display: flex;
  gap: 0.85rem;
  min-width: 0;
}

.dashboard-send-card__icon,
.dashboard-published-card__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.6rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.45rem;
  justify-content: center;
  width: 2.45rem;
}

.dashboard-send-card__icon svg,
.dashboard-published-card__icon svg {
  height: 1.15rem;
  width: 1.15rem;
}

.dashboard-send-card__status {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}

.dashboard-attention-badge,
.dashboard-positive-badge {
  background: var(--warning-background);
  border-radius: 999px;
  color: var(--warning);
  font-size: 0.7rem;
  font-weight: 750;
  padding: 0.3rem 0.55rem;
}

.dashboard-positive-badge {
  background: var(--notice-background);
  color: var(--notice);
}

.dashboard-send-card h3,
.dashboard-send-card p {
  margin: 0;
}

.dashboard-send-card h3 {
  font-size: 1.05rem;
}

.dashboard-send-card__identity p {
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 0.2rem;
}

.dashboard-send-card__metrics {
  background: var(--surface-subtle);
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1rem 1.25rem 1.15rem 4.55rem;
}

.dashboard-send-metric > div {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.dashboard-send-metric span,
.dashboard-send-metric small {
  color: var(--muted);
  font-size: 0.76rem;
}

.dashboard-send-metric strong {
  font-size: 1rem;
}

.dashboard-send-metric progress {
  accent-color: var(--primary);
  animation: progress-enter 420ms 180ms var(--motion-ease-out) both;
  display: block;
  height: 0.55rem;
  margin: 0.45rem 0 0.3rem;
  width: 100%;
}

.dashboard-send-metric--positive progress {
  accent-color: var(--notice);
}

.dashboard-send-metric--mixed progress {
  accent-color: var(--warning);
}

.dashboard-send-metric--negative progress {
  accent-color: var(--danger);
}

.dashboard-empty-state {
  background: var(--surface);
  padding: 1.5rem;
}

.dashboard-published-list {
  display: grid;
  gap: 0.7rem;
}

.dashboard-published-card {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.8rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1rem 1.15rem;
  transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) var(--motion-ease-out);
}

.dashboard-published-card:hover {
  border-color: var(--primary-border);
  box-shadow: 0 0.55rem 1.35rem rgb(23 32 51 / 8%);
  transform: translateY(-1px);
}

.dashboard-published-card h3,
.dashboard-published-card p {
  margin: 0;
}

.dashboard-published-card h3 {
  font-size: 1rem;
}

.dashboard-published-card p {
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 0.2rem;
}

.dashboard-published-card .tag-badges {
  margin-top: 0.5rem;
}

.dashboard-published-card__actions {
  display: flex;
  gap: 0.55rem;
}

.dashboard-maker {
  align-items: center;
  border-top: 1px solid var(--border-subtle);
  color: var(--muted);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-top: 2.5rem;
  padding: 1.5rem 0 0.25rem;
}

.dashboard-maker__identity {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.dashboard-maker__mark {
  align-items: center;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  color: var(--ink);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.68rem;
  font-weight: 800;
  height: 2rem;
  justify-content: center;
  letter-spacing: -0.03em;
  width: 2rem;
}

.dashboard-maker strong,
.dashboard-maker p {
  display: block;
  margin: 0;
}

.dashboard-maker strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.dashboard-maker__identity div > span,
.dashboard-maker p {
  font-size: 0.76rem;
  line-height: 1.45;
}

.dashboard-maker__identity div > span {
  display: block;
  margin: 0;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  left: 0;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

input[type="email"],
input[type="password"],
input[type="text"],
textarea {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  font: inherit;
  line-height: 1.45;
  max-width: 32rem;
  padding: 0.7rem 0.8rem;
  transition: border-color 120ms ease, box-shadow 120ms ease;
  width: 100%;
}

input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 14%);
  outline: 0;
}

textarea {
  overflow-y: auto;
  resize: none;
}

label {
  display: block;
  font-weight: 650;
  margin: 1rem 0 0.3rem;
}

fieldset {
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  margin: 1.5rem 0 0;
  padding: 1rem;
}

legend {
  font-weight: 650;
  padding: 0 0.35rem;
}

.checkbox-field {
  align-items: baseline;
  display: flex;
  gap: 0.5rem;
  margin: 0.5rem 0;
}

.checkbox-field label {
  display: inline;
  font-weight: 400;
  margin: 0;
}

.field-help {
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 0.35rem;
}

.tap-questions {
  border-top: 1px solid var(--border);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}

.tap-editor-hero {
  background:
    radial-gradient(circle at 90% 10%, rgb(112 71 184 / 11%), transparent 17rem),
    linear-gradient(135deg, var(--surface), var(--surface-subtle));
  border: 1px solid var(--primary-border);
  border-radius: 1rem;
  box-shadow: 0 0.65rem 2rem rgb(23 32 51 / 6%);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 1rem;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  position: relative;
}

.tap-editor-hero__content,
.tap-editor-hero__actions {
  position: relative;
  z-index: 1;
}

.tap-editor-hero__status {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 0.65rem;
  margin-bottom: 0.9rem;
}

.tap-editor-hero__status .status-badge {
  align-items: center;
  gap: 0.35rem;
}

.tap-editor-hero__status svg {
  height: 0.85rem;
  width: 0.85rem;
}

.tap-editor-hero h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin: 0;
}

.tap-editor-hero__content > p {
  color: var(--muted);
  margin: 0.75rem 0 0;
  max-width: 42rem;
}

.tap-editor-hero__actions {
  align-content: start;
  align-items: stretch;
  display: grid;
  flex: none;
  min-width: 12rem;
}

.tap-editor-hero__actions form,
.tap-editor-hero__actions form .button,
.tap-editor-hero__actions > .button {
  width: 100%;
}

.tap-editor-hero__actions .button {
  justify-content: center;
}

.tap-editor-hero__back {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 650;
  gap: 0.4rem;
  justify-content: center;
  margin-top: 0.2rem;
  padding: 0.4rem;
  text-decoration: none;
}

.tap-editor-hero__back:hover {
  color: var(--primary);
}

.tap-editor-hero__back svg {
  height: 0.95rem;
  width: 0.95rem;
}

.tap-editor-progress {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.3rem 1.25rem rgb(23 32 51 / 4%);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 1.25rem;
  overflow: hidden;
  padding: 0;
}

.tap-editor-progress__step {
  align-items: center;
  border-left: 1px solid var(--border-subtle);
  color: var(--muted);
  display: flex;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.9rem 1rem;
}

.tap-editor-progress__step:first-child {
  border-left: 0;
}

.tap-editor-progress__step > span {
  align-items: center;
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 1.8rem;
  font-size: 0.75rem;
  font-weight: 800;
  height: 1.8rem;
  justify-content: center;
  width: 1.8rem;
}

.tap-editor-progress__step > span svg {
  height: 0.9rem;
  width: 0.9rem;
}

.tap-editor-progress__step strong,
.tap-editor-progress__step small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tap-editor-progress__step strong {
  color: var(--ink);
  font-size: 0.82rem;
}

.tap-editor-progress__step small {
  font-size: 0.72rem;
  margin-top: 0.1rem;
}

.tap-editor-progress__step--complete > span {
  background: var(--notice-background);
  border-color: var(--notice-border);
  color: var(--notice);
}

.tap-editor-progress__step--current {
  background: var(--primary-soft);
}

.tap-editor-progress__step--current > span {
  background: var(--primary);
  border-color: var(--primary);
  color: #ffffff;
}

.tap-editor-progress__step--ready {
  background: var(--violet-background);
}

.tap-editor-progress__step--ready > span {
  background: var(--violet);
  border-color: var(--violet);
  color: #ffffff;
}

.tap-editor-heading {
  margin-bottom: 1.75rem;
}

.tap-editor-heading p:last-child {
  margin-bottom: 0;
}

.tap-editor-stack {
  display: grid;
  gap: 1.25rem;
}

.editor-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.9rem;
  box-shadow: 0 0.35rem 1.4rem rgb(23 32 51 / 4%);
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.editor-panel__heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.editor-panel__heading h2,
.editor-panel__heading p {
  margin-top: 0;
}

.editor-panel__heading p {
  color: var(--muted);
  margin-bottom: 0;
}

.editor-panel__identity {
  align-items: flex-start;
  display: flex;
  gap: 0.9rem;
}

.editor-panel__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.65rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.editor-panel__icon--questions {
  background: var(--violet-background);
  color: var(--violet);
}

.editor-panel__icon--versions {
  background: var(--background);
  color: var(--muted);
  height: 2.25rem;
  width: 2.25rem;
}

.editor-panel__icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.tap-editor-form input[type="text"],
.tap-editor-form textarea {
  max-width: none;
}

.tap-setup-panel form {
  max-width: 60rem;
}

.tap-setup-panel input[type="text"],
.tap-setup-panel textarea {
  max-width: none;
}

.text-area--short {
  height: 7.5rem;
}

.text-area--source {
  height: 12rem;
}

.text-area--setup {
  height: 16rem;
}

.text-area--checklist {
  height: 10rem;
}

.tap-editor-grid {
  display: grid;
  gap: 1.25rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-field label {
  margin-top: 0;
}

.form-field textarea {
  display: block;
}

.form-field .field-help {
  margin-bottom: 0;
}

.form-field--wide {
  grid-column: 1 / -1;
}

.form-section-heading {
  align-items: center;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  gap: 0.85rem;
  margin-top: 0.25rem;
  padding-top: 1.5rem;
}

.form-section-heading--starting {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.form-section-heading--generated {
  margin-top: 0.75rem;
}

.form-section-heading__icon {
  align-items: center;
  background: var(--background);
  border-radius: 0.55rem;
  color: var(--muted);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.25rem;
  justify-content: center;
  width: 2.25rem;
}

.form-section-heading--generated .form-section-heading__icon {
  background: var(--violet-background);
  color: var(--violet);
}

.form-section-heading__icon svg {
  height: 1.1rem;
  width: 1.1rem;
}

.form-section-heading > div {
  min-width: 0;
}

.form-section-heading > .status-badge {
  margin-left: auto;
}

.form-section-heading h3 {
  margin: 0 0 0.25rem;
}

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

.editor-field-card {
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 0.7rem;
  padding: 1rem;
}

.editor-field-card--source {
  background: var(--surface);
  border-color: var(--border);
}

.editor-field-card--generated {
  background: linear-gradient(145deg, var(--surface), var(--surface-subtle));
  border-color: var(--border);
}

.editor-callout {
  align-items: center;
  background: var(--primary-soft);
  border: 1px solid var(--primary-border);
  border-radius: 0.65rem;
  border-color: var(--primary-border);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding-block: 1.25rem;
}

.tap-editor-form > .form-actions {
  border-top: 1px solid var(--border-subtle);
  justify-content: flex-end;
  padding-top: 1.25rem;
}

.editor-callout--inline {
  margin: 0.25rem 0;
  padding: 1.25rem;
}

.editor-callout__content {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}

.editor-callout__icon {
  align-items: center;
  background: var(--surface);
  border-radius: 0.6rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.editor-callout__icon svg {
  height: 1.25rem;
  width: 1.25rem;
}

.editor-callout h2 {
  font-size: 1.1rem;
  margin: 0 0 0.25rem;
}

.editor-callout p {
  color: var(--muted);
  margin: 0;
}

.editor-callout form {
  flex: 0 0 auto;
  margin: 0;
}

.editor-callout > .button {
  flex: 0 0 auto;
}

.confirmation-dialog {
  background: var(--surface);
  border: 0;
  border-radius: 0.9rem;
  box-shadow: 0 1.5rem 4rem rgb(23 32 51 / 25%);
  color: var(--ink);
  max-width: 34rem;
  padding: 1.75rem;
  width: calc(100% - 2rem);
}

.confirmation-dialog::backdrop {
  background: rgb(23 32 51 / 55%);
  backdrop-filter: blur(3px);
}

.confirmation-dialog__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.confirmation-dialog__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.7rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 3rem;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.confirmation-dialog__icon svg {
  height: 1.4rem;
  width: 1.4rem;
}

.confirmation-dialog__icon--publish {
  background: var(--notice-background);
  color: var(--notice);
}

.confirmation-dialog__eyebrow {
  color: var(--primary);
  display: block;
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  margin-bottom: 0.1rem;
  text-transform: uppercase;
}

.confirmation-dialog h2 {
  font-size: 1.35rem;
  margin: 0;
}

.confirmation-dialog > p {
  color: var(--muted);
  margin: 0;
}

.confirmation-dialog__change {
  align-items: flex-start;
  background: var(--background);
  border: 1px solid var(--border-subtle);
  border-radius: 0.65rem;
  display: flex;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding: 0.9rem 1rem;
}

.confirmation-dialog__change > svg {
  color: var(--primary);
  flex: 0 0 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  width: 1.15rem;
}

.confirmation-dialog__change--publish {
  background: var(--notice-background);
  border-color: var(--notice-border);
}

.confirmation-dialog__change--publish > svg {
  color: var(--notice);
}

.confirmation-dialog--publish .confirmation-dialog__eyebrow {
  color: var(--notice);
}

.confirmation-dialog__change p,
.confirmation-dialog__change strong,
.confirmation-dialog__change span {
  display: block;
  margin: 0;
}

.confirmation-dialog__change span {
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 0.15rem;
}

.confirmation-dialog__actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.feedback-dialog {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 4rem rgb(23 32 51 / 28%);
  color: var(--ink);
  max-width: 35rem;
  padding: 1.75rem;
  width: calc(100% - 2rem);
}

.feedback-dialog::backdrop {
  backdrop-filter: blur(4px);
  background: rgb(23 32 51 / 58%);
}

.feedback-dialog__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.feedback-dialog__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.75rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 3rem;
  height: 3rem;
  justify-content: center;
}

.feedback-dialog__icon svg {
  height: 1.4rem;
  width: 1.4rem;
}

.feedback-dialog__eyebrow {
  color: var(--primary);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  margin-bottom: 0.1rem;
  text-transform: uppercase;
}

.feedback-dialog h2,
.feedback-dialog > p {
  margin: 0;
}

.feedback-dialog h2 {
  font-size: 1.4rem;
}

.feedback-dialog > p {
  color: var(--muted);
  line-height: 1.5;
  margin-top: 1rem;
}

.feedback-dialog > p strong {
  color: var(--ink);
}

.feedback-dialog__form {
  margin-top: 1.25rem;
}

.feedback-dialog__form label {
  font-size: 0.88rem;
  margin-top: 0;
}

.feedback-dialog__form .form-field + .form-field {
  margin-top: 1rem;
}

.feedback-dialog__form select,
.feedback-dialog__form textarea {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  color: var(--ink);
  font: inherit;
  max-width: none;
  padding: 0.7rem 0.8rem;
  width: 100%;
}

.feedback-dialog__form select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 14%);
  outline: 0;
}

.feedback-dialog__form .field-help {
  font-size: 0.78rem;
}

.feedback-dialog__actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.generation-dialog {
  align-items: center;
  background: var(--surface);
  border: 0;
  border-radius: 0.85rem;
  box-shadow: 0 1.5rem 4rem rgb(23 32 51 / 25%);
  color: var(--ink);
  gap: 1.25rem;
  max-width: 30rem;
  padding: 1.75rem;
  width: calc(100% - 2rem);
}

.generation-dialog[open] {
  display: flex;
}

.generation-dialog::backdrop {
  background: rgb(23 32 51 / 52%);
  backdrop-filter: blur(2px);
}

.generation-dialog h2 {
  font-size: 1.2rem;
  margin: 0 0 0.25rem;
}

.generation-dialog p {
  color: var(--muted);
  margin: 0;
}

.generation-dialog__cogs {
  flex: 0 0 4rem;
  height: 3.5rem;
  position: relative;
  width: 4rem;
}

.generation-dialog__cogs svg {
  animation: cog-turn 2.4s linear infinite;
  color: var(--primary);
  height: 2.6rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 2.6rem;
}

.generation-dialog__cogs svg + svg {
  animation-direction: reverse;
  animation-duration: 1.8s;
  height: 2rem;
  left: 2rem;
  top: 1.65rem;
  width: 2rem;
}

@keyframes cog-turn {
  to {
    transform: rotate(360deg);
  }
}

.question-editor-heading {
  margin-bottom: 1.25rem;
}

.question-editor-context {
  align-items: center;
  color: var(--muted);
  display: flex;
  gap: 0.65rem;
  margin-bottom: 0;
}

.question-editor-context span {
  border-left: 1px solid var(--border);
  padding-left: 0.65rem;
}

.question-editor-panel {
  max-width: 64rem;
}

.question-editor-form input[type="text"],
.question-editor-form textarea {
  max-width: none;
  width: 100%;
}

.answer-options {
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 0.65rem;
  margin: 1.5rem 0 0;
  padding: 1.25rem;
}

.answer-options legend {
  font-weight: 700;
  padding: 0 0.4rem;
}

.answer-options > .field-help {
  margin: 0 0 1rem;
}

.answer-option-row {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1.25rem 5rem minmax(0, 1fr);
  margin: 0.65rem 0;
  padding: 0.65rem 0.75rem;
}

.answer-option-row:has(input[type="radio"]:checked) {
  background: var(--primary-soft);
  border-color: var(--primary);
}

.answer-option-row input[type="radio"] {
  height: 1rem;
  margin: 0;
  width: 1rem;
}

.answer-option-row label {
  margin: 0;
}

.answer-option-row input[type="text"] {
  max-width: none;
}

.question-editor-form__explanation {
  margin-top: 1.5rem;
}

.question-editor-remove {
  border-top: 1px solid var(--border-subtle);
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
}

.question-list {
  display: grid;
  gap: 0.7rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.question-list li {
  align-items: center;
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 0.7rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  padding: 0.9rem 1rem;
}

.question-list li:first-child {
  padding-top: 0.9rem;
}

.question-list li:last-child {
  padding-bottom: 0.9rem;
}

.question-list__number {
  align-items: center;
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--muted);
  display: flex;
  font-size: 0.78rem;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.question-list__content {
  min-width: 0;
}

.question-list p {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  margin: 0.25rem 0 0;
}

.question-list__correct {
  align-items: center;
  color: var(--notice);
  display: inline-flex;
  font-size: 0.82rem;
  gap: 0.3rem;
}

.question-list__correct svg {
  height: 0.9rem;
  width: 0.9rem;
}

.question-list__action {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  text-decoration: none;
}

.question-list__action svg {
  height: 1rem;
  width: 1rem;
}

.editor-panel--collapsible {
  padding: 0;
}

.editor-panel--collapsible summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 1.05rem;
  font-weight: 700;
  gap: 0.65rem;
  list-style: none;
  padding: 1.25rem 1.5rem;
}

.editor-panel--collapsible summary::-webkit-details-marker {
  display: none;
}

.editor-panel--collapsible summary > svg {
  color: var(--muted);
  height: 1.1rem;
  margin-left: auto;
  transition: transform 120ms ease;
  width: 1.1rem;
}

.editor-panel--collapsible[open] summary > svg {
  transform: rotate(180deg);
}

.editor-panel__count {
  align-items: center;
  background: var(--background);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.75rem;
  height: 1.5rem;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0 0.4rem;
}

.editor-panel__collapsible-content {
  border-top: 1px solid var(--border-subtle);
  padding: 0 1.5rem 1.25rem;
}

.version-list {
  list-style: none;
  padding: 0;
}

.version-list li {
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: space-between;
  padding: 0.75rem 0;
}

.version-list span {
  color: var(--muted);
}

.print-document-header {
  display: none;
}

.tap-version-hero {
  background:
    radial-gradient(circle at 92% 18%, rgb(49 87 213 / 12%), transparent 18rem),
    linear-gradient(135deg, var(--surface) 0%, var(--surface-subtle) 100%);
  border: 1px solid var(--primary-border);
  border-radius: 1rem;
  box-shadow: 0 0.7rem 2rem rgb(23 32 51 / 7%);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  position: relative;
}

.tap-version-hero__content,
.tap-version-hero__actions {
  position: relative;
  z-index: 1;
}

.tap-version-hero__status {
  margin-bottom: 1rem;
}

.tap-version-hero__status .status-badge {
  align-items: center;
  gap: 0.4rem;
}

.tap-version-hero__status svg {
  height: 0.9rem;
  width: 0.9rem;
}

.tap-version-hero h1 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
  max-width: 22ch;
}

.tap-version-hero__meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.84rem;
  gap: 0.6rem 1.25rem;
  margin-top: 1.2rem;
}

.tap-version-hero__meta span {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
}

.tap-version-hero__meta svg {
  height: 0.95rem;
  width: 0.95rem;
}

.tap-version-hero .tag-badges {
  margin-top: 1rem;
}

.tap-version-hero__actions {
  align-content: start;
  align-items: stretch;
  display: grid;
  flex: none;
  min-width: 10.5rem;
}

.tap-version-hero__actions .button {
  justify-content: center;
  text-align: center;
}

.tap-version-hero__back {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 650;
  gap: 0.4rem;
  justify-content: center;
  margin-top: 0.25rem;
  padding: 0.35rem;
  text-decoration: none;
}

.tap-version-hero__back:hover {
  color: var(--primary);
}

.tap-version-hero__back svg {
  height: 0.95rem;
  width: 0.95rem;
}

.tap-document {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1.75rem rgb(23 32 51 / 5%);
  margin: 0 auto;
  max-width: 62rem;
  padding: clamp(1.4rem, 4vw, 3rem);
}

.tap-objective {
  background: linear-gradient(135deg, var(--primary-soft), var(--surface-subtle));
  border: 1px solid var(--primary-border);
  border-radius: 0.85rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.35rem 1.5rem;
}

.tap-objective__icon,
.tap-section__icon,
.tap-source__icon {
  align-items: center;
  border-radius: 0.65rem;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}

.tap-objective__icon {
  background: var(--primary);
  color: #ffffff;
  height: 2.65rem;
  width: 2.65rem;
}

.tap-objective__icon svg {
  height: 1.3rem;
  width: 1.3rem;
}

.tap-objective h2 {
  color: var(--primary-dark);
  font-size: 0.78rem;
  letter-spacing: 0.07em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.tap-objective p {
  font-size: 1.12rem;
  line-height: 1.55;
  margin: 0;
}

.tap-section {
  border-top: 1px solid var(--border-subtle);
  margin-top: 2.25rem;
  padding-top: 2.25rem;
}

.tap-section__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.tap-section__icon {
  background: var(--primary-soft);
  color: var(--primary);
  height: 2.7rem;
  width: 2.7rem;
}

.tap-section__icon--checklist {
  background: var(--notice-background);
  color: var(--notice);
}

.tap-section__icon--questions {
  background: var(--violet-background);
  color: var(--violet);
}

.tap-section__icon svg {
  height: 1.3rem;
  width: 1.3rem;
}

.tap-section__heading p,
.tap-section__heading h2 {
  margin: 0;
}

.tap-section__heading p {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tap-section__heading h2 {
  font-size: 1.45rem;
  letter-spacing: -0.02em;
  margin-top: 0.05rem;
}

.tap-section__content {
  font-size: 1.02rem;
  line-height: 1.65;
  margin: 1rem 0 0 3.7rem;
}

.tap-section__content > :first-child {
  margin-top: 0;
}

.tap-section__content > :last-child {
  margin-bottom: 0;
}

.tap-version-checklist {
  counter-reset: tap-step;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 1.35rem 0 0 3.7rem;
  padding: 0;
}

.tap-version-checklist li {
  counter-increment: tap-step;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  margin: 0;
  padding: 0 0 1rem;
  position: relative;
}

.tap-version-checklist li::before {
  align-items: center;
  background: var(--notice-background);
  border: 1px solid var(--notice-border);
  border-radius: 50%;
  color: var(--notice);
  content: counter(tap-step);
  display: flex;
  font-size: 0.78rem;
  font-weight: 800;
  height: 2rem;
  justify-content: center;
  position: relative;
  width: 2rem;
  z-index: 1;
}

.tap-version-checklist li::after {
  background: var(--notice-background);
  content: "";
  height: calc(100% - 1rem);
  left: calc(1rem - 0.5px);
  position: absolute;
  top: 2rem;
  width: 1px;
}

.tap-version-checklist li:last-child::after {
  display: none;
}

.tap-version-checklist li span {
  line-height: 1.55;
  padding-top: 0.2rem;
}

.tap-question-list {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.published-questions > .tap-question-card {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 0.8rem;
  overflow: hidden;
  padding: 0;
}

.tap-question-card__heading {
  background: var(--surface);
  border-bottom: 1px solid var(--border-subtle);
  padding: 1.25rem 1.35rem;
}

.tap-question-card__heading > span {
  color: var(--violet);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.tap-question-card__heading h3 {
  font-size: 1.05rem;
  line-height: 1.45;
  margin: 0;
}

.tap-answer-list {
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 1rem 1.35rem;
}

.tap-answer {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: 0.6rem;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1.75rem minmax(0, 1fr) auto;
  padding: 0.7rem 0.8rem;
}

.tap-answer__letter {
  align-items: center;
  background: var(--background);
  border-radius: 0.4rem;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  height: 1.75rem;
  justify-content: center;
  width: 1.75rem;
}

.tap-answer.answer-option--correct {
  background: var(--notice-background);
  border-color: var(--notice-border);
  color: var(--ink);
}

.answer-option--correct .tap-answer__letter {
  background: var(--notice);
  color: #ffffff;
}

.tap-answer__correct {
  align-items: center;
  color: var(--notice);
  display: inline-flex;
  font-size: 0.76rem;
  gap: 0.3rem;
}

.tap-answer__correct svg {
  height: 0.95rem;
  width: 0.95rem;
}

.tap-question-card__explanation {
  align-items: flex-start;
  background: var(--warning-background);
  border-top: 1px solid var(--warning);
  color: var(--warning);
  display: flex;
  gap: 0.75rem;
  padding: 0.95rem 1.35rem;
}

.tap-question-card__explanation > svg {
  color: var(--warning);
  flex: 0 0 auto;
  height: 1.05rem;
  margin-top: 0.15rem;
  width: 1.05rem;
}

.tap-question-card__explanation p,
.tap-question-card__explanation strong,
.tap-question-card__explanation span {
  display: block;
  margin: 0;
}

.tap-question-card__explanation strong {
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}

.tap-question-card__explanation span {
  line-height: 1.5;
}

.tap-source {
  border: 1px solid var(--border);
  border-radius: 0.8rem;
  margin-top: 2.25rem;
  overflow: hidden;
}

.tap-source summary {
  align-items: center;
  background: var(--surface-subtle);
  cursor: pointer;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  list-style: none;
  padding: 1rem 1.15rem;
}

.tap-source summary::-webkit-details-marker {
  display: none;
}

.tap-source summary:hover {
  background: var(--background);
}

.tap-source__icon {
  background: var(--background);
  color: var(--muted);
  height: 2.25rem;
  width: 2.25rem;
}

.tap-source__icon svg {
  height: 1.05rem;
  width: 1.05rem;
}

.tap-source summary strong,
.tap-source summary small {
  display: block;
}

.tap-source summary small {
  color: var(--muted);
  margin-top: 0.1rem;
}

.tap-source__chevron {
  color: var(--muted);
  height: 1.05rem;
  transition: transform 160ms ease;
  width: 1.05rem;
}

.tap-source[open] .tap-source__chevron {
  transform: rotate(180deg);
}

.tap-source__content {
  border-top: 1px solid var(--border-subtle);
  line-height: 1.65;
  padding: 1.25rem 1.35rem;
}

.tap-source__content > :first-child {
  margin-top: 0;
}

.tap-source__content > :last-child {
  margin-bottom: 0;
}

.text-content {
  max-width: 50rem;
}

.action-checklist {
  max-width: 50rem;
  padding-left: 1.75rem;
}

.action-checklist li {
  margin: 0.5rem 0;
  padding-left: 0.25rem;
}

.taps-index-page .page--authenticated {
  max-width: none;
  padding: 0;
}

.tap-library-layout {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  min-height: 100vh;
}

.tap-folder-rail {
  align-self: start;
  background: var(--surface);
  border-right: 1px solid var(--border);
  min-height: 100vh;
  overflow: visible;
  padding: 2.5rem 0.75rem 1.5rem;
  position: sticky;
  top: 0;
  z-index: 5;
}

.tap-folder-rail__heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0.45rem 1rem;
}

.tap-folder-rail__heading h2,
.tap-folder-rail__eyebrow {
  margin: 0;
}

.tap-folder-rail__heading h2 {
  font-size: 1.05rem;
}

.tap-folder-rail__eyebrow,
.tap-library-heading__folder {
  color: var(--primary);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tap-folder-create,
.tap-folder-actions,
.tap-move-menu {
  position: relative;
}

.tap-folder-create > summary,
.tap-folder-actions > summary {
  align-items: center;
  border-radius: 0.45rem;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  list-style: none;
  width: 2rem;
}

.tap-folder-create > summary::-webkit-details-marker,
.tap-folder-actions > summary::-webkit-details-marker,
.tap-move-menu > summary::-webkit-details-marker {
  display: none;
}

.tap-folder-create > summary:hover,
.tap-folder-actions > summary:hover {
  background: var(--background);
  color: var(--ink);
}

.tap-folder-create > summary svg,
.tap-folder-actions > summary svg {
  height: 1rem;
  width: 1rem;
}

.tap-folder-list {
  display: grid;
  gap: 0.2rem;
}

.tap-folder-row {
  position: relative;
}

.tap-folder-link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  color: var(--muted);
  display: grid;
  font-size: 0.84rem;
  font-weight: 650;
  gap: 0.55rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.55rem 0.65rem;
  text-decoration: none;
  transition: background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;
}

.tap-folder-row .tap-folder-link {
  padding-right: 2.35rem;
}

.tap-folder-link:hover {
  background: var(--background);
  color: var(--ink);
}

.tap-folder-link--active,
.tap-folder-link--active:hover {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  color: var(--primary-dark);
}

.tap-folder-link svg {
  height: 1rem;
  width: 1rem;
}

.tap-folder-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tap-folder-link strong {
  background: var(--background);
  border-radius: 999px;
  font-size: 0.68rem;
  min-width: 1.4rem;
  padding: 0.15rem 0.35rem;
  text-align: center;
}

.tap-folder-actions {
  position: absolute;
  right: 0.25rem;
  top: 0.2rem;
  z-index: 4;
}

.tap-folder-popover,
.tap-move-menu__popover {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.7rem;
  box-shadow: 0 1rem 2.5rem rgb(8 14 28 / 22%);
  padding: 0.85rem;
  position: absolute;
  width: 15rem;
  z-index: 20;
}

.tap-folder-create .tap-folder-popover {
  left: 0;
  top: 2.4rem;
}

.tap-folder-actions .tap-folder-popover {
  left: 0;
  top: 2.15rem;
}

.tap-folder-popover label,
.tap-move-menu__popover label {
  font-size: 0.78rem;
  margin-top: 0;
}

.tap-folder-popover input[type="text"],
.tap-folder-popover input[type="submit"],
.tap-move-menu__popover input[type="submit"],
.tap-move-menu__popover select {
  max-width: none;
  width: 100%;
}

.tap-folder-popover input[type="submit"],
.tap-move-menu__popover input[type="submit"] {
  margin-top: 0.65rem;
}

.tap-folder-delete-form {
  border-top: 1px solid var(--border-subtle);
  margin: 0.8rem 0 0;
  padding-top: 0.8rem;
}

.tap-folder-delete {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--danger);
  padding: 0;
}

.tap-folder-delete:hover {
  background: transparent;
  box-shadow: none;
  color: var(--danger);
  transform: none;
}

.tap-folder-drop-zone--active .tap-folder-link {
  background: var(--primary-soft);
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
  color: var(--primary-dark);
}

.tap-folder-rail__hint {
  align-items: flex-start;
  color: var(--muted);
  display: flex;
  font-size: 0.72rem;
  gap: 0.35rem;
  margin: 1.25rem 0.65rem 0;
}

.tap-folder-rail__hint svg {
  flex: 0 0 auto;
  height: 0.9rem;
  margin-top: 0.1rem;
  width: 0.9rem;
}

.tap-library-main {
  margin: 0 auto;
  max-width: 75rem;
  min-width: 0;
  padding: 2.5rem;
  width: 100%;
}

.tap-library-heading {
  align-items: center;
}

.tap-library-heading__folder {
  margin: 0 0 0.25rem !important;
}

.tap-library-toolbar,
.sends-toolbar {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1rem;
}

.tap-search,
.sends-search {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 0.65rem;
}

.tap-search__field,
.sends-search__field {
  flex: 1 1 28rem;
  max-width: 38rem;
  position: relative;
}

.tap-search__field svg,
.sends-search__field svg {
  color: var(--muted);
  height: 1.05rem;
  left: 0.85rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.05rem;
}

.tap-search__field input[type="search"],
.sends-search__field input[type="search"] {
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  font: inherit;
  padding: 0.55rem 0.75rem 0.55rem 2.5rem;
  width: 100%;
}

.tap-search__field input[type="search"]:focus,
.sends-search__field input[type="search"]:focus {
  background: var(--surface);
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 15%);
  outline: 0;
}

.tap-library-toolbar__count,
.sends-toolbar__count {
  color: var(--muted);
  flex: 0 0 auto;
  margin: 0;
}

.tag-filter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.25rem;
}

.tag-filter__label {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.35rem;
  margin-right: 0.2rem;
}

.tag-filter__label svg {
  height: 0.95rem;
  width: 0.95rem;
}

.tag-filter__option {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.3rem 0.7rem;
  text-decoration: none;
}

.tag-filter__option:hover {
  border-color: var(--primary-border);
  color: var(--primary);
}

.tag-filter__option--active,
.tag-filter__option--active:hover {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  color: var(--primary);
}

.tag-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.7rem;
}

.tag-badge {
  background: var(--violet-background);
  border-radius: 999px;
  color: var(--violet);
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.2rem 0.55rem;
}

.tap-library {
  display: grid;
  gap: 0.75rem;
}

.tap-library-item {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1.25rem 1.25rem 1.25rem 0.75rem;
  transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, opacity var(--motion-fast) ease, transform var(--motion-fast) ease;
}

.tap-library-item:hover {
  border-color: var(--primary-border);
  box-shadow: 0 0.45rem 1.25rem rgb(23 32 51 / 7%);
}

.tap-library-item--dragging {
  opacity: 0.5;
  transform: scale(0.99);
}

.tap-library-item__drag {
  color: var(--muted);
  cursor: grab;
  display: inline-flex;
}

.tap-library-item__drag:active {
  cursor: grabbing;
}

.tap-library-item__drag svg {
  height: 1.1rem;
  width: 1.1rem;
}

.tap-drag-preview {
  background: var(--surface);
  border: 1px solid var(--primary-border);
  border-left: 3px solid var(--primary);
  border-radius: 0.55rem;
  box-shadow: 0 0.7rem 1.5rem rgb(8 14 28 / 22%);
  color: var(--ink);
  font-size: 0.85rem;
  font-weight: 700;
  left: -10000px;
  max-width: 20rem;
  overflow: hidden;
  padding: 0.65rem 0.8rem;
  position: fixed;
  text-overflow: ellipsis;
  top: -10000px;
  white-space: nowrap;
}

.tap-library-item__content {
  min-width: 0;
}

.tap-library-item__heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.tap-library-item__heading h2 {
  font-size: 1.05rem;
  margin: 0;
}

.tap-library-item__heading h2 a {
  color: var(--ink);
  text-decoration: none;
}

.tap-library-item__heading h2 a:hover {
  color: var(--primary);
}

.tap-library-item__badges {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.tap-library-item__objective {
  color: var(--muted);
  margin: 0.45rem 0 0;
  max-width: 52rem;
}

.tap-library-item__meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 0.5rem 1.25rem;
  margin-top: 0.8rem;
}

.tap-library-item__meta span {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.tap-library-item__meta svg {
  height: 0.9rem;
  width: 0.9rem;
}

.tap-library-item__action {
  white-space: nowrap;
}

.tap-library-item__actions {
  align-items: center;
  display: flex;
  gap: 0.55rem;
}

.tap-move-menu > summary {
  list-style: none;
  white-space: nowrap;
}

.tap-move-menu__popover {
  right: 0;
  top: 2.7rem;
}

.tap-move-menu__popover select {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  color: var(--ink);
  font: inherit;
  padding: 0.6rem 0.7rem;
}

.tap-library__moved-empty {
  border: 1px dashed var(--border);
  border-radius: 0.75rem;
  color: var(--muted);
  margin: 0;
  padding: 2rem;
  text-align: center;
}

.tap-folder-toast {
  align-items: center;
  background: var(--ink);
  border-radius: 0.65rem;
  bottom: 1.5rem;
  box-shadow: 0 0.8rem 2rem rgb(8 14 28 / 24%);
  color: var(--surface);
  display: flex;
  gap: 1rem;
  padding: 0.75rem 0.9rem 0.75rem 1rem;
  position: fixed;
  right: 1.5rem;
  z-index: 40;
}

.tap-folder-toast[hidden] {
  display: none;
}

.tap-folder-toast button {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--surface);
  padding: 0.1rem;
  text-decoration: underline;
}

.tap-folder-toast button:hover {
  background: transparent;
  box-shadow: none;
  transform: none;
}

.tap-library-empty-state {
  background: var(--surface);
}

.recipient-toolbar {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1rem;
}

.recipient-search {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 0.65rem;
}

.recipient-search__field {
  flex: 1 1 28rem;
  max-width: 38rem;
  position: relative;
}

.recipient-search__field svg {
  color: var(--muted);
  height: 1.05rem;
  left: 0.85rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.05rem;
}

.recipient-search__field input[type="search"] {
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 0.55rem;
  font: inherit;
  padding: 0.55rem 0.75rem 0.55rem 2.5rem;
  width: 100%;
}

.recipient-search__field input[type="search"]:focus {
  background: var(--surface);
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 15%);
  outline: 0;
}

.recipient-toolbar__count {
  color: var(--muted);
  flex: 0 0 auto;
  margin: 0;
}

.recipient-table {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
}

.recipient-table th {
  background: var(--surface-subtle);
}

.recipient-table tbody tr:last-child td {
  border-bottom: 0;
}

.recipient-section-heading {
  font-size: 1.15rem;
  margin-top: 2rem;
}

.recipient-search-empty-state {
  background: var(--surface);
}

.recipient-groups {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 10rem;
}

.recipient-group-badge {
  background: var(--violet-background);
  border-radius: 999px;
  color: var(--violet);
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.55rem;
}

.recipient-group-badge--more {
  background: var(--background);
  color: var(--muted);
}

.recipient-groups__action {
  font-size: 0.82rem;
  margin-left: 0.15rem;
}

.recipient-editor-heading {
  align-items: center;
}

.recipient-editor-form {
  max-width: 52rem;
}

.recipient-editor-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  overflow: hidden;
}

.recipient-editor-card__heading,
.recipient-group-section__heading {
  align-items: flex-start;
  display: flex;
  gap: 0.9rem;
  padding: 1.35rem 1.5rem;
}

.recipient-editor-card__heading h2,
.recipient-editor-card__heading p,
.recipient-group-section__heading h2,
.recipient-group-section__heading p {
  margin: 0;
}

.recipient-editor-card__heading h2,
.recipient-group-section__heading h2 {
  font-size: 1.1rem;
}

.recipient-editor-card__heading p,
.recipient-group-section__heading p {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 0.2rem;
}

.recipient-editor-card__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.65rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.recipient-editor-card__icon--groups {
  background: var(--violet-background);
  color: var(--violet);
}

.recipient-editor-card__icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.recipient-editor-fields {
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1.25rem 1.5rem 1.5rem;
}

.recipient-editor-fields .form-field {
  max-width: none;
}

.recipient-editor-fields .form-field--wide {
  grid-column: 1 / -1;
}

.recipient-editor-fields label {
  margin-top: 0;
}

.recipient-editor-fields input {
  max-width: none;
}

.recipient-group-section {
  border-top: 1px solid var(--border-subtle);
  scroll-margin-top: 1rem;
}

.recipient-group-options {
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  padding: 1rem 1.5rem 1.5rem;
}

.recipient-group-option {
  align-items: flex-start;
  border: 1px solid var(--border);
  border-radius: 0.65rem;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  margin: 0;
  padding: 0.8rem;
}

.recipient-group-option:hover {
  background: var(--background);
}

.recipient-group-option:has(input:checked) {
  background: var(--violet-background);
  border-color: var(--violet-border);
}

.recipient-group-option input {
  flex: 0 0 auto;
  height: 1rem;
  margin: 0.2rem 0 0;
  width: 1rem;
}

.recipient-group-option span,
.recipient-group-option strong,
.recipient-group-option small {
  display: block;
}

.recipient-group-option small {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 400;
  margin-top: 0.1rem;
}

.recipient-group-section__empty {
  border-top: 1px solid var(--border-subtle);
  color: var(--muted);
  padding: 1.25rem 1.5rem;
}

.recipient-group-section__empty p {
  margin-top: 0;
}

.recipient-editor-actions {
  margin-top: 1.25rem;
}

.sends-heading {
  align-items: center;
}

.send-audience-heading {
  align-items: center;
}

.send-audience-heading p {
  color: var(--muted);
}

.audience-picker__grid {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
}

.audience-picker-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  margin: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.audience-picker-panel__heading {
  align-items: flex-start;
  display: flex;
  gap: 0.85rem;
  padding: 1.25rem;
}

.audience-picker-panel__heading h2,
.audience-picker-panel__heading p {
  margin: 0;
}

.audience-picker-panel__heading h2 {
  font-size: 1.05rem;
}

.audience-picker-panel__heading p {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 0.2rem;
}

.audience-picker-panel__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.6rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 auto;
  height: 2.4rem;
  justify-content: center;
  width: 2.4rem;
}

.audience-picker-panel__icon--recipients {
  background: var(--violet-background);
  color: var(--violet);
}

.audience-picker-panel__icon svg {
  height: 1.15rem;
  width: 1.15rem;
}

.audience-choice-list {
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 0.45rem;
  padding: 0.75rem;
}

.audience-choice {
  align-items: flex-start;
  border: 1px solid transparent;
  border-radius: 0.6rem;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  margin: 0;
  padding: 0.75rem;
}

.audience-choice:hover {
  background: var(--primary-soft);
  border-color: var(--primary-border);
}

.audience-choice:has(input:checked) {
  background: var(--primary-soft);
  border-color: var(--primary-border);
}

.audience-choice input,
.audience-recipient input {
  flex: 0 0 auto;
  height: 1rem;
  margin: 0.2rem 0 0;
  width: 1rem;
}

.audience-choice__content {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.audience-choice__content small,
.audience-recipient__identity small {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 400;
}

.audience-choice--disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.audience-choice--disabled:hover {
  background: transparent;
  border-color: transparent;
}

.audience-search {
  align-items: center;
  background: var(--surface-subtle);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}

.audience-search__field {
  flex: 1 1 auto;
  position: relative;
}

.audience-search__field svg {
  color: var(--muted);
  height: 1rem;
  left: 0.75rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
}

.audience-search__field input[type="search"] {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  font: inherit;
  padding: 0.55rem 0.7rem 0.55rem 2.25rem;
  width: 100%;
}

.audience-search__field input[type="search"]:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 15%);
  outline: 0;
}

.audience-search > span {
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 0.82rem;
}

.audience-recipient-list {
  display: grid;
  gap: 0.3rem;
  max-height: 34rem;
  overflow-y: auto;
  padding: 0.75rem;
}

.audience-recipient {
  align-items: flex-start;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  margin: 0;
  padding: 0.65rem 0.75rem;
}

.audience-recipient[hidden],
.audience-recipient-list__empty[hidden] {
  display: none;
}

.audience-recipient:hover {
  background: var(--background);
}

.audience-recipient:has(input:checked) {
  background: var(--primary-soft);
  border-color: var(--primary-border);
}

.audience-recipient__identity {
  display: grid;
  gap: 0.05rem;
  min-width: 0;
}

.audience-recipient__identity small {
  overflow-wrap: anywhere;
}

.audience-recipient-list__empty,
.audience-picker-panel__empty {
  color: var(--muted);
  text-align: center;
}

.audience-recipient-list__empty {
  margin: 1rem;
}

.audience-picker-panel__empty {
  border-top: 1px solid var(--border-subtle);
  padding: 1.5rem;
}

.audience-picker-panel__empty p {
  margin-top: 0;
}

.audience-picker__footer {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.4rem 1.25rem rgb(23 32 51 / 7%);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding: 1rem 1.25rem;
  position: sticky;
  bottom: 1rem;
  z-index: 2;
}

.audience-picker__footer p {
  color: var(--muted);
  font-size: 0.82rem;
  margin: 0.15rem 0 0;
}

.audience-picker__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.organisation-switcher {
  margin: 0 auto;
  max-width: 48rem;
}

.organisation-switcher__heading {
  margin-bottom: 1.5rem;
}

.organisation-switcher__eyebrow {
  color: var(--primary);
  display: block;
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.065em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.organisation-switcher__heading h1,
.organisation-switcher__heading p {
  margin: 0;
}

.organisation-switcher__heading p {
  color: var(--muted);
  margin-top: 0.45rem;
}

.organisation-switcher__card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.9rem;
  box-shadow: 0 0.5rem 1.75rem rgb(23 32 51 / 7%);
  overflow: hidden;
}

.organisation-switcher__card-heading {
  align-items: flex-start;
  background: linear-gradient(135deg, var(--primary-soft), var(--surface-subtle));
  border-bottom: 1px solid var(--primary-border);
  display: flex;
  gap: 0.9rem;
  padding: 1.25rem 1.4rem;
}

.organisation-switcher__card-icon,
.organisation-switcher__empty-icon {
  align-items: center;
  background: var(--surface);
  border-radius: 0.65rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.organisation-switcher__card-icon svg,
.organisation-switcher__empty-icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.organisation-switcher__card-heading h2,
.organisation-switcher__card-heading p {
  margin: 0;
}

.organisation-switcher__card-heading h2 {
  font-size: 1.05rem;
}

.organisation-switcher__card-heading p {
  color: var(--muted);
  font-size: 0.82rem;
  margin-top: 0.2rem;
}

.organisation-choices {
  display: grid;
  gap: 0.7rem;
  padding: 1rem;
}

.organisation-choice-form {
  margin: 0;
}

.organisation-choice {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.7rem;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  padding: 0.9rem 1rem;
  text-align: left;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
  width: 100%;
}

.organisation-choice:hover {
  background: var(--surface-subtle);
  border-color: var(--primary-border);
  box-shadow: 0 0.35rem 1rem rgb(23 32 51 / 7%);
  color: var(--ink);
  transform: translateY(-1px);
}

.organisation-choice:focus-visible {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgb(49 87 213 / 15%);
  outline: 0;
}

.organisation-choice--selected {
  background: var(--primary-soft);
  border-color: var(--primary-border);
}

.organisation-choice__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.6rem;
  color: var(--primary);
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.organisation-choice--selected .organisation-choice__icon {
  background: var(--primary);
  color: #ffffff;
}

.organisation-choice__icon svg {
  height: 1.1rem;
  width: 1.1rem;
}

.organisation-choice__identity strong,
.organisation-choice__identity small {
  display: block;
}

.organisation-choice__identity strong {
  font-weight: 750;
}

.organisation-choice__identity small {
  color: var(--muted);
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

.organisation-choice__current {
  background: var(--notice-background);
  border-radius: 999px;
  color: var(--notice);
  font-size: 0.72rem;
  font-weight: 750;
  padding: 0.25rem 0.6rem;
}

.organisation-choice__arrow {
  color: var(--muted);
  height: 1.1rem;
  width: 1.1rem;
}

.organisation-choice:hover .organisation-choice__arrow {
  color: var(--primary);
}

.organisation-switcher__empty {
  background: var(--surface);
}

.organisation-switcher__empty-icon {
  background: var(--primary-soft);
  margin-bottom: 0.75rem;
}

.follow-up-heading {
  align-items: center;
}

.follow-up-source {
  align-items: flex-start;
  background: linear-gradient(135deg, var(--primary-soft), var(--surface-subtle));
  border: 1px solid var(--primary-border);
  border-radius: 0.85rem;
  display: flex;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.4rem;
}

.follow-up-source__icon,
.follow-up-editor-card__icon {
  align-items: center;
  background: var(--surface);
  border-radius: 0.65rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 auto;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.follow-up-source__icon svg,
.follow-up-editor-card__icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.follow-up-source__content {
  min-width: 0;
}

.follow-up-source__eyebrow {
  color: var(--primary);
  display: block;
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.055em;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}

.follow-up-source h2 {
  font-size: 1.05rem;
  margin: 0;
}

.follow-up-source h2 a {
  color: var(--ink);
  text-decoration: none;
}

.follow-up-source h2 a:hover {
  color: var(--primary);
}

.follow-up-source__meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.84rem;
  gap: 0.55rem 0.8rem;
  margin-top: 0.6rem;
}

.follow-up-form {
  max-width: none;
}

.follow-up-editor-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  overflow: hidden;
}

.follow-up-editor-card__heading {
  align-items: flex-start;
  display: flex;
  gap: 0.9rem;
  padding: 1.35rem 1.5rem;
}

.follow-up-editor-card__heading h2,
.follow-up-editor-card__heading p {
  margin: 0;
}

.follow-up-editor-card__heading h2 {
  font-size: 1.1rem;
}

.follow-up-editor-card__heading p {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 0.2rem;
}

.follow-up-editor-card__icon {
  background: var(--primary-soft);
}

.follow-up-editor-grid {
  border-top: 1px solid var(--border-subtle);
  display: grid;
  gap: 1.25rem 1.5rem;
  grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr);
  padding: 1.35rem 1.5rem 1.5rem;
}

.follow-up-editor-grid input[type="text"],
.follow-up-editor-grid textarea {
  max-width: none;
  width: 100%;
}

.follow-up-source-text {
  height: 18rem;
}

.follow-up-editor-card__footer {
  align-items: center;
  background: var(--surface-subtle);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: 1rem 1.5rem;
}

.follow-up-editor-card__footer p {
  color: var(--muted);
  font-size: 0.82rem;
  margin: 0;
  max-width: 44rem;
}

.follow-up-editor-card__footer input[type="submit"] {
  flex: 0 0 auto;
}

.groups-heading {
  align-items: center;
}

.group-library {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
}

.group-library-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  overflow: hidden;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.group-library-item:hover {
  border-color: var(--primary-border);
  box-shadow: 0 0.55rem 1.4rem rgb(23 32 51 / 8%);
  transform: translateY(-1px);
}

.group-library-item__identity {
  align-items: center;
  display: flex;
  gap: 0.9rem;
  padding: 1.25rem;
}

.group-library-item__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.7rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.8rem;
  justify-content: center;
  width: 2.8rem;
}

.group-library-item__icon svg {
  height: 1.3rem;
  width: 1.3rem;
}

.group-library-item h2,
.group-library-item p {
  margin: 0;
}

.group-library-item h2 {
  font-size: 1.05rem;
}

.group-library-item h2 a {
  color: var(--ink);
  text-decoration: none;
}

.group-library-item h2 a:hover {
  color: var(--primary);
}

.group-library-item p {
  color: var(--muted);
  font-size: 0.82rem;
  margin-top: 0.2rem;
}

.group-library-item__footer {
  align-items: center;
  background: var(--surface-subtle);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  justify-content: space-between;
  padding: 0.8rem 1.25rem;
}

.group-library-item__count {
  align-items: center;
  background: var(--violet-background);
  border-radius: 999px;
  color: var(--violet);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.35rem;
  padding: 0.28rem 0.65rem;
}

.group-library-item__count svg {
  height: 0.9rem;
  width: 0.9rem;
}

.groups-empty-state {
  background: var(--surface);
}

.group-editor-heading {
  align-items: center;
}

.group-editor-form {
  max-width: 58rem;
}

.group-editor-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  overflow: hidden;
}

.group-editor-card__heading {
  align-items: flex-start;
  display: flex;
  gap: 0.9rem;
  padding: 1.35rem 1.5rem;
}

.group-editor-card__heading h2,
.group-editor-card__heading p {
  margin: 0;
}

.group-editor-card__heading h2 {
  font-size: 1.1rem;
}

.group-editor-card__heading p,
.group-member-section__heading p {
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0.2rem 0 0;
}

.group-editor-card__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.65rem;
  color: var(--primary);
  display: flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.group-editor-card__icon svg {
  height: 1.2rem;
  width: 1.2rem;
}

.group-editor-card__name {
  border-top: 1px solid var(--border-subtle);
  padding: 1.25rem 1.5rem 1.4rem;
}

.group-editor-card__name label {
  margin-top: 0;
}

.group-editor-card__name input {
  max-width: none;
}

.group-member-section {
  border-top: 1px solid var(--border-subtle);
}

.group-member-section__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
}

.group-member-section__heading h2 {
  font-size: 1.05rem;
  margin: 0;
}

.group-member-section__heading > strong {
  background: var(--primary-soft);
  border-radius: 999px;
  color: var(--primary-dark);
  flex: 0 0 auto;
  font-size: 0.8rem;
  padding: 0.3rem 0.65rem;
}

.group-member-search {
  border-bottom: 1px solid var(--border-subtle);
}

.group-member-list {
  max-height: 32rem;
}

.group-member-empty-state {
  border-top: 1px solid var(--border-subtle);
  color: var(--muted);
  padding: 1.5rem;
  text-align: center;
}

.group-member-empty-state p {
  margin-top: 0;
}

.group-archived-notice {
  align-items: flex-start;
  background: var(--warning-background);
  border-top: 1px solid var(--warning-border);
  color: var(--warning);
  display: flex;
  gap: 0.65rem;
  padding: 1rem 1.5rem;
}

.group-archived-notice > svg {
  flex: 0 0 1rem;
  height: 1rem;
  margin-top: 0.2rem;
  width: 1rem;
}

.group-archived-notice p,
.group-archived-notice strong,
.group-archived-notice span {
  display: block;
  margin: 0;
}

.group-archived-notice span {
  font-size: 0.85rem;
  margin-top: 0.15rem;
}

.group-editor-actions {
  margin-top: 1.25rem;
}

.send-status-filter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.send-status-filter__label {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.35rem;
  margin-right: 0.2rem;
}

.send-status-filter__label svg {
  height: 0.95rem;
  width: 0.95rem;
}

.send-status-filter__option {
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.45rem;
  padding: 0.4rem 0.7rem;
  text-decoration: none;
}

.send-status-filter__option:hover {
  border-color: var(--primary-border);
  color: var(--ink);
}

.send-status-filter__option strong {
  background: var(--surface-subtle);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.72rem;
  min-width: 1.35rem;
  padding: 0.1rem 0.35rem;
  text-align: center;
}

.send-status-filter__option--active {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  color: var(--primary);
}

.send-status-filter__option--active strong {
  background: var(--primary);
  color: white;
}

.sends-timeline {
  display: grid;
  gap: 2rem;
}

.sends-period {
  display: grid;
  gap: 0.75rem;
}

.sends-period__heading {
  align-items: baseline;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  justify-content: space-between;
  padding: 0 0.15rem 0.65rem;
}

.sends-period__heading h2,
.sends-period__heading span {
  margin: 0;
}

.sends-period__heading h2 {
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sends-period__heading span {
  color: var(--muted);
  font-size: 0.78rem;
}

.sends-list {
  display: grid;
  gap: 0.75rem;
}

.send-list-item {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.25rem;
}

.send-list-item:hover {
  border-color: var(--primary-border);
  box-shadow: 0 0.45rem 1.25rem rgb(23 32 51 / 7%);
}

.send-list-item__heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.send-list-item__heading h3,
.send-list-item__heading p {
  margin: 0;
}

.send-list-item__heading h3 {
  font-size: 1.05rem;
}

.send-list-item__heading h3 a {
  color: var(--ink);
  text-decoration: none;
}

.send-list-item__heading h3 a:hover {
  color: var(--primary);
}

.send-list-item__heading p {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 0.2rem;
}

.send-list-item__meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 0.5rem 1.25rem;
  margin-top: 0.85rem;
}

.send-list-item__meta span {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.send-list-item__meta svg {
  height: 0.9rem;
  width: 0.9rem;
}

.send-list-item__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.sends-empty-state {
  background: var(--surface);
}

.knowledge-list {
  display: grid;
  gap: 1.25rem;
}

.knowledge-entry {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  overflow: hidden;
}

.knowledge-entry__header {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: 1.4rem 1.5rem;
}

.knowledge-entry__identity {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  min-width: 0;
}

.knowledge-entry__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.65rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.knowledge-entry__icon svg {
  height: 1.3rem;
  width: 1.3rem;
}

.knowledge-entry h2 {
  font-size: 1.15rem;
  margin: 0;
}

.knowledge-entry h2 a {
  color: var(--ink);
  text-decoration: none;
}

.knowledge-entry h2 a:hover {
  color: var(--primary);
}

.knowledge-entry__meta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 0.55rem 1rem;
  margin-top: 0.55rem;
}

.knowledge-entry .tag-badges {
  margin-top: 0.6rem;
}

.knowledge-entry__meta > span:not(.status-badge) {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.knowledge-entry__meta svg {
  height: 0.9rem;
  width: 0.9rem;
}

.knowledge-entry__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.knowledge-entry__action {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
  justify-content: center;
  min-width: 6.4rem;
  text-align: center;
  white-space: nowrap;
}

.knowledge-entry__action svg {
  height: 1rem;
  width: 1rem;
}

.knowledge-entry__checklist {
  background: var(--surface-subtle);
  border-top: 1px solid var(--border-subtle);
  padding: 1.25rem 1.5rem 1.4rem 5.1rem;
}

.knowledge-entry__checklist h3 {
  color: var(--muted);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.knowledge-entry .action-checklist {
  counter-reset: knowledge-step;
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.knowledge-entry .action-checklist li {
  align-items: flex-start;
  counter-increment: knowledge-step;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1.7rem minmax(0, 1fr);
}

.knowledge-entry .action-checklist li::before {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 50%;
  color: var(--primary-dark);
  content: counter(knowledge-step);
  display: flex;
  font-size: 0.75rem;
  font-weight: 750;
  height: 1.7rem;
  justify-content: center;
  width: 1.7rem;
}

.knowledge-entry .action-checklist li span {
  padding-top: 0.1rem;
}

.organisation-settings-grid {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
}

.organisation-settings-sidebar {
  display: grid;
  gap: 1.25rem;
}

.organisation-settings-main {
  display: grid;
  gap: 1.25rem;
}

.settings-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  padding: 1.5rem;
}

.settings-panel__heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}

.settings-panel__heading h2,
.settings-panel__heading p {
  margin: 0;
}

.settings-panel__heading h2 {
  font-size: 1.1rem;
}

.settings-panel__heading p {
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 0.2rem;
}

.settings-panel__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.65rem;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.settings-panel__icon svg {
  height: 1.25rem;
  width: 1.25rem;
}

.settings-panel__icon--neutral {
  background: var(--background);
  color: var(--muted);
}

.settings-panel__icon--warning {
  background: var(--warning-background);
  color: var(--warning);
}

.settings-list {
  border-top: 1px solid var(--border-subtle);
  margin: 1.4rem 0 0;
}

.settings-list > div {
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr);
  padding: 1rem 0;
}

.settings-list > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.settings-list dt,
.workspace-counts dt {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 650;
}

.settings-list dd,
.workspace-counts dd {
  margin: 0;
}

.settings-list dd {
  font-weight: 650;
}

.settings-list code,
.read-only-field code {
  background: var(--background);
  border-radius: 0.35rem;
  color: var(--ink);
  font-size: 0.85rem;
  padding: 0.3rem 0.45rem;
}

.workspace-counts {
  display: grid;
  gap: 0.7rem;
  margin: 1.25rem 0 0;
}

.workspace-counts > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.workspace-counts dd {
  font-size: 1.05rem;
  font-weight: 750;
}

.subscription-summary {
  border-top: 3px solid var(--warning-border);
}

.subscription-summary .status-badge {
  margin-top: 0.4rem;
}

.subscription-summary > p {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 1.15rem 0 0;
}

.organisation-edit-panel {
  max-width: 48rem;
}

.organisation-settings-form {
  border-top: 1px solid var(--border-subtle);
  margin-top: 1.4rem;
  padding-top: 1.4rem;
}

.organisation-settings-form .form-field {
  max-width: none;
}

.team-settings {
  overflow: hidden;
}

.team-settings > .settings-panel__heading {
  align-items: center;
}

.team-settings > .settings-panel__heading > div {
  flex: 1;
}

.team-settings__limit {
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 0.8rem;
}

.team-invitation-form {
  align-items: end;
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 0.7rem;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) minmax(9rem, 0.35fr) auto;
  margin-top: 1.25rem;
  padding: 1rem;
}

.team-invitation-form label {
  font-size: 0.78rem;
  margin-top: 0;
}

.team-invitation-form input,
.team-invitation-form select,
.team-member__role-form select {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  color: var(--ink);
  font: inherit;
  padding: 0.55rem 0.65rem;
  width: 100%;
}

.team-invitation-form input[type="submit"] {
  width: auto;
}

.team-settings__limit-notice {
  align-items: flex-start;
  background: var(--warning-background);
  border: 1px solid var(--warning-border);
  border-radius: 0.65rem;
  color: var(--warning);
  display: flex;
  gap: 0.65rem;
  margin-top: 1.25rem;
  padding: 0.8rem 0.9rem;
}

.team-settings__limit-notice svg {
  flex: 0 0 1rem;
  height: 1rem;
  margin-top: 0.15rem;
  width: 1rem;
}

.team-settings__limit-notice p {
  font-size: 0.82rem;
  margin: 0;
}

.team-member-list {
  border-top: 1px solid var(--border-subtle);
  margin-top: 1.25rem;
}

.team-member {
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  gap: 0.75rem;
  padding: 0.9rem 0;
}

.team-member:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.team-member__avatar {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 50%;
  color: var(--primary);
  display: inline-flex;
  flex: 0 0 2.15rem;
  font-size: 0.76rem;
  font-weight: 800;
  height: 2.15rem;
  justify-content: center;
}

.team-member--pending .team-member__avatar {
  background: var(--background);
  color: var(--muted);
}

.team-member__avatar svg {
  height: 1rem;
  width: 1rem;
}

.team-member__identity {
  flex: 1;
  min-width: 0;
}

.team-member__identity strong,
.team-member__identity span {
  display: block;
  overflow-wrap: anywhere;
}

.team-member__identity strong {
  font-size: 0.88rem;
}

.team-member__identity span {
  color: var(--muted);
  font-size: 0.76rem;
  margin-top: 0.1rem;
}

.team-member__actions {
  align-items: center;
  display: flex;
  gap: 0.45rem;
}

.team-member__actions form {
  margin: 0;
}

.team-member__role-form {
  align-items: center;
  display: flex;
  gap: 0.4rem;
}

.team-member__role-form select {
  min-width: 8.5rem;
}

.team-member__role-form input[type="submit"] {
  font-size: 0.78rem;
}

.team-member__actions .button {
  font-size: 0.78rem;
  white-space: nowrap;
}

.invitation-acceptance {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem rgb(23 32 51 / 10%);
  margin: 3rem auto;
  max-width: 34rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
}

.invitation-acceptance__icon {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 0.8rem;
  color: var(--primary);
  display: inline-flex;
  height: 3.25rem;
  justify-content: center;
  width: 3.25rem;
}

.invitation-acceptance__icon svg {
  height: 1.5rem;
  width: 1.5rem;
}

.invitation-acceptance__eyebrow {
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  margin: 1rem 0 0.25rem;
  text-transform: uppercase;
}

.invitation-acceptance h1 {
  font-size: 1.8rem;
  margin: 0;
}

.invitation-acceptance > p:not(.invitation-acceptance__eyebrow, .invitation-acceptance__note) {
  color: var(--muted);
  line-height: 1.55;
}

.invitation-acceptance__form {
  border-top: 1px solid var(--border-subtle);
  margin-top: 1.25rem;
  padding-top: 0.25rem;
  text-align: left;
}

.invitation-acceptance__form input {
  max-width: none;
}

.invitation-acceptance__submit {
  margin-top: 1rem;
  width: 100%;
}

.invitation-acceptance__note {
  color: var(--muted);
  font-size: 0.76rem;
  margin: 1.25rem 0 0;
}

.read-only-field {
  border-top: 1px solid var(--border-subtle);
  margin-top: 1.35rem;
  padding-top: 1.25rem;
}

.read-only-field__label {
  display: block;
  font-weight: 650;
  margin-bottom: 0.55rem;
}

.read-only-field .field-help {
  margin-bottom: 0;
}

.distribution-summary {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.distribution-summary > div {
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  padding: 1rem;
}

.distribution-summary dt {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 650;
  text-transform: uppercase;
}

.distribution-summary dd {
  font-size: 1.25rem;
  font-weight: 650;
  margin: 0.25rem 0 0;
}

.send-summary {
  grid-template-columns: minmax(9rem, 0.8fr) minmax(9rem, 0.8fr) minmax(16rem, 1.4fr);
}

.send-summary .send-summary__card {
  background: var(--surface);
  border-radius: 0.75rem;
  border-top: 3px solid var(--border);
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  padding: 1.1rem;
}

.send-summary .send-summary__card--status {
  background: var(--warning-background);
  border-color: var(--warning-border);
  border-top-color: var(--warning);
}

.send-summary .send-summary__card--sending {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  border-top-color: var(--primary);
}

.send-summary .send-summary__card--sent {
  background: var(--notice-background);
  border-color: var(--notice-border);
  border-top-color: var(--notice);
}

.send-summary .send-summary__card--in_progress {
  background: var(--violet-background);
  border-color: var(--violet-border);
  border-top-color: var(--violet);
}

.send-summary .send-summary__card--completed {
  background: var(--notice-background);
  border-color: var(--notice-border);
  border-top-color: var(--notice);
}

.send-summary .send-summary__card--failed {
  background: var(--danger-background);
  border-color: var(--danger-border);
  border-top-color: var(--danger);
}

.send-summary .send-summary__card--cancelled,
.send-summary .send-summary__card--closed {
  background: var(--background);
  border-color: var(--border);
  border-top-color: var(--muted);
}

.send-summary .send-summary__card--recipients {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  border-top-color: var(--primary);
}

.send-summary .send-summary__card--sender {
  background: var(--violet-background);
  border-color: var(--violet-border);
  border-top-color: var(--violet);
}

.send-summary__card--sender dd {
  overflow-wrap: anywhere;
}

.status-badge {
  background: var(--background);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1;
  padding: 0.4rem 0.65rem;
}

.status-badge--draft,
.status-badge--prepared,
.status-badge--pending {
  background: var(--warning-background);
  color: var(--warning);
}

.status-badge--queued,
.status-badge--sending,
.status-badge--sent {
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.status-badge--started {
  background: var(--violet-background);
  color: var(--violet);
}

.status-badge--in_progress {
  background: var(--violet-background);
  color: var(--violet);
}

.status-badge--completed {
  background: var(--notice-background);
  color: var(--notice);
}

.status-badge--failed {
  background: var(--danger-background);
  color: var(--danger);
}

.status-badge--cancelled,
.status-badge--closed,
.status-badge--revoked {
  background: var(--border-subtle);
  color: var(--muted);
}

.send-audience-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  margin-top: 2rem;
  overflow: hidden;
}

.send-audience-panel__heading {
  align-items: flex-start;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: 1.25rem 1.5rem 0;
}

.send-audience-panel__heading h2,
.send-audience-panel__heading p {
  margin: 0;
}

.send-audience-panel__heading p {
  color: var(--muted);
  margin-top: 0.2rem;
}

.send-audience-panel__actions {
  flex: 0 0 auto;
  margin: 0;
}

.send-audience-panel__help {
  border-bottom: 1px solid var(--border-subtle);
  margin: 1rem 1.5rem 0;
  padding-bottom: 1rem;
}

.send-audience-panel th:first-child,
.send-audience-panel td:first-child {
  padding-left: 1.5rem;
}

.send-audience-panel th:last-child,
.send-audience-panel td:last-child {
  padding-right: 1.5rem;
}

.send-audience-panel tbody tr:hover {
  background: var(--surface-subtle);
}

.results-summary .results-summary__card {
  background: var(--surface);
  border-radius: 0.75rem;
  border-top: 3px solid var(--border);
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  padding: 1.1rem;
}

.results-summary .results-summary__card--sent {
  background: var(--primary-soft);
  border-color: var(--primary-border);
  border-top-color: var(--primary);
}

.results-summary .results-summary__card--started {
  background: var(--violet-background);
  border-color: var(--violet-border);
  border-top-color: var(--violet);
}

.results-summary .results-summary__card--completed,
.results-summary .results-summary__card--positive {
  background: var(--notice-background);
  border-color: var(--notice-border);
  border-top-color: var(--notice);
}

.results-summary .results-summary__card--mixed {
  background: var(--warning-background);
  border-color: var(--warning-border);
  border-top-color: var(--warning);
}

.results-summary .results-summary__card--negative {
  background: var(--danger-background);
  border-color: var(--danger-border);
  border-top-color: var(--danger);
}

.results-summary dd {
  font-size: 1.45rem;
}

.invitation-links {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.invitation-link-row {
  border-bottom: 1px solid var(--border);
  padding-bottom: 1rem;
}

.invitation-link-row label {
  margin-top: 0;
}

.results-section {
  margin-top: 2.5rem;
}

.results-section__heading h2,
.results-section__heading p {
  margin: 0;
}

.results-section__heading p {
  color: var(--muted);
  margin-top: 0.2rem;
}

.results-section > .table-wrapper {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  margin-top: 1rem;
}

.result-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgb(23 32 51 / 4%);
  margin: 1rem 0;
  padding: 1.25rem;
}

.result-card--positive {
  border-left-color: var(--notice);
}

.result-card--mixed {
  border-left-color: var(--warning);
}

.result-card--negative {
  border-left-color: var(--danger);
}

.result-card h3 {
  margin: 0;
}

.result-card__heading {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.result-score {
  border-radius: 999px;
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 750;
  padding: 0.3rem 0.65rem;
  white-space: nowrap;
}

.result-score--positive {
  background: var(--notice-background);
  color: var(--notice);
}

.result-score--mixed {
  background: var(--warning-background);
  color: var(--warning);
}

.result-score--negative {
  background: var(--danger-background);
  color: var(--danger);
}

.result-score--neutral {
  background: var(--background);
  color: var(--muted);
}

.result-card__sample {
  color: var(--muted);
  margin: 0.5rem 0 0;
}

.incorrect-answer-callout {
  background: var(--danger-background);
  border-radius: 0.6rem;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
}

.incorrect-answer-callout h4 {
  align-items: center;
  color: var(--danger);
  display: flex;
  gap: 0.45rem;
  margin: 0;
}

.incorrect-answer-callout h4 svg,
.correct-answer-callout svg {
  flex: 0 0 1rem;
  height: 1rem;
  width: 1rem;
}

.incorrect-answer-callout ul {
  margin-bottom: 0;
}

.correct-answer-callout {
  align-items: center;
  background: var(--notice-background);
  border-radius: 0.6rem;
  color: var(--notice);
  display: flex;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
}

.individual-results {
  display: grid;
  gap: 0.75rem;
}

.individual-results .result-card {
  margin: 0;
}

.individual-results summary {
  cursor: pointer;
}

.individual-answers li {
  margin: 0.75rem 0;
}

.recipient-tap {
  margin: 0 auto;
  max-width: 46rem;
}

.recipient-tap__greeting {
  color: var(--muted);
}

.attribution-notice {
  background: var(--primary-soft);
  border: 1px solid var(--primary);
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  padding: 1rem;
}

.attribution-notice p {
  margin-bottom: 0;
}

.question-progress {
  color: var(--muted);
  font-weight: 650;
}

.recipient-options {
  border: 0;
  margin-top: 1rem;
  padding: 0;
}

.recipient-option {
  align-items: baseline;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  display: flex;
  gap: 0.75rem;
  margin: 0.75rem 0;
  padding: 1rem;
}

.recipient-option label {
  cursor: pointer;
  flex: 1;
  margin: 0;
}

.answer-feedback {
  border: 1px solid;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  padding: 1rem;
}

.answer-feedback h2 {
  margin-top: 0;
}

.answer-feedback--correct {
  background: var(--notice-background);
  border-color: var(--notice);
}

.answer-feedback--incorrect {
  background: var(--warning-background);
  border-color: var(--warning);
}

.completion-message {
  text-align: center;
}

.completion-message .action-checklist {
  display: inline-block;
  text-align: left;
}

@media (max-width: 48rem) {
  .taps-index-page .page--authenticated {
    padding: 0;
  }

  .tap-library-layout {
    display: block;
    min-height: 0;
  }

  .tap-folder-rail {
    border-bottom: 1px solid var(--border);
    border-right: 0;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 1.25rem 1rem;
    position: relative;
  }

  .tap-folder-rail__heading {
    margin: 0 0 0.75rem;
  }

  .tap-folder-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tap-folder-link {
    min-width: 0;
  }

  .tap-folder-rail__hint {
    display: none;
  }

  .tap-folder-popover {
    left: auto !important;
    position: fixed;
    right: 1rem;
    top: 7rem !important;
    width: calc(100% - 2rem);
  }

  .tap-library-main {
    padding: 1.25rem 1rem 2rem;
  }

  .tap-library-item {
    align-items: start;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 1.1rem;
  }

  .tap-library-item__drag {
    display: none;
  }

  .tap-library-item__actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    width: 100%;
  }

  .tap-library-item__actions .button {
    text-align: center;
    width: 100%;
  }

  .tap-move-menu__popover {
    left: 0;
    right: auto;
    width: min(17rem, calc(100vw - 2rem));
  }

  .tap-folder-toast {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .sign-in-page .site-header {
    padding-left: 1rem;
  }

  .sign-in-page .page {
    margin: 1rem auto;
  }

  .sign-in-shell {
    grid-template-columns: 1fr;
  }

  .sign-in-introduction {
    display: none;
  }

  .sign-in-panel {
    padding: 2rem;
  }

  .sidebar {
    display: none;
  }

  .app-content {
    margin-left: 0;
  }

  .mobile-header {
    align-items: center;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    position: sticky;
    top: 0;
    z-index: 20;
  }

  .mobile-navigation {
    position: relative;
  }

  .mobile-navigation summary {
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    cursor: pointer;
    display: flex;
    font-weight: 650;
    gap: 0.45rem;
    list-style: none;
    padding: 0.45rem 0.65rem;
  }

  .mobile-navigation summary::-webkit-details-marker {
    display: none;
  }

  .mobile-navigation summary svg {
    height: 1.1rem;
    width: 1.1rem;
  }

  .mobile-navigation__panel {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    box-shadow: 0 1rem 2.5rem rgb(23 32 51 / 15%);
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    padding: 1rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.6rem);
    width: min(19rem, calc(100vw - 2rem));
  }

  .mobile-navigation__panel .app-navigation {
    gap: 1rem;
  }

  .mobile-navigation__panel .account-panel {
    margin-top: 1rem;
  }

  .page-heading {
    flex-direction: column;
  }

  .organisation-switcher__card-heading {
    padding: 1.15rem;
  }

  .organisation-choices {
    padding: 0.75rem;
  }

  .organisation-choice {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.85rem;
  }

  .organisation-choice__current {
    grid-column: 2;
    justify-self: start;
  }

  .organisation-choice__arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .dashboard-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 1.4rem;
  }

  .dashboard-hero__actions,
  .dashboard-hero__actions .button {
    width: 100%;
  }

  .dashboard-hero__actions .button {
    justify-content: center;
    text-align: center;
  }

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

  .dashboard-section-title {
    align-items: flex-start;
  }

  .dashboard-workspace {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .dashboard-workspace__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-setup-callout {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-setup-callout .button {
    text-align: center;
  }

  .dashboard-send-card__header {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-send-card__header > .button {
    justify-content: center;
    width: 100%;
  }

  .dashboard-send-card__metrics {
    grid-template-columns: 1fr;
    padding: 1rem 1.25rem 1.15rem;
  }

  .dashboard-published-card {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .dashboard-published-card__actions {
    grid-column: 1 / -1;
  }

  .dashboard-published-card__actions .button {
    flex: 1;
    text-align: center;
  }

  .dashboard-maker {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .tap-editor-heading .page-heading__actions,
  .tap-editor-heading .page-heading__actions form,
  .tap-editor-heading .page-heading__actions button {
    width: 100%;
  }

  .tap-editor-hero {
    grid-template-columns: 1fr;
    padding: 1.4rem;
  }

  .tap-editor-hero__actions,
  .tap-editor-hero__actions form,
  .tap-editor-hero__actions .button {
    width: 100%;
  }

  .tap-editor-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tap-editor-progress__step:nth-child(3) {
    border-left: 0;
  }

  .tap-editor-progress__step:nth-child(n + 3) {
    border-top: 1px solid var(--border-subtle);
  }

  .editor-panel__heading {
    align-items: stretch;
    flex-direction: column;
  }

  .editor-panel__heading > .button {
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  .tap-editor-grid {
    grid-template-columns: 1fr;
  }

  .form-field--wide {
    grid-column: auto;
  }

  .editor-callout {
    align-items: stretch;
    flex-direction: column;
  }

  .editor-callout form,
  .editor-callout button {
    width: 100%;
  }

  .form-section-heading {
    align-items: flex-start;
  }

  .form-section-heading > .status-badge {
    margin-left: 0;
  }

  .generation-dialog {
    align-items: flex-start;
    flex-direction: column;
  }

  .confirmation-dialog {
    padding: 1.4rem;
  }

  .confirmation-dialog__heading {
    align-items: flex-start;
  }

  .confirmation-dialog__actions {
    flex-direction: column-reverse;
  }

  .confirmation-dialog__actions .button {
    width: 100%;
  }

  .feedback-dialog {
    padding: 1.4rem;
  }

  .feedback-dialog__heading {
    align-items: flex-start;
  }

  .feedback-dialog__actions {
    flex-direction: column-reverse;
  }

  .feedback-dialog__actions .button,
  .feedback-dialog__actions input[type="submit"] {
    width: 100%;
  }

  .result-card__heading {
    flex-direction: column;
  }

  .send-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .send-summary__card--sender {
    grid-column: 1 / -1;
  }

  .send-audience-panel__heading {
    flex-direction: column;
  }

  .send-audience-panel__actions,
  .send-audience-panel__actions form,
  .send-audience-panel__actions button {
    width: 100%;
  }

  .tap-library-toolbar,
  .tap-search,
  .sends-toolbar,
  .sends-search,
  .recipient-toolbar,
  .recipient-search {
    align-items: stretch;
    flex-direction: column;
  }

  .tap-search__field,
  .sends-search__field,
  .recipient-search__field {
    flex-basis: auto;
    max-width: none;
  }

  .tap-search .button,
  .tap-search input[type="submit"],
  .sends-search .button,
  .sends-search input[type="submit"],
  .recipient-search .button,
  .recipient-search input[type="submit"] {
    text-align: center;
    width: 100%;
  }

  .tap-library-toolbar__count,
  .sends-toolbar__count,
  .recipient-toolbar__count {
    text-align: center;
  }

  .recipient-editor-heading .page-heading__actions,
  .recipient-editor-heading .page-heading__actions .button,
  .recipient-editor-heading .page-heading__actions button {
    width: 100%;
  }

  .recipient-editor-heading .page-heading__actions .button {
    text-align: center;
  }

  .recipient-editor-card__heading,
  .recipient-group-section__heading,
  .recipient-editor-fields,
  .recipient-group-options,
  .recipient-group-section__empty {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .recipient-editor-fields {
    grid-template-columns: 1fr;
  }

  .recipient-editor-fields .form-field--wide {
    grid-column: auto;
  }

  .recipient-group-options {
    grid-template-columns: 1fr;
  }

  .recipient-editor-actions,
  .recipient-editor-actions .button,
  .recipient-editor-actions input[type="submit"] {
    width: 100%;
  }

  .recipient-editor-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .recipient-editor-actions .button {
    text-align: center;
  }

  .tap-library-item {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .tap-library-item__heading {
    flex-direction: column;
  }

  .tap-library-item__badges {
    justify-content: flex-start;
  }

  .tap-library-item__action {
    text-align: center;
  }

  .send-list-item {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .send-list-item__heading {
    flex-direction: column;
  }

  .send-list-item__actions {
    flex-direction: column;
  }

  .send-list-item__actions .button {
    text-align: center;
  }

  .send-audience-heading > .button {
    text-align: center;
    width: 100%;
  }

  .audience-picker__grid {
    grid-template-columns: 1fr;
  }

  .audience-search {
    align-items: stretch;
    flex-direction: column;
  }

  .audience-search > span {
    text-align: right;
  }

  .audience-picker__footer {
    align-items: stretch;
    flex-direction: column;
    position: static;
  }

  .audience-picker__actions {
    flex-direction: column-reverse;
  }

  .audience-picker__actions .button,
  .audience-picker__actions input[type="submit"] {
    text-align: center;
    width: 100%;
  }

  .group-editor-heading .page-heading__actions,
  .group-editor-heading .page-heading__actions .button,
  .group-editor-heading .page-heading__actions button {
    width: 100%;
  }

  .group-editor-heading .page-heading__actions .button {
    text-align: center;
  }

  .groups-heading > .button {
    text-align: center;
    width: 100%;
  }

  .follow-up-heading > .button {
    text-align: center;
    width: 100%;
  }

  .follow-up-source {
    padding: 1.15rem;
  }

  .follow-up-editor-card__heading,
  .follow-up-editor-grid,
  .follow-up-editor-card__footer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .follow-up-editor-grid {
    grid-template-columns: 1fr;
  }

  .follow-up-editor-card__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .follow-up-editor-card__footer input[type="submit"] {
    width: 100%;
  }

  .group-library-item__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
  }

  .group-library-item__count {
    align-self: flex-start;
  }

  .group-library-item__footer .button {
    text-align: center;
  }

  .group-editor-card__heading,
  .group-editor-card__name,
  .group-member-section__heading,
  .group-archived-notice {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .group-member-section__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .group-editor-actions,
  .group-editor-actions .button,
  .group-editor-actions input[type="submit"] {
    width: 100%;
  }

  .group-editor-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .group-editor-actions .button {
    text-align: center;
  }

  .knowledge-entry__header {
    align-items: stretch;
    flex-direction: column;
    padding: 1.25rem;
  }

  .knowledge-entry__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .knowledge-entry__actions > .button {
    min-width: 0;
  }

  .knowledge-entry__checklist {
    padding: 1.25rem;
  }

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

  .team-settings > .settings-panel__heading,
  .team-member {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .team-settings__limit {
    flex-basis: 100%;
    margin-left: 3.6rem;
  }

  .team-invitation-form {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .team-invitation-form input[type="submit"] {
    width: 100%;
  }

  .team-member__actions {
    flex-basis: 100%;
    margin-left: 2.9rem;
  }

  .team-member__role-form {
    flex: 1;
  }

  .organisation-heading > .button {
    text-align: center;
    width: 100%;
  }

  .settings-list > div {
    align-items: start;
    gap: 0.25rem;
    grid-template-columns: 1fr;
  }

  .settings-panel {
    padding: 1.25rem;
  }

  .organisation-settings-form .form-actions,
  .organisation-settings-form .form-actions .button,
  .organisation-settings-form .form-actions input[type="submit"] {
    width: 100%;
  }

  .organisation-settings-form .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .organisation-settings-form .form-actions .button {
    text-align: center;
  }

  .question-editor-context {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }

  .question-editor-context span {
    border-left: 0;
    padding-left: 0;
  }

  .answer-options {
    padding: 1rem;
  }

  .answer-option-row {
    align-items: start;
    grid-template-columns: 1.25rem minmax(0, 1fr);
  }

  .answer-option-row input[type="radio"] {
    grid-row: 1 / 3;
    margin-top: 0.35rem;
  }

  .answer-option-row label,
  .answer-option-row input[type="text"] {
    grid-column: 2;
  }

  .question-list li {
    align-items: start;
    gap: 0.75rem;
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .question-list__action {
    grid-column: 2;
  }

  .page {
    margin-top: 1rem;
  }

  .page--authenticated {
    margin-top: 0;
    padding: 1.25rem 1rem 2rem;
  }

  .flash-stack {
    left: 1rem;
    max-width: none;
    right: 1rem;
    top: 0.75rem;
    width: auto;
  }

  .tap-version-hero {
    grid-template-columns: 1fr;
    padding: 1.4rem;
  }

  .tap-version-hero h1 {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }

  .tap-version-hero__actions {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tap-version-hero__actions .button {
    width: 100%;
  }

  .tap-document {
    padding: 1.25rem;
  }

  .tap-objective {
    padding: 1.1rem;
  }

  .tap-section__content,
  .tap-version-checklist {
    margin-left: 0;
  }

  .tap-answer {
    align-items: start;
    grid-template-columns: 1.75rem minmax(0, 1fr);
  }

  .tap-answer__correct {
    grid-column: 2;
  }
}

@keyframes interface-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes flash-enter {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes flash-leave {
  to {
    opacity: 0;
    transform: translateY(-4px);
  }
}

@keyframes progress-enter {
  from {
    opacity: 0;
    transform: scaleX(0.88);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

.operator-hero {
  align-items: center;
  background:
    radial-gradient(circle at 88% 10%, rgb(49 87 213 / 16%), transparent 18rem),
    linear-gradient(135deg, var(--surface), var(--surface-subtle));
  border: 1px solid var(--primary-border);
  border-radius: 1rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
}

.operator-hero h1,
.operator-hero p,
.operator-detail-heading h1,
.operator-detail-heading p {
  margin-top: 0;
}

.operator-hero h1 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  letter-spacing: -0.04em;
  margin-bottom: 0.45rem;
}

.operator-hero > div > p:last-child,
.operator-detail-heading > div > p:last-child {
  color: var(--muted);
  margin-bottom: 0;
}

.operator-eyebrow {
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.operator-access-badge {
  align-items: center;
  background: var(--primary-soft);
  border: 1px solid var(--primary-border);
  border-radius: 999px;
  color: var(--primary-dark);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 750;
  gap: 0.45rem;
  padding: 0.5rem 0.75rem;
}

.operator-access-badge svg {
  height: 1rem;
  width: 1rem;
}

.operator-summary {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.25rem;
}

.operator-summary > div {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  padding: 1rem 1.1rem;
}

.operator-summary span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.operator-summary strong {
  font-size: 1.65rem;
  letter-spacing: -0.04em;
  margin-top: 0.15rem;
}

.operator-filters {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.85rem;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: minmax(16rem, 1fr) auto auto auto auto;
  margin-bottom: 1.25rem;
  padding: 0.8rem;
}

.operator-search {
  align-items: center;
  display: flex;
  position: relative;
}

.operator-search svg {
  color: var(--muted);
  height: 1.05rem;
  left: 0.8rem;
  pointer-events: none;
  position: absolute;
  width: 1.05rem;
}

.operator-search input {
  padding-left: 2.4rem;
  width: 100%;
}

.operator-table {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.9rem;
}

.operator-table th:first-child,
.operator-table td:first-child {
  padding-left: 1.1rem;
}

.operator-table th:last-child,
.operator-table td:last-child {
  padding-right: 1.1rem;
}

.operator-table td > strong,
.operator-table td > span:not(.status-badge),
.operator-table td > small {
  display: block;
}

.operator-table td > span:not(.status-badge),
.operator-table td > small,
.operator-table time {
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

.operator-table td > .status-badge {
  display: inline-flex;
  margin-top: 0;
}

.operator-detail-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.operator-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0.9rem;
  overflow: hidden;
}

.operator-panel > header {
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  gap: 0.7rem;
  padding: 1rem 1.15rem;
}

.operator-panel > header svg {
  color: var(--primary);
  height: 1.15rem;
  width: 1.15rem;
}

.operator-panel h2 {
  font-size: 1rem;
  margin: 0;
}

.operator-panel dl {
  margin: 0;
  padding: 0 1.15rem;
}

.operator-panel dl > div {
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.8rem 0;
}

.operator-panel dl > div:last-child {
  border-bottom: 0;
}

.operator-panel dt {
  color: var(--muted);
}

.operator-panel dd {
  font-weight: 700;
  margin: 0;
  text-align: right;
}

.operator-panel > p,
.operator-panel > ul {
  color: var(--muted);
  margin: 0;
  padding: 0.9rem 1.15rem 1.1rem;
}

.operator-panel > ul {
  list-style: none;
}

.operator-panel li {
  color: var(--ink);
  overflow-wrap: anywhere;
  padding: 0.35rem 0;
}

.operator-panel--wide {
  grid-column: 1 / -1;
}

.operator-lifecycle-action {
  align-items: center;
  background: var(--surface-subtle);
  border-top: 1px solid var(--border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem 1.15rem;
}

.operator-lifecycle-action strong,
.operator-lifecycle-action p {
  margin: 0;
}

.operator-lifecycle-action p {
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 0.25rem;
}

.operator-lifecycle-action form {
  flex: 0 0 auto;
}

.operator-history {
  list-style: none;
  margin: 0;
  padding: 0 1.15rem;
}

.operator-history li {
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
  display: grid;
  gap: 0.8rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.85rem 0;
}

.operator-history li:last-child {
  border-bottom: 0;
}

.operator-history li > span {
  align-items: center;
  background: var(--primary-soft);
  border-radius: 50%;
  color: var(--primary);
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.operator-history svg {
  height: 1rem;
  width: 1rem;
}

.operator-history strong,
.operator-history small {
  display: block;
}

.operator-history small,
.operator-history time {
  color: var(--muted);
  font-size: 0.78rem;
}

.operator-danger-zone {
  align-items: center;
  background: var(--danger-background);
  border: 1px solid var(--danger-border);
  border-radius: 0.9rem;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: 1.15rem;
}

.operator-danger-zone > div {
  align-items: flex-start;
  display: flex;
  gap: 0.8rem;
}

.operator-danger-zone > div > span {
  align-items: center;
  background: var(--surface);
  border-radius: 0.65rem;
  color: var(--danger);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.operator-danger-zone svg {
  height: 1.15rem;
  width: 1.15rem;
}

.operator-danger-zone h2,
.operator-danger-zone p {
  margin: 0;
}

.operator-danger-zone h2 {
  color: var(--danger);
  font-size: 1rem;
}

.operator-danger-zone p {
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 0.3rem;
  max-width: 38rem;
}

.operator-deletion-form {
  flex: 0 0 min(25rem, 45%);
}

.operator-deletion-form label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.operator-deletion-form > div {
  display: flex;
  gap: 0.55rem;
}

.operator-deletion-form input[type="text"] {
  min-width: 0;
  width: 100%;
}

@media (max-width: 60rem) {
  .operator-filters {
    grid-template-columns: 1fr 1fr;
  }

  .operator-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 40rem) {
  .operator-hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }

  .operator-summary,
  .operator-detail-grid {
    grid-template-columns: 1fr;
  }

  .operator-lifecycle-action {
    align-items: stretch;
    flex-direction: column;
  }

  .operator-lifecycle-action form,
  .operator-lifecycle-action .button {
    width: 100%;
  }

  .operator-history li {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .operator-history time {
    grid-column: 2;
  }

  .operator-danger-zone,
  .operator-deletion-form > div {
    align-items: stretch;
    flex-direction: column;
  }

  .operator-deletion-form {
    flex-basis: auto;
    width: 100%;
  }

  .operator-filters {
    align-items: stretch;
    display: flex;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-delay: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  @page {
    margin: 16mm;
  }

  html[data-theme="dark"] {
    color-scheme: light;
    --background: #f6f7f9;
    --border: #d9dee7;
    --border-subtle: #e9edf3;
    --ink: #172033;
    --muted: #5f6b7a;
    --primary: #3157d5;
    --primary-border: #cbd7ff;
    --primary-dark: #2444ad;
    --primary-soft: #edf2ff;
    --surface: #ffffff;
    --surface-subtle: #fbfcfe;
  }

  body.tap-version-page {
    background: #ffffff;
    color: #111827;
    font-size: 10pt;
    line-height: 1.4;
  }

  .tap-version-page .sidebar,
  .tap-version-page .mobile-header,
  .tap-version-page .flash,
  .tap-version-page .page-heading__actions {
    display: none !important;
  }

  .tap-version-page .app-content {
    margin-left: 0;
  }

  .tap-version-page .page--authenticated {
    margin: 0;
    max-width: none;
    padding: 0;
  }

  .tap-version-page .print-document-header {
    align-items: center;
    border-bottom: 1px solid #cbd5e1;
    color: #475569;
    display: flex;
    font-size: 9pt;
    justify-content: space-between;
    margin-bottom: 8mm;
    padding-bottom: 3mm;
  }

  .tap-version-page .print-document-header__brand {
    color: #172033;
    font-size: 12pt;
    font-weight: 750;
  }

  .tap-version-page .tap-version-heading {
    background: none;
    border: 0;
    border-bottom: 2px solid #172033;
    border-radius: 0;
    box-shadow: none;
    display: block;
    margin-bottom: 8mm;
    overflow: visible;
    padding: 0 0 5mm;
  }

  .tap-version-page .tap-version-heading h1 {
    font-size: 22pt;
    line-height: 1.15;
    margin-bottom: 3mm;
  }

  .tap-version-page .tap-version-hero__status {
    margin-bottom: 3mm;
  }

  .tap-version-page .tap-version-hero__status .status-badge {
    background: none;
    color: #111827;
    padding: 0;
  }

  .tap-version-page .tap-version-hero__status svg,
  .tap-version-page .tap-version-hero .tag-badges {
    display: none;
  }

  .tap-version-page .tap-version-hero__meta {
    color: #475569;
    font-size: 9pt;
    margin-top: 0;
  }

  .tap-version-page .tap-document {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }

  .tap-version-page .tap-document,
  .tap-version-page .text-content,
  .tap-version-page .action-checklist {
    max-width: none;
  }

  .tap-version-page .tap-objective {
    background: none;
    border-color: #94a3b8;
    border-radius: 0;
    padding: 4mm;
  }

  .tap-version-page .tap-objective__icon,
  .tap-version-page .tap-section__icon,
  .tap-version-page .tap-source__icon,
  .tap-version-page .tap-source__chevron {
    display: none;
  }

  .tap-version-page .tap-objective h2,
  .tap-version-page .tap-section__heading h2,
  .tap-version-page .tap-source summary strong {
    break-after: avoid;
    font-size: 15pt;
    letter-spacing: normal;
    margin: 0 0 2.5mm;
    text-transform: none;
  }

  .tap-version-page .tap-objective p {
    font-size: 10pt;
  }

  .tap-version-page .tap-section {
    margin-top: 7mm;
    padding-top: 7mm;
  }

  .tap-version-page .tap-section__heading p,
  .tap-version-page .tap-source summary small {
    display: none;
  }

  .tap-version-page .tap-section__content,
  .tap-version-page .tap-version-checklist {
    margin-left: 0;
  }

  .tap-version-page .published-content h3 {
    break-after: avoid;
    font-size: 11pt;
    margin-bottom: 2mm;
  }

  .tap-version-page .published-content p,
  .tap-version-page .published-content li {
    orphans: 3;
    widows: 3;
  }

  .tap-version-page .tap-version-checklist li {
    break-inside: avoid;
    padding-bottom: 2mm;
  }

  .tap-version-page .published-questions {
    gap: 3mm;
    padding-left: 0;
  }

  .tap-version-page .published-questions > .tap-question-card {
    background: none;
    border-color: #cbd5e1;
    break-inside: avoid;
    border-radius: 0;
  }

  .tap-version-page .tap-question-card__heading,
  .tap-version-page .tap-answer-list,
  .tap-version-page .tap-question-card__explanation {
    background: none;
    padding: 3mm 4mm;
  }

  .tap-version-page .tap-answer {
    background: none;
    border-color: #e2e8f0;
    break-inside: avoid;
    padding: 2mm;
  }

  .tap-version-page .tap-answer__letter {
    background: none;
    border: 1px solid #94a3b8;
    color: #111827;
  }

  .tap-version-page .tap-answer.answer-option--correct,
  .tap-version-page .answer-option--correct .tap-answer__letter,
  .tap-version-page .tap-answer__correct {
    background: none;
    color: #111827;
  }

  .tap-version-page .tap-source {
    border: 0;
    border-radius: 0;
    break-before: auto;
    margin-top: 8mm;
    overflow: visible;
  }

  .tap-version-page .tap-source summary {
    background: none;
    display: block;
    padding: 0;
  }

  .tap-version-page .tap-source__content {
    border-top: 1px solid #cbd5e1;
    margin-top: 2mm;
    padding: 3mm 0 0;
  }

  .tap-version-page a {
    color: inherit;
    text-decoration: none;
  }
}
