main {
  max-inline-size: var(--raft-page-max);
  margin-inline: auto;
  padding: var(--raft-space-7) var(--raft-space-5);
}
main.full {
  max-inline-size: none;
  padding: var(--raft-space-5);
}
@media (max-width: 640px) {
  main { padding-inline: var(--raft-space-4); }
}

.raft-page-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--raft-space-2);
}
.raft-page-header:has(+ .raft-pills) { margin-block-end: var(--raft-space-4); }
.raft-pills { margin-block-end: var(--raft-space-6); }

.raft-page-section + .raft-page-section { margin-block-start: var(--raft-space-7); }
.raft-section-heading {
  margin-block-end: var(--raft-space-3);
  font-size: var(--raft-font-size-lg);
  line-height: var(--raft-line-height-heading);
}
.raft-section-intro {
  max-inline-size: var(--raft-measure);
  margin-block: calc(var(--raft-space-2) * -1) var(--raft-space-4);
  color: var(--raft-color-text-secondary);
}

main.raft-auth {
  display: grid;
  justify-items: center;
  padding-block: var(--raft-space-8);
}
.raft-auth__card {
  display: grid;
  gap: var(--raft-space-4);
  inline-size: min(100%, 400px);
  padding: var(--raft-space-6);
}
.raft-auth__brand .brand-logo { block-size: 28px; }
.raft-auth__title {
  font-family: var(--raft-font-brand);
  font-size: var(--raft-font-size-xl);
  font-weight: var(--raft-font-weight-semibold);
  letter-spacing: var(--raft-tracking-tight);
  line-height: var(--raft-line-height-snug);
}
.raft-auth__intro { color: var(--raft-color-text-secondary); }
.raft-auth__form {
  display: grid;
  gap: var(--raft-field-gap);
}
.raft-auth__form .raft-field + .raft-field { margin-block-start: 0; }
.raft-auth__submit {
  inline-size: 100%;
  margin-block-start: var(--raft-space-2);
}
.raft-auth__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--raft-space-4);
  font-size: var(--raft-font-size-sm);
}
.raft-auth__links a {
  display: inline-flex;
  align-items: center;
  gap: var(--raft-gap-icon);
  text-decoration: underline;
}
.raft-auth__qr {
  justify-self: center;
  padding: var(--raft-space-3);
}
.raft-auth__qr svg {
  display: block;
  inline-size: 180px;
  block-size: 180px;
  outline: var(--raft-image-outline);
  outline-offset: -1px;
  background: var(--raft-color-bg-surface);
}

.raft-search { margin-block-end: var(--raft-space-4); max-inline-size: 360px; }
.raft-search__status { margin-block-end: var(--raft-space-3); color: var(--raft-color-text-secondary); }
.raft-search__status:empty { margin: 0; }
.raft-company-grid,
.raft-dashboard-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: var(--raft-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.raft-company-card {
  display: flex;
  align-items: flex-start;
  gap: var(--raft-space-3);
  block-size: 100%;
  padding: var(--raft-space-4);
}
.raft-company-card__text {
  display: grid;
  flex: 1 1 8rem;
  min-inline-size: 0;
}
.raft-company-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--raft-space-1) var(--raft-space-2);
  margin-block-start: var(--raft-space-1);
}
.raft-company-card__name {
  overflow: hidden;
  font-weight: var(--raft-font-weight-semibold);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.raft-dashboard-entry {
  display: flex;
  flex-direction: column;
  gap: var(--raft-space-3);
  padding: var(--raft-space-4);
}
.raft-dashboard-entry__link {
  display: grid;
  gap: var(--raft-space-1);
  text-decoration: none;
}
.raft-dashboard-entry__link:hover .raft-card__title { text-decoration: underline; }
.raft-launcher { display: grid; gap: var(--raft-space-4); padding: var(--raft-space-4); }
.raft-launcher__form { display: grid; gap: var(--raft-space-2); }
.raft-launcher__label {
  display: flex;
  align-items: center;
  gap: var(--raft-space-2);
  font-weight: var(--raft-font-weight-semibold);
}
.raft-launcher__row .raft-input { flex: 1 1 16rem; }
.raft-launcher__verbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: var(--raft-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.raft-launcher__verb {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: var(--raft-space-1);
  inline-size: 100%;
  block-size: 100%;
  padding: var(--raft-space-3);
  color: var(--raft-color-text-primary);
  background: var(--raft-color-bg-raised);
  border: 1px solid var(--raft-color-border-subtle);
  border-radius: var(--raft-radius-card);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.raft-launcher__verb:hover { background: var(--raft-color-bg-surface-hover); }
.raft-launcher__verb span { font-weight: var(--raft-font-weight-semibold); }
.raft-launcher__verb small { color: var(--raft-color-text-secondary); }
.raft-dashboard-entry__headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--raft-space-1) var(--raft-space-2);
}
.raft-dashboard-entry__value {
  font-size: var(--raft-font-size-lg);
  font-variant-numeric: tabular-nums;
}
.raft-thumb {
  display: block;
  inline-size: 100%;
  max-block-size: 96px;
  margin-block-end: var(--raft-space-2);
  padding: var(--raft-space-1);
  background: var(--raft-color-bg-sunken);
  border-radius: var(--raft-radius-chip);
}
.raft-thumb__box { fill: var(--raft-color-border-default); }
.raft-thumb__box--kpi { fill: var(--raft-color-accent-solid); }
.raft-thumb__box--chart { fill: var(--raft-color-accent-border); }
.raft-thumb__box--table { fill: var(--raft-color-border-strong); }
.raft-thumb__box--text { fill: var(--raft-color-border-subtle); }
.raft-thumb__box--media { fill: var(--raft-color-success-solid); }
.raft-dashboard-entry__admin {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--raft-space-2);
  margin-block-start: auto;
}
.card-children {
  display: grid;
  gap: var(--raft-space-1);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--raft-font-size-sm);
}
.card-children ul {
  margin: var(--raft-space-1) 0 0;
  padding-inline-start: var(--raft-space-3);
  border-inline-start: 1px solid var(--raft-color-border-subtle);
  list-style: none;
}
.card-children a {
  color: var(--raft-color-text-secondary);
  text-decoration: underline;
}
.card-children a:hover { color: var(--raft-color-text-primary); }

.raft-setup-card { padding: var(--raft-space-5); }
.raft-setup-card .raft-card__header { flex-wrap: nowrap; }
.raft-setup-card__icon { color: var(--raft-color-text-secondary); }
.raft-setup-card__form {
  display: grid;
  gap: var(--raft-space-3);
  max-inline-size: 520px;
}
.raft-setup-card__actions,
.raft-setup-card__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--raft-space-3);
  margin: 0;
}
.raft-source-list {
  display: grid;
  margin: var(--raft-space-4) 0 0;
  padding: 0;
  list-style: none;
}
.raft-source-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--raft-space-3);
  padding-block: var(--raft-space-3);
  border-block-start: 1px solid var(--raft-color-border-subtle);
}
.raft-source-row__text {
  display: grid;
  flex: 1 1 260px;
  gap: var(--raft-space-1);
  min-inline-size: 0;
}
.raft-source-row__name {
  font-weight: var(--raft-font-weight-medium);
  overflow-wrap: anywhere;
}

.raft-tree__parent {
  display: inline-block;
  inline-size: 260px;
}
.raft-tree__parent > .raft-input { min-block-size: 28px; }
.raft-tree > li + li { border-block-start: 1px solid var(--raft-color-border-subtle); }

.raft-prose {
  max-inline-size: var(--raft-measure);
  font-size: var(--raft-font-size-base);
  line-height: var(--raft-line-height-body);
}
.raft-prose h1 {
  margin-block-end: var(--raft-space-3);
  font-family: var(--raft-font-brand);
  font-size: var(--raft-font-size-xl);
  font-weight: var(--raft-font-weight-semibold);
  letter-spacing: var(--raft-tracking-tight);
  line-height: var(--raft-line-height-snug);
}
.raft-prose h2 {
  margin-block: var(--raft-space-6) var(--raft-space-2);
  font-size: var(--raft-font-size-lg);
  line-height: var(--raft-line-height-heading);
}
.raft-prose p + p { margin-block-start: var(--raft-space-3); }

.raft-error-page {
  max-inline-size: 560px;
  margin: var(--raft-space-8) auto 0;
}
.raft-error-main { padding-block-start: var(--raft-space-9); }

.raft-onboarding {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: var(--raft-space-5);
  align-items: start;
}
@media (max-width: 900px) {
  .raft-onboarding { grid-template-columns: minmax(0, 1fr); }
}
.raft-onboarding__companies {
  display: grid;
  gap: var(--raft-space-3);
}
.raft-onboarding__company { padding: var(--raft-space-4); }
.raft-onboarding__company .raft-card__header { margin-block-end: var(--raft-space-2); }
.raft-onboarding__dashboards {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.raft-onboarding__dashboard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--raft-space-3);
  min-block-size: var(--raft-row-h);
  border-block-start: 1px solid var(--raft-color-border-subtle);
}
.raft-onboarding__dashboard a { text-decoration: underline; }
.raft-onboarding__side > .raft-chat {
  block-size: clamp(480px, calc(100dvh - 220px), 800px);
  overflow: hidden;
  border-radius: var(--raft-radius-card);
  box-shadow: var(--raft-shadow-border);
}
