/* Brand portal: brand auth, brand dashboard, creator Brand deals, staff Brands review. */

.brand-auth__points{
  margin:var(--space-4) 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.brand-auth__points li{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.3rem .75rem;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:var(--fs-sm);
  font-weight:600;
}
.brand-auth__points li::before{
  content:"✓";
  font-weight:700;
}
.brand-auth__tabs{
  max-width:420px;
  margin-bottom:clamp(1.25rem, 3vw, 1.75rem);
}
.brand-auth__link{
  padding:0;
  border:0;
  background:none;
  font:inherit;
  color:var(--brand);
  text-decoration:underline;
  cursor:pointer;
}
.brand-auth__link:focus-visible{
  outline:none;
  box-shadow:var(--ring);
  border-radius:4px;
}
.brand-optional{
  font-weight:400;
  color:var(--text-secondary);
  font-size:var(--fs-xs);
}
.brand-password{
  position:relative;
  display:block;
}
.brand-password .control{
  padding-right:2.75rem;
}
.brand-password__toggle{
  position:absolute;
  right:.5rem;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  padding:.35rem;
  border:0;
  background:transparent;
  color:var(--text-secondary);
  cursor:pointer;
  border-radius:var(--radius-sm);
}
.brand-password__toggle:focus-visible{
  outline:none;
  box-shadow:var(--ring);
}
.brand-check{
  display:flex !important;
  gap:var(--space-3);
  align-items:flex-start;
  font-weight:400 !important;
  font-size:var(--fs-sm);
  line-height:1.45;
}
.brand-check input{
  margin-top:.2rem;
  flex:none;
}

/* Panels + lists */
.brand-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  flex-wrap:wrap;
}
.brand-inline-select .control{
  min-width:14rem;
}
.brand-status{
  padding:var(--space-4) var(--space-5);
  border-radius:var(--radius-md);
  border:1px solid var(--border);
  background:var(--surface-2);
}
.brand-status p{ margin:var(--space-2) 0 0; }
.brand-status--pending{ background:var(--warn-soft); border-color:#F0D9A8; }
.brand-status--rejected,.brand-status--disabled{ background:var(--error-soft); border-color:#F3C3BF; }

.brand-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:var(--space-3);
  margin:var(--space-4) 0 var(--space-6);
}
.brand-stats button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-1);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.brand-stats button:hover,.brand-stats button:focus-visible{
  border-color:var(--border-strong);
  box-shadow:var(--shadow-sm);
  outline:none;
}
.brand-stats b{ font-size:var(--fs-2); }
.brand-stats span{ font-size:var(--fs-sm); color:var(--text-secondary); }
.brand-steps{
  margin:0 0 var(--space-6);
  padding-left:1.25rem;
  display:grid;
  gap:var(--space-3);
}

.brand-list{
  list-style:none;
  margin:var(--space-4) 0 0;
  padding:0;
  display:grid;
  gap:var(--space-3);
}
.brand-list__item{
  display:flex;
  justify-content:space-between;
  gap:var(--space-4);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  flex-wrap:wrap;
}
.brand-list__main{ flex:1 1 320px; min-width:0; }
.brand-list__main p{ margin:var(--space-1) 0 0; }
.brand-list__title{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  flex-wrap:wrap;
}
.brand-list__counts{ font-size:var(--fs-sm); font-weight:600; }
.brand-list__actions{
  display:flex;
  gap:var(--space-2);
  align-items:flex-start;
  flex-wrap:wrap;
}
/* Brand review board */
.brand-board-toolbar{
  display:grid;
  gap:var(--space-3);
  margin:var(--space-4) 0 var(--space-4);
}
.brand-board-toolbar__row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 190px 160px auto;
  gap:var(--space-2);
  align-items:center;
}
.brand-board-toolbar__row label{ display:block; margin:0; }
.brand-board-toolbar__row .control{
  box-sizing:border-box;
  width:100%;
  height:44px;
  margin:0;
  padding-top:0;
  padding-bottom:0;
  line-height:42px;
  font-size:var(--fs-sm);
  border-radius:12px;
  border-color:var(--border);
  background-color:#fff;
  box-shadow:0 1px 2px rgba(11,15,20,.04);
}
.brand-board-toolbar__search{ position:relative; }
.brand-board-toolbar__search svg{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-secondary);
  opacity:.7;
  pointer-events:none;
}
.brand-board-toolbar__search .control{ padding-left:42px; }
.brand-board-toolbar__chips{
  display:inline-flex;
  flex-wrap:wrap;
  justify-self:start;
  gap:4px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.75);
}
.brand-status-chip{
  --chip-color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:34px;
  padding:0 .55rem 0 .85rem;
  border:0;
  border-radius:var(--radius-pill);
  background:transparent;
  color:var(--text-secondary);
  font:inherit;
  font-size:var(--fs-sm);
  font-weight:600;
  cursor:pointer;
  transition:background .15s, color .15s;
}
.brand-status-chip::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--chip-color);
}
.brand-status-chip--all::before{ display:none; }
.brand-status-chip--pending{ --chip-color:#D98E04; }
.brand-status-chip--approved{ --chip-color:var(--accent); }
.brand-status-chip--rejected{ --chip-color:var(--error); }
.brand-status-chip--disabled{ --chip-color:#8B8680; }
.brand-status-chip span{
  min-width:1.4rem;
  padding:.05rem .4rem;
  border-radius:var(--radius-pill);
  background:var(--surface-2);
  font-size:var(--fs-xs);
  font-weight:700;
  text-align:center;
  color:var(--ink);
}
.brand-status-chip:hover{ color:var(--ink); background:var(--surface-2); }
.brand-status-chip:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.brand-status-chip[aria-pressed="true"]{ background:var(--ink); color:#fff; }
.brand-status-chip[aria-pressed="true"] span{ background:rgba(255,255,255,.2); color:#fff; }

.brand-kanban{
  --col-color:#8B8680;
  display:grid;
  grid-template-columns:repeat(4,minmax(215px,1fr));
  gap:var(--space-3);
  overflow-x:auto;
  padding-bottom:var(--space-2);
  align-items:start;
}
.brand-kanban--single{ grid-template-columns:1fr; gap:var(--space-5); overflow:visible; }
.brand-kanban--single .brand-kanban__col{ padding:0; background:none; gap:var(--space-3); }
.brand-kanban--single .brand-kanban__head{ padding:0 0 var(--space-2); border-bottom:1px solid var(--border); }
.brand-kanban--single .brand-kanban__count{ background:color-mix(in srgb, var(--col-color) 12%, #fff); }
.brand-kanban--single .brand-kanban__list{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--space-3); }
.brand-kanban--single .brand-kanban__empty{ background:rgba(255,255,255,.6); }
.brand-kanban__col{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  min-width:0;
  padding:var(--space-2);
  border-radius:18px;
  background:rgba(241,239,235,.7);
  background:color-mix(in srgb, var(--col-color) 7%, rgba(255,255,255,.7));
}
.brand-kanban__col--pending{ --col-color:#D98E04; }
.brand-kanban__col--approved{ --col-color:var(--accent); }
.brand-kanban__col--rejected{ --col-color:var(--error); }
.brand-kanban__col--disabled{ --col-color:#8B8680; }
.brand-kanban__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-2) var(--space-2) 0;
}
.brand-kanban__head h2{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0;
  font-size:var(--fs-sm);
  font-weight:700;
  color:var(--ink);
}
.brand-kanban__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--col-color);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--col-color) 20%, transparent);
}
.brand-kanban__count{
  min-width:1.6rem;
  padding:.1rem .5rem;
  border-radius:var(--radius-pill);
  background:#fff;
  font-size:var(--fs-xs);
  font-weight:700;
  text-align:center;
  color:var(--col-color);
}
.brand-kanban__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--space-2);
}
.brand-kanban__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  padding:var(--space-3);
  padding-left:calc(var(--space-3) + 3px);
  border:1px solid rgba(11,15,20,.07);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(11,15,20,.04);
  min-width:0;
  overflow:hidden;
  transition:box-shadow .15s, border-color .15s;
}
.brand-kanban__card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--col-color);
}
.brand-kanban__card:hover{ border-color:rgba(11,15,20,.14); box-shadow:0 4px 14px rgba(11,15,20,.07); }
.brand-kanban__empty{
  margin:0;
  padding:var(--space-5) var(--space-3);
  border:1.5px dashed color-mix(in srgb, var(--col-color) 30%, transparent);
  border-radius:14px;
  text-align:center;
  font-size:var(--fs-sm);
  color:var(--text-secondary);
  opacity:.85;
}
.brand-card__head{ display:flex; align-items:center; gap:var(--space-2); min-width:0; }
.brand-card__avatar{
  flex:none;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:color-mix(in srgb, var(--col-color) 12%, #fff);
  color:var(--col-color);
  font-weight:800;
  font-size:.9rem;
}
.brand-card__title{ display:grid; gap:.15rem; min-width:0; }
.brand-card__title strong{ font-size:.95rem; line-height:1.2; overflow-wrap:anywhere; }
.brand-card__tag{
  justify-self:start;
  padding:0 .45rem;
  border-radius:var(--radius-pill);
  background:var(--surface-2);
  font-size:.7rem;
  font-weight:600;
  line-height:1.6;
  color:var(--text-secondary);
}
.offer-card__fee{ display:grid; gap:.3rem; width:100%; margin-top:.6rem; font-size:.74rem; font-weight:600; color:#4B5563; text-align:left; }
.brand-card__tags{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem; }
.brand-card__meta{
  display:grid;
  gap:.3rem;
  margin:0;
  padding:var(--space-2) 0 0;
  border-top:1px solid rgba(11,15,20,.06);
  font-size:var(--fs-xs);
}
.brand-card__meta > div{ display:flex; align-items:center; gap:.6rem; min-width:0; }
.brand-card__meta dt{ display:inline-flex; flex:none; color:var(--text-secondary); opacity:.7; }
.brand-card__meta dd{ margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.brand-card__meta a{ color:var(--ink); text-decoration:none; }
.brand-card__meta a:hover{ color:var(--brand); text-decoration:underline; }
.brand-card__about{
  margin:0;
  font-size:var(--fs-sm);
  line-height:1.5;
  color:var(--text-secondary);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.brand-card__note{
  margin:0;
  padding:var(--space-2) var(--space-3);
  border-radius:10px;
  background:var(--warn-soft);
  font-size:var(--fs-xs);
  white-space:pre-line;
}
.brand-card__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--space-2);
  padding-top:var(--space-2);
  border-top:1px solid rgba(11,15,20,.06);
}
.brand-card__date{ margin:0; font-size:.72rem; color:var(--text-secondary); opacity:.8; }
.brand-card__actions{ display:flex; gap:.4rem; }
.brand-card__actions:empty{ display:none; }
.brand-card__actions .btn{ min-height:30px; padding:.25rem .75rem; font-size:var(--fs-xs); border-radius:8px; }
.brand-card__danger{ color:var(--error); border-color:color-mix(in srgb, var(--error) 30%, transparent); }
.brand-card__danger:hover:not(:disabled){ background:var(--error-soft); border-color:var(--error); color:var(--error); }
@media (max-width:980px){
  .brand-board-toolbar__row{ grid-template-columns:1fr 1fr; }
  .brand-board-toolbar__search{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .brand-board-toolbar__chips{ flex-wrap:nowrap; overflow-x:auto; max-width:100%; }
  .brand-status-chip{ flex:none; }
  .brand-kanban{ grid-template-columns:repeat(4,minmax(82vw,1fr)); scroll-snap-type:x mandatory; }
  .brand-kanban--single{ grid-template-columns:1fr; }
  .brand-kanban__col{ scroll-snap-align:start; }
  .brand-kanban__card:hover{ transform:none; }
}

.brand-note{
  margin:var(--space-2) 0 0;
  font-size:var(--fs-sm);
  white-space:pre-line;
}
.brand-note--muted{ color:var(--text-secondary); }

.brand-badge{
  display:inline-flex;
  align-items:center;
  padding:.15rem .6rem;
  border-radius:var(--radius-pill);
  font-size:var(--fs-xs);
  font-weight:700;
  background:var(--surface-2);
  color:var(--ink);
  white-space:nowrap;
}
.brand-badge--live,.brand-badge--approved,.brand-badge--accepted,.brand-badge--completed,.brand-badge--offered{
  background:var(--accent-soft);
  color:#0B6B60;
}
.brand-badge--pending,.brand-badge--pending_review,.brand-badge--in_progress,.brand-badge--shortlisted{
  background:var(--warn-soft);
  color:var(--warn);
}
.brand-badge--rejected,.brand-badge--declined,.brand-badge--cancelled,.brand-badge--disabled,.brand-badge--withdrawn{
  background:var(--error-soft);
  color:var(--error);
}

/* Filters */
.brand-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:var(--space-3);
  align-items:end;
  margin:var(--space-4) 0;
}
.brand-filters label{
  display:grid;
  gap:var(--space-1);
  font-size:var(--fs-sm);
  font-weight:600;
}
.brand-filters__actions{
  display:flex;
  gap:var(--space-2);
}

/* Creator cards */
.brand-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
}
.brand-creator,.brand-deal{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  min-width:0;
}
.brand-creator--compact .brand-creator__photo{
  width:44px;
  height:44px;
}
.brand-deal .brand-creator{
  padding:0;
  border:0;
}
.brand-creator__head{
  display:flex;
  gap:var(--space-3);
  align-items:center;
  min-width:0;
}
.brand-creator__photo{
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
  flex:none;
  background:var(--surface-2);
}
.brand-creator__photo--empty{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color:var(--ink);
}
.brand-creator__who{
  display:flex;
  flex-direction:column;
  min-width:0;
  font-size:var(--fs-sm);
}
.brand-creator__who strong{
  font-size:var(--fs-body);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.brand-creator__who a{ color:var(--brand); text-decoration:none; }
.brand-creator__who a:hover{ text-decoration:underline; }
.brand-creator__who span{ color:var(--text-secondary); }
.brand-creator__stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--space-2);
  margin:0;
}
.brand-creator__stats div{
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  text-align:center;
}
.brand-creator__stats dt{ font-size:var(--fs-xs); color:var(--text-secondary); }
.brand-creator__stats dd{ margin:0; font-weight:700; }
.brand-creator__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-2) var(--space-3);
  margin:0;
  font-size:var(--fs-sm);
}
.brand-creator__meta dt{ font-size:var(--fs-xs); color:var(--text-secondary); }
.brand-creator__meta dd{ margin:0; overflow-wrap:anywhere; }
.brand-creator__wide{ grid-column:1 / -1; }
.brand-creator__actions{
  display:flex;
  gap:var(--space-2);
  flex-wrap:wrap;
  align-items:center;
  margin-top:auto;
}
.brand-creator__actions .brand-offer{ width:100%; }
.brand-chips{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1);
  margin:0;
  padding:0;
  list-style:none;
}
.brand-chips li{
  padding:.15rem .55rem;
  border-radius:var(--radius-pill);
  background:var(--brand-soft);
  color:var(--brand-dark);
  font-size:var(--fs-xs);
  font-weight:600;
}
.brand-deal__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-2);
  font-size:var(--fs-sm);
}
.brand-deal__terms{
  display:flex;
  gap:var(--space-4);
  margin:0;
  flex-wrap:wrap;
}
.brand-deal__terms dt{ font-size:var(--fs-xs); color:var(--text-secondary); }
.brand-deal__terms dd{ margin:0; font-weight:700; }
/* Creator lists (CSV shared with a brand) */
.brand-lists-admin{ display:grid; gap:var(--space-5); margin-top:var(--space-4); }
.brand-lists-upload{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-3);
  align-items:end;
  padding:var(--space-5);
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 3px rgba(11,15,20,.05);
}
.brand-lists-upload label{ display:grid; gap:var(--space-1); font-size:var(--fs-sm); font-weight:600; }
.brand-lists-upload__head,.brand-lists-upload__actions,.brand-lists-upload__msg{ grid-column:1 / -1; }
.brand-lists-upload__head h2{ margin:0 0 var(--space-1); font-size:1.1rem; }
.brand-lists-upload__head p{ margin:0; max-width:72ch; }
.brand-lists-upload__file .control{ padding:.5rem .6rem; background:#FAF9F7; cursor:pointer; }
.brand-lists-upload__msg{ margin:0; }
.brand-lists-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  flex-wrap:wrap;
}
.brand-lists-head h2{ display:flex; align-items:center; gap:var(--space-2); margin:0; font-size:1.1rem; }
.brand-lists-head .control{ min-width:14rem; }
.brand-lists{ list-style:none; margin:0; padding:0; display:grid; gap:var(--space-3); }
.brand-lists__item{
  display:grid;
  gap:var(--space-3);
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
.brand-lists__item.is-open{ box-shadow:0 8px 24px rgba(11,15,20,.07); }
.brand-lists__row{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
.brand-lists__info{ display:grid; gap:.2rem; min-width:0; }
.brand-lists__info .people-muted{ font-size:var(--fs-sm); }
.brand-lists__actions{ display:flex; gap:var(--space-2); }
.brand-lists-picker{
  display:flex;
  gap:var(--space-2);
  overflow-x:auto;
  margin:var(--space-4) 0 0;
  padding-bottom:4px;
}
.brand-lists-picker__item{
  flex:none;
  display:grid;
  gap:.15rem;
  min-width:12rem;
  padding:var(--space-3) var(--space-4);
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.brand-lists-picker__item span{ font-size:var(--fs-xs); color:var(--text-secondary); }
.brand-lists-picker__item[aria-selected="true"]{ border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.brand-lists-picker__item:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.brand-lists-single{ margin:var(--space-4) 0 0; font-size:var(--fs-sm); color:var(--text-secondary); }
.brand-clist{ display:grid; gap:var(--space-3); margin-top:var(--space-4); min-width:0; }
.brand-clist__bar{ display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap; }
.brand-clist__search{ flex:1 1 260px; }
.brand-clist__search .control{
  box-sizing:border-box;
  height:42px;
  padding-top:0;
  padding-bottom:0;
  padding-left:42px;
  font-size:var(--fs-sm);
  border-radius:12px;
}
.brand-clist__count{ font-size:var(--fs-sm); font-weight:600; color:var(--text-secondary); }
.brand-clist__scroll{
  max-height:70vh;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.brand-clist__scroll:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.brand-clist__table{ width:100%; border-collapse:separate; border-spacing:0; font-size:var(--fs-sm); }
.brand-clist__table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:.7rem .85rem;
  background:#F7F5F1;
  border-bottom:1px solid var(--border);
  font-size:var(--fs-xs);
  font-weight:700;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--text-secondary);
  white-space:nowrap;
}
.brand-clist__table td{
  padding:.65rem .85rem;
  border-bottom:1px solid #F0EEEA;
  vertical-align:top;
  max-width:280px;
  overflow-wrap:anywhere;
}
.brand-clist__table tbody tr:hover td{ background:#FBFAF8; }
.brand-clist__table a{ color:var(--brand); text-decoration:none; }
.brand-clist__table a:hover{ text-decoration:underline; }
.brand-clist__num{ width:1%; color:var(--text-secondary); font-variant-numeric:tabular-nums; text-align:right; }
.brand-clist__empty{ margin:var(--space-3); }
.brand-clist__modes{
  display:inline-flex;
  padding:3px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  background:#fff;
}
.brand-clist__modes button{
  min-height:32px;
  padding:0 .9rem;
  border:0;
  border-radius:var(--radius-pill);
  background:transparent;
  font:inherit;
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--text-secondary);
  cursor:pointer;
}
.brand-clist__modes button[aria-pressed="true"]{ background:var(--ink); color:#fff; }
.brand-clist__modes button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.brand-clist__cards{ margin-top:0; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); }
.brand-creator--list{
  border-radius:16px;
  box-shadow:0 1px 3px rgba(11,15,20,.05);
  transition:box-shadow .15s, transform .15s;
}
.brand-creator--list:hover{ box-shadow:0 8px 24px rgba(11,15,20,.08); transform:translateY(-1px); }
.brand-creator--list .brand-creator__photo--empty{ background:var(--brand-soft); color:var(--brand); }
.brand-creator--list .brand-creator__stats dt{ line-height:1.25; overflow-wrap:anywhere; }
.brand-creator--list .brand-creator__stats dd{ overflow-wrap:anywhere; }
.brand-creator--list .brand-creator__meta{ padding-top:var(--space-3); border-top:1px solid var(--border); }
.brand-creator--list .brand-creator__meta a{ color:var(--brand); text-decoration:none; }
@media (max-width:760px){
  .brand-lists-upload{ grid-template-columns:1fr; padding:var(--space-4); }
  .brand-lists-head .control{ min-width:0; width:100%; }
  .brand-lists-head label{ width:100%; }
}

/* Brand deals */
.brand-panel-head--top{ align-items:flex-start; }
.brand-panel-head__text{ display:grid; gap:var(--space-1); flex:1 1 320px; min-width:0; }
.brand-panel-head__text h2{ display:flex; align-items:center; gap:var(--space-2); margin:0; }
.brand-panel-head__text p{ margin:0; max-width:60ch; }
.brand-panel-head__count{
  min-width:1.7rem;
  padding:.1rem .55rem;
  border-radius:var(--radius-pill);
  background:var(--surface-2);
  font-size:var(--fs-xs);
  font-weight:700;
  text-align:center;
}
.brand-deals-grid{
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  margin-top:var(--space-5);
}
.brand-deal--card{
  gap:var(--space-4);
  padding:var(--space-5);
  border-radius:16px;
  box-shadow:0 1px 3px rgba(11,15,20,.05);
  transition:box-shadow .15s, transform .15s;
}
.brand-deal--card:hover{ box-shadow:0 8px 24px rgba(11,15,20,.08); transform:translateY(-1px); }
.brand-deal--card .brand-deal__head{
  padding-bottom:var(--space-3);
  border-bottom:1px solid var(--border);
}
.brand-deal__campaign{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:var(--fs-xs);
  font-weight:600;
  color:var(--text-secondary);
}
.brand-deal--card .brand-creator{ gap:var(--space-3); }
.brand-deal__terms--boxed{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(110px, 1fr));
  gap:var(--space-2);
}
.brand-deal__terms--boxed:empty{ display:none; }
.brand-deal__terms--boxed > div{
  padding:var(--space-3);
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
}
.brand-deal__terms--boxed dd{ margin-top:2px; font-size:1.25rem; line-height:1.2; }
.brand-deal__quote{
  margin:0;
  padding:var(--space-3) var(--space-4);
  border-left:3px solid var(--brand);
  border-radius:0 12px 12px 0;
  background:var(--brand-soft);
  font-size:var(--fs-sm);
  line-height:1.55;
  font-style:italic;
  color:var(--ink);
  overflow-wrap:anywhere;
}
.brand-deal__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-2);
  margin-top:auto;
  padding-top:var(--space-4);
  border-top:1px solid var(--border);
}
.brand-deal__actions:empty{ display:none; }
.brand-deal__actions .btn{ width:100%; justify-content:center; }
.brand-deal__actions .btn--primary{ grid-column:1 / -1; order:-1; }
.brand-deal__actions > :only-child,
.brand-deal__actions > p{ grid-column:1 / -1; margin:0; }

.brand-more{
  display:flex;
  justify-content:center;
  margin-top:var(--space-6);
}

/* Forms */
.brand-offer,.brand-form{
  display:grid;
  gap:var(--space-3);
}
.brand-offer label,.brand-form label{
  display:grid;
  gap:var(--space-1);
  align-content:start;
  font-size:var(--fs-sm);
  font-weight:600;
}
.brand-form{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--space-4);
  align-items:start;
  margin:var(--space-4) 0 var(--space-6);
}
.brand-form__wide{ grid-column:1 / -1; }

/* Campaign wizard */
.brand-wizard{
  margin:var(--space-4) 0 var(--space-6);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}
.brand-stepper{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin:0;
  padding:var(--space-3);
  list-style:none;
  border-bottom:1px solid var(--border);
}
.brand-stepper__item{
  position:relative;
  min-width:0;
}
.brand-stepper__item + .brand-stepper__item::before{
  content:"";
  position:absolute;
  top:calc(var(--space-2) + .875rem);
  right:calc(50% + 1.25rem);
  left:calc(-50% + 1.25rem);
  height:2px;
  background:var(--border);
}
.brand-stepper__item.is-done + .brand-stepper__item::before{
  background:var(--brand);
}
.brand-stepper__btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-1);
  width:100%;
  padding:var(--space-2) var(--space-1);
  border:0;
  background:none;
  font:inherit;
  color:var(--text-secondary);
  cursor:pointer;
  border-radius:var(--radius-sm);
}
.brand-stepper__btn:focus-visible{
  outline:none;
  box-shadow:var(--ring);
}
.brand-stepper__btn:disabled{ cursor:default; }
.brand-stepper__num{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.75rem;
  height:1.75rem;
  border-radius:50%;
  border:2px solid var(--border-strong);
  background:var(--surface);
  font-size:var(--fs-sm);
  font-weight:700;
}
.brand-stepper__label{
  font-size:var(--fs-xs);
  font-weight:600;
  text-align:center;
  line-height:1.3;
}
.brand-stepper__item.is-current .brand-stepper__btn{ color:var(--ink); }
.brand-stepper__item.is-current .brand-stepper__num{
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}
.brand-stepper__item.is-done .brand-stepper__num{
  border-color:var(--brand);
  background:var(--brand-soft);
  color:var(--brand-dark);
}
.brand-wizard__body{
  padding:var(--space-5) var(--space-5) 0;
}
.brand-wizard__body .brand-form{ margin:var(--space-4) 0 0; }
.brand-wizard__count{
  margin:0;
  font-size:var(--fs-xs);
  font-weight:600;
  color:var(--text-secondary);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.brand-wizard__title{
  margin:var(--space-1) 0 0;
  font-size:var(--fs-3);
}
.brand-wizard__actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-2);
  flex-wrap:wrap;
  margin-top:var(--space-5);
  padding:var(--space-4) var(--space-5);
  border-top:1px solid var(--border);
}
.brand-wizard__nav{
  display:flex;
  gap:var(--space-2);
  margin-left:auto;
}
.brand-review{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--space-3) var(--space-4);
  margin:var(--space-4) 0 0;
}
.brand-review > div{
  padding:var(--space-3);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  min-width:0;
}
.brand-review dt{
  font-size:var(--fs-xs);
  color:var(--text-secondary);
}
.brand-review dd{
  margin:var(--space-1) 0 0;
  font-weight:600;
  overflow-wrap:anywhere;
}
.brand-review__wide{ grid-column:1 / -1; }
.brand-review__brief{
  font-weight:400 !important;
  white-space:pre-line;
}
.brand-offer__actions{
  display:flex;
  gap:var(--space-2);
  justify-content:flex-end;
  flex-wrap:wrap;
}
.brand-fieldset{
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:var(--space-3) var(--space-4);
  margin:0;
}
.brand-fieldset legend{
  padding:0 var(--space-2);
  font-size:var(--fs-sm);
  font-weight:600;
}
.brand-toggle-list{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.brand-toggle{
  display:inline-flex !important;
  align-items:center;
  gap:var(--space-2) !important;
  padding:.35rem .75rem;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  font-weight:500 !important;
  cursor:pointer;
}
.brand-toggle:has(input:checked){
  border-color:var(--brand);
  background:var(--brand-soft);
}
.brand-toggle:has(input:focus-visible){
  box-shadow:var(--ring);
}

/* Creator: Brand deals tab */
.brand-creator-deals{
  display:grid;
  gap:var(--space-6);
}
.brand-creator-deals__section h3{
  margin:0 0 var(--space-3);
  font-size:var(--fs-3);
}
.brand-creator-deals__section .brand-list{ margin-top:0; }
.brand-empty{
  margin:0;
  padding:var(--space-4);
  border:1px dashed var(--border-strong);
  border-radius:var(--radius-md);
  font-size:var(--fs-sm);
  color:var(--text-secondary);
}

/* Creator: listing toggle */
.brand-listing{
  display:flex;
  gap:var(--space-4);
  align-items:center;
  justify-content:space-between;
  padding:var(--space-4) var(--space-5);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface-2);
  flex-wrap:wrap;
}
.brand-listing > div{ flex:1 1 280px; min-width:0; }
.brand-listing p{ margin:var(--space-2) 0 0; font-size:var(--fs-sm); line-height:1.5; }
.brand-listing .btn{ flex:none; }

@media (max-width:640px){
  .brand-form,.brand-review{ grid-template-columns:1fr; }
  .brand-stepper__label{ display:none; }
  .brand-stepper__item.is-current .brand-stepper__label{ display:block; }
  .brand-wizard__body{ padding:var(--space-4) var(--space-4) 0; }
  .brand-wizard__actions{ padding:var(--space-3) var(--space-4); }
  .brand-creator__meta{ grid-template-columns:1fr; }
  .brand-inline-select .control{ min-width:0; width:100%; }
}

/* =========================================================
   TOKENS - BrandStory design system
   ========================================================= */
:root{
  color-scheme:light;
  /* Color — aligned with analytics.html */
  --ink:#0B0F14;
  --ink-2:#1C232C;
  --paper:#F6F5F2;
  --surface:#FFFFFF;
  --surface-2:#F1EFEB;
  --text:#0B0F14;
  --text-primary:#0B0F14;
  --text-secondary:#333333;
  --text-muted:#333333;
  --text-faint:#333333;
  --border:#E4E1DB;
  --border-strong:#CFCBC3;
  --brand:#C8102E;
  --brand-dark:#A00C24;
  --brand-soft:#FBEBEE;
  --brand-contrast:#FFFFFF;
  --accent:#0E9384;
  --accent-soft:#E6F2F0;
  --warn:#8A5A00;
  --warn-soft:#FDF3E2;
  --error:#B3261E;
  --error-soft:#FDECEA;

  /* Type */
  --font-display:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-display:clamp(2.1rem, 1.2rem + 3.4vw, 3.4rem);
  --fs-1:clamp(1.6rem, 1.05rem + 2.1vw, 2.5rem);
  --fs-2:clamp(1.25rem, 1rem + 1vw, 1.6rem);
  --fs-3:clamp(1.05rem, .96rem + .4vw, 1.2rem);
  --fs-body:1rem;
  --fs-sm:.875rem;
  --fs-xs:.78rem;

  /* Space */
  --space-1:.25rem; --space-2:.5rem;  --space-3:.75rem;
  --space-4:1rem;   --space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;   --space-10:2.5rem;--space-12:3rem;
  --space-16:4rem;  --space-20:5rem;

  /* Shape */
  --radius-sm:8px; --radius-md:14px; --radius-lg:22px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(11,15,20,.06), 0 1px 3px rgba(11,15,20,.04);
  --shadow-md:0 10px 30px rgba(11,15,20,.08);
  --shadow-lg:0 24px 60px rgba(11,15,20,.14);
  --ring:0 0 0 3px rgba(200,16,46,.22);

  /* Layout — shared product shell (admin, form, analytics) */
  --max-w:1280px;
  --max-form:var(--max-w);
  --gutter:clamp(1rem, 2.5vw, 2rem);
  --page-bg-fallback:#F4F6F8;
  --page-bg-image:url("./mesh-bg-B2gc_mxV.jpg");
}

/* =========================================================
   RESET / BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  background:var(--page-bg-fallback);
  min-height:100%;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *:not(.login-keep-motion),
  *:not(.login-keep-motion)::before,
  *:not(.login-keep-motion)::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
body{
  margin:0;
  min-height:100%;
  position:relative;
  z-index:0;
  background-color:var(--page-bg-fallback);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
/* Fixed mesh gradient — covers all pages, stays put while scrolling */
body::before{
  content:"";
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  min-height:100dvh;
  z-index:-1;
  pointer-events:none;
  background-color:var(--page-bg-fallback);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.52) 0%, rgba(255,255,255,.42) 45%, rgba(255,255,255,.5) 100%),
    var(--page-bg-image);
  background-repeat:no-repeat;
  background-position:center center, center center;
  background-size:cover, cover;
}
@media (min-width:900px){
  body::before{
    /* Portrait mesh on wide screens: bias toward colorful left side */
    background-position:center center, 28% center;
  }
}
@media (max-width:640px){
  body::before{
    background-position:center center, center top;
    background-size:cover, cover;
  }
}
#root{position:relative; z-index:1; min-height:100%; background:transparent}
img{display:block; max-width:100%; height:auto}
h1,h2,h3,h4{font-family:var(--font-display); line-height:1.14; letter-spacing:-.02em; margin:0; text-wrap:balance}
p{margin:0}
ul,ol{margin:0; padding:0}
button{font:inherit; color:inherit}
a{color:var(--brand); text-underline-offset:3px}
a:hover{color:var(--brand-dark)}
:focus-visible{outline:3px solid var(--brand); outline-offset:2px; border-radius:4px}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
.container{width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:var(--gutter)}
.skip-link{position:absolute; left:var(--space-4); top:-100px; z-index:100; background:var(--ink); color:#fff; padding:var(--space-3) var(--space-4); border-radius:var(--radius-sm); text-decoration:none}
.skip-link:focus{top:var(--space-3); color:#fff}
.chrome-tools{
  position:fixed;
  top:max(12px, env(safe-area-inset-top, 0px));
  right:max(12px, var(--gutter), env(safe-area-inset-right, 0px));
  z-index:60;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.45rem;
}
.chrome-tools.is-hidden{display:none}
.chrome-profile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(145deg, #1a1a1a 0%, #333 100%);
  border:2px solid rgba(255,255,255,.85);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.chrome-profile:hover,.chrome-profile:focus-visible{
  color:#fff;
  filter:brightness(1.08);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.chrome-profile__avatar{
  font-family:inherit;
  font-weight:700;
  font-size:1.05rem;
  line-height:1;
  letter-spacing:0;
  user-select:none;
}
.page-back-home{
  position:fixed;
  top:max(12px, env(safe-area-inset-top, 0px));
  left:max(6px, env(safe-area-inset-left, 0px));
  z-index:60;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(125deg, #C8102E 0%, #D92B2A 42%, #E3562A 72%, #F07A3A 100%);
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 6px 16px rgba(200,16,46,.28);
  text-decoration:none;
  transition:filter .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.page-back-home:hover,.page-back-home:focus-visible{
  color:#fff;
  filter:brightness(1.06);
  border-color:rgba(255,255,255,.48);
  box-shadow:0 8px 20px rgba(200,16,46,.34);
  outline:none;
}
.page-back-home__icon{
  flex:none;
  display:block;
  color:#fff;
  stroke:#fff;
}
/* Pin to far-left edge of a hero band (not over the logo). */
.page-back-home--hero{
  position:absolute;
  top:10px;
  left:10px;
  z-index:4;
}
.ref-banner{
  margin:0;
  padding:.55rem var(--gutter, clamp(1rem, 2.5vw, 2rem));
  text-align:center;
  font-size:.84rem;
  color:var(--text-secondary);
  background:#F3F0EA;
  border-bottom:1px solid var(--border);
}
.ref-banner strong{color:var(--text-primary); font-weight:700}
.login-entry{
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 1.1rem;
  border-radius:999px;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.01em;
  color:#fff;
  background:linear-gradient(100deg, #C8102E 0%, #E3562A 100%);
  border:1px solid transparent;
  box-shadow:var(--shadow-sm);
  text-decoration:none;
  transition:filter .15s ease, box-shadow .15s ease;
}
.login-entry:hover,.login-entry:focus-visible{
  color:#fff;
  filter:brightness(1.06);
  box-shadow:var(--shadow-md);
  outline:none;
}
.role-entry{
  display:inline-flex;
  align-items:center;
  height:48px;
  padding:0 1.35rem;
  border-radius:999px;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  transition:filter .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space:nowrap;
}
.role-entry--creator{
  color:#fff;
  background:linear-gradient(100deg, #C8102E 0%, #E3562A 100%);
  border:1px solid transparent;
  box-shadow:var(--shadow-sm);
}
.role-entry--creator:hover,.role-entry--creator:focus-visible{
  color:#fff;
  filter:brightness(1.06);
  box-shadow:var(--shadow-md);
  outline:none;
}
.role-entry--affiliate{
  color:var(--ink);
  background:#fff;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.role-entry--affiliate:hover,.role-entry--affiliate:focus-visible{
  color:var(--brand);
  border-color:rgba(200,16,46,.25);
  box-shadow:var(--shadow-md);
  outline:none;
}
.role-entry--brand{
  color:#fff;
  background:var(--ink);
  border:1px solid transparent;
  box-shadow:var(--shadow-sm);
}
.role-entry--brand:hover,.role-entry--brand:focus-visible{
  color:#fff;
  background:var(--ink-2);
  box-shadow:var(--shadow-md);
  outline:none;
}
.aff-portal-info{
  position:relative;
  display:inline-flex;
  margin-top:1rem;
}
.aff-portal-info__btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin:0;
  padding:.35rem .7rem;
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:var(--ink);
  font:600 .82rem/1.2 var(--font-body);
  cursor:help;
}
.aff-portal-info__btn svg{
  flex-shrink:0;
  color:var(--brand);
}
.aff-portal-info__btn:hover,
.aff-portal-info__btn:focus-visible{
  border-color:rgba(200,16,46,.35);
  background:#fff;
  outline:none;
}
.aff-portal-info__tip{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  z-index:20;
  width:min(520px, calc(100vw - 2.5rem));
  max-height:min(70vh, 420px);
  overflow-y:auto;
  padding:1rem 1.1rem;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.aff-portal-info:hover .aff-portal-info__tip,
.aff-portal-info:focus-within .aff-portal-info__tip{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.aff-portal-info__tip-title{
  margin:0 0 .65rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.aff-portal-info__tip ul{
  margin:0;
  padding:0 0 0 1.1rem;
  font-size:.86rem;
  line-height:1.55;
  color:var(--text-muted);
}
.aff-portal-info__tip li+li{
  margin-top:.5rem;
}
.aff-portal-info__tip strong{
  color:var(--ink);
  font-weight:700;
}
.aff-portal-cta{
  margin-top:1.75rem;
  padding-top:1.35rem;
  border-top:1px solid var(--border);
}
.aff-portal-cta__label{
  margin:0 0 .35rem;
  font:700 .95rem/1.3 var(--font-body);
  color:var(--ink);
}
.aff-portal-cta__copy{
  margin:0 0 1rem;
  font-size:.88rem;
  color:var(--text-muted);
  line-height:1.5;
}
.aff-profile-link{
  margin:0 0 1.25rem;
}
.aff-profile-link code{
  font-size:.88rem;
  word-break:break-all;
}
.aff-profile{
  max-width:920px;
}
.aff-profile__form{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}
.aff-profile__form fieldset{
  margin:0;
  padding:1.15rem 1.2rem 1.25rem;
  border:1px solid var(--line, rgba(0,0,0,.08));
  border-radius:14px;
  background:#fff;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.aff-profile__form legend{
  float:left;
  width:100%;
  margin:0 0 .85rem;
  padding:0 0 .75rem;
  border:0;
  border-bottom:1px solid var(--line, rgba(0,0,0,.08));
  font-size:1rem;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
}
.aff-profile__form legend + *{clear:both}
.aff-profile__form .fieldset-note{
  margin:0 0 .9rem;
  font-size:.86rem;
  color:var(--text-muted);
  line-height:1.45;
}
.aff-profile__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:.85rem 1rem;
  width:100%;
}
@media (min-width:640px){
  .aff-profile__fields{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
}
.aff-profile__field--full{
  grid-column:1 / -1;
}
.aff-profile__form label{
  display:grid;
  gap:.35rem;
  margin:0;
  min-width:0;
  font-size:.82rem;
  font-weight:650;
  color:var(--muted, #5c5c5c);
  line-height:1.3;
}
.aff-profile__form input,
.aff-profile__form textarea{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:0;
  padding:.7rem .85rem;
  border:1px solid var(--line, rgba(0,0,0,.12));
  border-radius:10px;
  background:#fff;
  font:inherit;
  font-size:.95rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.35;
}
.aff-profile__form input:focus,
.aff-profile__form textarea:focus{
  outline:2px solid rgba(200,16,46,.25);
  border-color:#C8102E;
}
.aff-profile__form input:disabled,
.aff-profile__form textarea:disabled{
  opacity:.72;
  background:#f7f7f7;
}
.aff-profile__form .err{
  font-size:.78rem;
  font-weight:600;
}
.aff-profile__form .staff-pass,
.aff-profile__form .login-pass{
  width:100%;
  max-width:100%;
}
.aff-profile__form .staff-pass input,
.aff-profile__form .login-pass input{
  width:100%;
}
.aff-profile__sections{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}
.aff-profile__actions{
  margin-top:.35rem;
  padding-top:.15rem;
}
.aff-profile-loading{
  margin:0 0 1rem;
}
.profile-entry{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, #C8102E 0%, #E3562A 100%);
  border:1px solid transparent;
  box-shadow:0 6px 16px rgba(200,16,46,.28);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.profile-entry:hover,.profile-entry:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(200,16,46,.34);
  filter:brightness(1.05);
  outline:none;
}
.profile-entry__icon{
  display:flex;
  line-height:0;
  color:#fff;
}
.admin-login-card .auth-tabs{
  margin-top:.85rem;
}
.admin-login-card .auth-hint{
  margin-bottom:.75rem;
}
.admin-login-card .login-form__submit{
  margin-top:1rem;
  width:100%;
}
.admin-login-card .auth-switch{
  margin-top:.85rem;
  text-align:center;
  font-size:.88rem;
}
.auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.35rem;
  margin:0 0 1.1rem;
  padding:.3rem;
  border-radius:12px;
  background:rgba(0,0,0,.04);
}
.auth-tab{
  border:0;
  border-radius:9px;
  padding:.65rem .75rem;
  font:700 .9rem/1.2 var(--font-body);
  color:var(--text-muted);
  background:transparent;
  cursor:pointer;
}
.auth-tab.is-active{
  color:#fff;
  background:linear-gradient(100deg, #C8102E 0%, #E3562A 100%);
  box-shadow:var(--shadow-sm);
}
.auth-tab:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.auth-hint{
  display:block;
  margin-top:.35rem;
  font-size:.8rem;
  color:var(--text-muted);
}

/* Creator auth + app shell (P0) */
.route-fallback{
  min-height:40vh;
  display:grid;
  place-items:center;
  font:600 .95rem/1.4 var(--font-body);
  color:var(--text-muted);
}
.staff-outlet-fallback{
  min-height:12rem;
  display:grid;
  place-items:start start;
  padding:1.25rem clamp(.9rem, 1.6vw, 1.5rem);
  font:600 .9rem/1.4 "Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  color:#5c5c5c;
}
.page-busy{
  min-height:70vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:2rem var(--gutter);
  text-align:center;
}
.page-busy__title{
  margin:0;
  font:700 1.05rem/1.3 var(--font-body);
  color:var(--text);
}
.page-busy__lede{
  margin:0;
  font:500 .9rem/1.4 var(--font-body);
  color:var(--text-muted);
}
.page-busy__pulse{
  width:2.25rem;
  height:2.25rem;
  border-radius:50%;
  border:2.5px solid rgba(200,16,46,.2);
  border-top-color:#C8102E;
  animation:page-busy-spin .7s linear infinite;
}
@keyframes page-busy-spin{to{transform:rotate(360deg)}}
.page-busy--auth{
  min-height:100dvh;
  justify-content:flex-start;
}
.page-busy--auth .page-busy__card{
  margin:auto;
  width:min(420px,100%);
  text-align:center;
}
.page-busy--auth .page-busy__pulse{
  margin:0 auto 1rem;
}
.page-busy--form{
  min-height:50vh;
  align-items:stretch;
  text-align:left;
}
.page-busy--form .page-busy__pulse{
  margin-bottom:.75rem;
}
.page-busy__skel{
  display:grid;
  gap:.75rem;
  margin-top:1.25rem;
}
.page-busy__skel span{
  display:block;
  height:2.75rem;
  border-radius:10px;
  background:linear-gradient(90deg, rgba(0,0,0,.04), rgba(0,0,0,.08), rgba(0,0,0,.04));
  background-size:200% 100%;
  animation:page-busy-shimmer 1.1s ease-in-out infinite;
}
.page-busy__skel span:nth-child(2){width:88%}
.page-busy__skel span:nth-child(3){width:72%}
@keyframes page-busy-shimmer{
  0%{background-position:100% 0}
  100%{background-position:-100% 0}
}
.page-busy--dash{
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,240px) minmax(0,1fr);
  align-items:stretch;
  padding:0;
  text-align:left;
}
.page-busy__side{
  padding:1.25rem;
}
.page-busy__logo-skel{
  height:2.5rem;
  width:8rem;
  border-radius:8px;
  margin-bottom:1.5rem;
  background:rgba(0,0,0,.06);
}
.page-busy__nav-skel{
  display:grid;
  gap:.55rem;
}
.page-busy__nav-skel span{
  height:2.2rem;
  border-radius:8px;
  background:rgba(0,0,0,.05);
}
@media (max-width:860px){
  .page-busy--dash{grid-template-columns:1fr}
  .page-busy__side{display:none}
}
.auth-shell{
  min-height:100dvh;
  box-sizing:border-box;
  padding:clamp(1.25rem, 3vw, 2.5rem) var(--gutter);
  padding-top:max(clamp(3.5rem, 6vw, 4rem), calc(env(safe-area-inset-top, 0px) + 3rem));
  padding-bottom:max(clamp(1.25rem, 3vw, 2.5rem), env(safe-area-inset-bottom, 0px));
  background:transparent;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.auth-back{
  display:inline-flex;
  align-items:center;
  margin-bottom:clamp(1.25rem, 3vw, 2rem);
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--text-secondary);
  text-decoration:none;
}
.auth-back:hover{color:var(--brand)}
.auth-layout{
  width:min(960px, 100%);
  margin:0 auto;
  flex:0 1 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(1.5rem, 4vw, 3rem);
  align-items:center;
}
.auth-brand{
  padding:clamp(.5rem, 2vw, 1rem) .25rem;
}
.auth-brand__logo-link{
  display:inline-block;
  line-height:0;
  text-decoration:none;
  color:inherit;
}
.auth-brand__logo-link:hover{opacity:.92}
.auth-brand__logo{
  display:block;
  width:min(400px, 92%);
  height:auto;
  margin:0 0 1.15rem;
}
.auth-brand__mark{
  margin:0 0 .85rem;
  font-family:var(--font-display);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand);
}
.auth-brand__headline{
  margin:0 0 .85rem;
  font-size:clamp(2rem, 1.4rem + 2.2vw, 2.85rem);
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--ink);
}
.auth-brand__headline .uni{
  color:var(--brand);
  background:linear-gradient(100deg, #A00C24 0%, var(--brand) 40%, #E3562A 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
@supports not (background-clip:text){
  .auth-brand__headline .uni{-webkit-text-fill-color:var(--brand); color:var(--brand)}
}
.auth-brand__copy{
  margin:0;
  max-width:28ch;
  font-size:1.02rem;
  line-height:1.55;
  color:var(--text-secondary);
}
.auth-card{
  width:100%;
  padding:clamp(1.4rem, 3vw, 1.85rem);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(228,225,219,.85);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.auth-title{
  margin:0 0 .4rem;
  font-size:clamp(1.35rem, 1.1rem + .8vw, 1.65rem);
  letter-spacing:-.02em;
}
.auth-lede{
  margin:0 0 1.25rem;
  color:var(--text-secondary);
  font-size:var(--fs-sm);
  line-height:1.5;
}
.auth-form{display:grid; gap:1rem}
.auth-form label{
  display:grid;
  gap:.4rem;
  font-size:var(--fs-sm);
  font-weight:650;
  color:var(--ink);
}
.auth-form .control{
  width:100%;
  font:inherit;
  font-weight:500;
  padding:.75rem .85rem;
  border-radius:var(--radius-sm);
  border:1px solid var(--border-strong);
  background:#fff;
}
.auth-form .control:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:var(--ring);
}
.app-social-edit{
  display:grid;
  gap:.5rem;
  padding:.85rem;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-2, #FAF8F4);
}
.app-social-edit h3{margin:0; font-size:.88rem}
.app-social-edit__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.4rem;
}
.app-social-edit__list li{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .75rem;
  align-items:baseline;
  padding:.45rem .55rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:.84rem;
}
.app-social-edit__list em{font-style:normal; color:var(--text-secondary); font-size:.76rem}
.auth-optional{
  font-weight:500;
  color:var(--text-faint);
  text-transform:lowercase;
}
.auth-submit{width:100%; justify-content:center; margin-top:.25rem}
.auth-switch{
  margin:0;
  text-align:center;
  font-size:var(--fs-sm);
  color:var(--text-secondary);
  line-height:1.45;
}
.auth-text-btn{
  border:0;
  background:none;
  padding:0;
  font:inherit;
  font-weight:650;
  color:var(--brand);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.auth-text-btn:hover{color:var(--brand-dark)}
.auth-error{
  margin:0 0 1rem;
  padding:.7rem .8rem;
  border-radius:var(--radius-sm);
  background:var(--error-soft);
  color:var(--error);
  font-size:var(--fs-sm);
}
.auth-dev{
  margin:0;
  padding:.6rem .75rem;
  border-radius:var(--radius-sm);
  background:var(--warn-soft);
  color:var(--warn);
  font-size:var(--fs-sm);
}
.auth-foot{
  margin:1.35rem 0 0;
  padding-top:1rem;
  border-top:1px solid var(--border);
  font-size:var(--fs-sm);
  color:var(--text-muted);
  line-height:1.5;
}
.auth-foot__sep{margin:0 .4rem; opacity:.55}
.app-dash{
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:1rem;
  width:100%;
  max-width:none;
  margin:0;
  min-height:100dvh;
  padding:1rem;
  box-sizing:border-box;
}
.app-dash--plain{
  display:grid;
  place-items:center;
  grid-template-columns:1fr;
  text-align:center;
}
.app-dash__side{
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  padding:1.35rem 1rem 1.15rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
  box-shadow:0 10px 30px rgba(11,15,20,.05);
  position:sticky;
  top:1rem;
  height:calc(100dvh - 2rem);
}
.app-dash__top{
  display:block;
}
.app-dash__toggle,
.app-dash__backdrop{
  display:none;
}
.app-dash__brand{
  display:block;
  line-height:0;
  padding:.15rem .45rem .45rem;
  text-decoration:none;
}
.app-dash__logo{
  display:block;
  height:auto;
  width:200px;
  max-width:100%;
}
.app-dash__label{
  margin:.2rem .55rem 0;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.app-dash__nav{
  display:grid;
  gap:.3rem;
  flex:1;
  align-content:start;
}
.app-dash__nav button{
  display:flex;
  align-items:center;
  gap:.7rem;
  width:100%;
  padding:.7rem .85rem;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--text-muted);
  font:inherit;
  font-weight:650;
  font-size:.9rem;
  cursor:pointer;
  text-align:left;
}
.app-dash__nav button svg{flex:none}
.app-dash__nav button:hover{background:#F7F5F1; color:var(--ink)}
.app-dash__nav button.is-active{
  background:#1F1A14;
  color:#fff;
}
.app-dash__nav button.is-disabled,
.app-dash__nav button:disabled{
  opacity:.38;
  cursor:not-allowed;
  color:var(--text-muted);
  pointer-events:none;
}
.app-dash__nav button.is-disabled:hover,
.app-dash__nav button:disabled:hover{
  background:transparent;
  color:var(--text-muted);
}
.app-dash__who{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.7rem .55rem .15rem;
  border-top:1px solid var(--border);
  margin-top:auto;
}
.app-dash__av{
  width:2.1rem;
  height:2.1rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1F1A14;
  color:#fff;
  font-size:.8rem;
  font-weight:750;
  flex:none;
}
.app-dash__who strong{display:block; font-size:.84rem; line-height:1.2}
.app-dash__who em{
  display:block;
  font-style:normal;
  font-size:.72rem;
  color:var(--text-muted);
  font-weight:600;
}
.app-dash__logout{
  width:100%;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:.55rem .75rem;
  font:inherit;
  font-size:.82rem;
  font-weight:650;
  cursor:pointer;
  color:var(--ink);
}
.app-dash__logout:hover{background:#F7F5F1}
.app-dash__main{
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.85rem;
  padding:.15rem 0 1rem;
}
.app-dash__main > *{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.app-dash__bar h1{
  margin:.12rem 0 0;
  font-size:clamp(1.45rem, 2vw, 1.9rem);
  letter-spacing:-.03em;
}
.app-dash__kicker{
  margin:0;
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.app-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.75rem;
  margin:0 0 .15rem;
  align-items:start;
}
.app-kpi{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:.75rem .9rem .7rem;
  box-shadow:0 8px 24px rgba(11,15,20,.04);
  display:grid;
  gap:.2rem;
  min-height:0;
}
.app-kpi span{
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-muted);
  line-height:1.2;
}
.app-kpi b{
  font-size:1.05rem;
  letter-spacing:-.02em;
  line-height:1.2;
  font-weight:750;
  margin:0;
}
.app-kpi p{
  margin:0;
  font-size:.75rem;
  color:var(--text-muted);
  line-height:1.25;
}
.app-panel{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:1.25rem 1.2rem 1.15rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  margin:0;
  box-shadow:0 8px 24px rgba(11,15,20,.04);
}
.app-panel .plat-strip{margin-top:1.05rem}
.app-panel .plat-strip-empty{margin:1.05rem 0 0}
@media (max-width:900px){
  .app-dash{
    grid-template-columns:1fr;
    min-height:auto;
    padding:.65rem .55rem 1.15rem;
    gap:.65rem;
  }
  .app-dash__side{
    position:sticky;
    top:0;
    z-index:50;
    height:auto;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:.55rem;
    padding:.7rem .7rem .8rem;
    border-radius:18px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .app-dash__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
  }
  .app-dash__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--ink);
    cursor:pointer;
    flex:none;
  }
  .app-dash__toggle:hover{background:#F7F5F1}
  .app-dash__toggle[aria-expanded="true"]{
    background:#1F1A14;
    border-color:#1F1A14;
    color:#fff;
  }
  .app-dash__backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:45;
    border:0;
    padding:0;
    margin:0;
    background:rgba(11,15,20,.4);
    cursor:pointer;
  }
  .app-dash__brand{
    display:flex;
    justify-content:flex-start;
    padding:.05rem 0 .1rem;
    min-width:0;
  }
  .app-dash__logo{
    width:min(132px, 42vw);
  }
  .app-dash__label{display:none}
  .app-dash__nav{
    display:none;
  }
  .app-dash__side.is-open .app-dash__nav{
    display:grid;
    gap:.3rem;
    flex:none;
    width:100%;
    max-height:min(60dvh, 24rem);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:.2rem 0 0;
    align-content:start;
  }
  .app-dash__nav button{
    width:100%;
    min-width:0;
    padding:.7rem .85rem;
    font-size:.9rem;
    gap:.7rem;
    border-radius:14px;
    border:0;
    background:transparent;
    color:var(--text-muted);
    box-sizing:border-box;
  }
  .app-dash__nav button svg{width:18px; height:18px}
  .app-dash__nav button:hover{background:#F7F5F1; color:var(--ink)}
  .app-dash__nav button.is-active{
    background:#1F1A14;
    border-color:transparent;
    color:#fff;
  }
  .app-dash__nav button.is-disabled,
  .app-dash__nav button:disabled{
    opacity:.38;
  }
  .app-dash__who,
  .app-dash__logout{
    display:none;
  }
  .app-dash__side.is-open .app-dash__who{
    display:flex;
    align-items:center;
    gap:.55rem;
    border-top:1px solid var(--border);
    margin-top:.1rem;
    padding:.65rem .1rem .1rem;
    width:100%;
    box-sizing:border-box;
  }
  .app-dash__side.is-open .app-dash__who > span:last-child{flex:1; min-width:0}
  .app-dash__side.is-open .app-dash__logout{
    display:block;
    width:100%;
    margin-left:0;
    padding:.55rem .75rem;
  }
  .app-dash__main{
    padding:0 0 .5rem;
  }
  .app-kpis{grid-template-columns:1fr 1fr}
  .app-onboard-banner{
    flex-direction:column;
    align-items:stretch;
    gap:.85rem;
    padding:1rem .95rem;
  }
  .app-onboard-banner h2{font-size:1.2rem; line-height:1.25}
  .app-onboard-banner p{font-size:.9rem}
  .app-onboard-banner .btn{width:100%}
  .app-home-actions{
    flex-direction:column;
  }
  .app-home-actions .btn{width:100%}
  .app-panel{padding:1rem .9rem}
}
@media (max-width:560px){
  .app-kpis{grid-template-columns:1fr}
  .app-dash__side{padding:.6rem .55rem .7rem}
  .app-dash__toggle{
    width:36px;
    height:36px;
    border-radius:10px;
  }
  .app-dash__nav button{
    padding:.65rem .8rem;
    font-size:.86rem;
  }
}
@media (max-width:820px){
  .auth-layout{grid-template-columns:1fr; gap:1.25rem}
  .auth-brand{padding:0; text-align:left}
  .auth-brand__copy{max-width:40ch}
}
@media (max-width:520px){
  .auth-card{padding:1.25rem 1.05rem}
  .auth-brand__headline{font-size:1.85rem}
}

.app-top{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
  width:100%;
}
.app-top__brand{
  display:grid;
  gap:.7rem;
  justify-items:start;
}
.app-top__brand a{
  display:block;
  line-height:0;
  text-decoration:none;
}
.app-top__logo{
  display:block;
  height:auto;
  width:200px;
  max-width:100%;
}
.app-top h1{margin:0; font-size:clamp(1.4rem, 3vw, 1.9rem)}
.app-top__actions{display:flex; flex-wrap:wrap; gap:.5rem}
.app-panel h2{margin:0 0 .65rem; font-size:1.05rem}
.app-status{margin:0 0 1rem; color:var(--text-secondary)}
.lead-badge{
  display:inline-block;
  width:fit-content;
  border-radius:999px;
  padding:.1rem .5rem;
  font-size:.78rem;
  font-weight:750;
  line-height:1.25;
}
.lead-badge--reviewing{background:#F4E9D4; color:#5B4A2A}
.lead-badge--in-progress{background:#FBE8C8; color:#7A4A00}
.lead-badge--next-step{background:#DCFCE7; color:#166534}
.lead-badge--rejected{background:#FFE4E6; color:#9F1239}
.app-pay-block{
  display:grid;
  gap:.7rem;
  margin:1.1rem 0 0;
  padding:1rem .95rem;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--paper, #F6F5F2);
}
.app-pay-block h3{margin:0; font-size:.92rem}
.app-dl{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:.85rem 1rem;
  margin:0;
}
.app-dl dt{font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--text-secondary)}
.app-dl dd{margin:.15rem 0 0; font-weight:600}
.app-muted{color:var(--text-secondary)}
.app-panel--soon ul{margin:.35rem 0 0; padding-left:1.1rem; color:var(--text-secondary)}
.app-ok{
  width:100%;
  margin:0;
  padding:.7rem .8rem;
  border-radius:12px;
  background:var(--accent-soft);
  color:#0B5C52;
  font-size:var(--fs-sm);
}
.app-dash .auth-error{max-width:none; width:100%; margin:0}
.plat-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  margin:0 0 1rem;
}
.plat-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:var(--radius-pill);
  box-sizing:border-box;
  min-height:2.15rem;
  height:2.15rem;
  padding:0 .75rem;
  margin:0;
  font:inherit;
  font-size:var(--fs-sm);
  font-weight:650;
  line-height:1;
  color:var(--text-muted);
  cursor:pointer;
  vertical-align:middle;
}
.plat-chip.is-on{
  border-color:var(--ink);
  color:var(--ink);
  background:#fff;
}
.plat-chip__abbr{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:.62rem;
  font-weight:800;
  line-height:1;
  letter-spacing:-0.02em;
}
.plat-chip__label{
  display:inline-flex;
  align-items:center;
  line-height:1;
  white-space:nowrap;
}
.plat-page{display:grid; gap:.9rem}
.plat-page h2{margin:0}
.plat-page__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.plat-page__head p{margin:.2rem 0 0}
.plat-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.85rem;
  width:100%;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  align-items:stretch;
}
.plat-card{
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  padding:1rem 1rem .9rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
  min-height:0;
  box-shadow:0 6px 18px rgba(11,15,20,.035);
}
.plat-card.is-connected{
  border-color:color-mix(in srgb, var(--accent) 28%, var(--border));
  background:linear-gradient(180deg, #fff 70%, #F7FBFA);
}
.plat-card__head{
  display:flex;
  gap:.7rem;
  align-items:center;
}
.plat-card__title{min-width:0; flex:1}
.plat-card__title strong{display:block; font-size:.95rem; letter-spacing:-.02em}
.plat-card__title p{
  margin:.18rem 0 0;
  font-size:.75rem;
  color:var(--text-muted);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:.35rem;
}
.plat-dot{
  width:.45rem; height:.45rem; border-radius:50%;
  background:var(--accent); display:inline-block;
}
.plat-badge{
  display:inline-grid;
  place-items:center;
  width:2.25rem;
  height:2.25rem;
  border-radius:12px;
  background:#1F1A14;
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  flex:0 0 auto;
}
.plat-qual{
  flex:none;
  font-size:.65rem;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.22rem .5rem;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text-secondary);
}
.plat-qual--strong{background:var(--accent-soft); color:#0B5F56}
.plat-qual--average{background:var(--warn-soft); color:var(--warn)}
.plat-qual--weak{background:var(--error-soft); color:var(--error)}
.plat-handle-chip{
  margin:0;
  font-size:.78rem;
  font-weight:650;
  color:var(--text-secondary);
  background:#F7F5F1;
  border-radius:10px;
  padding:.38rem .6rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.plat-handle{display:grid; gap:.35rem; font-size:var(--fs-sm); font-weight:650; margin-top:auto}
.plat-handle__row{display:flex; gap:.45rem; align-items:stretch}
.plat-handle__row .control{flex:1; min-width:0}
.plat-handle__row .btn{flex:none; min-height:40px; padding:.4rem .85rem; border-radius:12px}
.plat-metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.55rem .65rem;
  margin:0;
  padding:.15rem 0 0;
}
.plat-metrics > div{
  background:#F7F5F1;
  border-radius:12px;
  padding:.5rem .6rem .55rem;
}
.plat-metrics dt{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--text-muted);
  font-weight:750;
}
.plat-metrics dd{margin:.2rem 0 0; font-weight:750; font-size:.92rem; letter-spacing:-.02em}
.plat-er{
  margin:0;
  font-size:.75rem;
  color:var(--text-muted);
}
.plat-er summary{
  cursor:pointer;
  font-weight:650;
  color:var(--text-secondary);
  list-style:none;
}
.plat-er summary::-webkit-details-marker{display:none}
.plat-er summary::after{content:' ▾'; font-size:.7em; opacity:.7}
.plat-er[open] summary::after{content:' ▴'}
.plat-er p{margin:.4rem 0 0; line-height:1.45}
.plat-sync-err{margin:0; color:var(--error); font-size:var(--fs-xs); font-weight:500}
.plat-sync-bar{margin:0 0 1rem}
.plat-from-dash{
  margin:.35rem 0 0;
  font-size:var(--fs-xs, .78rem);
  font-weight:600;
  color:#2C5B23;
}
.plat-from-dash--banner{
  margin:0 0 .65rem;
  padding:.5rem .7rem;
  border-radius:10px;
  background:#E8F2E4;
}
.plat-consent{
  margin:0;
  padding:.7rem .85rem;
  border-radius:14px;
  border:1px solid #E6D7B3;
  background:#FBF6EA;
  color:#5C4A22;
  font-size:var(--fs-xs);
  line-height:1.5;
}
.plat-consent strong{
  display:block;
  margin:0 0 .25rem;
  font-size:.78rem;
  color:#3F3318;
}
.plat-consent p{margin:0}
.plat-consent--compact{
  padding:.55rem .75rem;
}
.review-links{margin:0; padding-left:1.1rem}
.review-links b{text-transform:capitalize; margin-right:.35rem}
.plat-card__actions,
.plat-row__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:auto;
  padding-top:.15rem;
}
.plat-card__actions .btn,
.plat-row__actions .btn{
  min-height:38px;
  padding:.35rem .85rem;
  border-radius:11px;
  flex:1;
}
.app-home-actions{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.1rem}
.app-onboard-banner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem 1.25rem;
  padding:1.15rem 1.2rem;
  margin:0 0 1.1rem;
  border-radius:18px;
  border:1px solid color-mix(in srgb, var(--brand) 28%, var(--border));
  background:linear-gradient(135deg, color-mix(in srgb, var(--brand-soft) 88%, #fff), #fff 70%);
  box-shadow:0 8px 24px rgba(11,15,20,.04);
}
.app-onboard-banner__eyebrow{
  margin:0 0 .2rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand);
}
.app-onboard-banner h2{
  margin:0 0 .35rem;
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.app-onboard-banner p{
  margin:0;
  max-width:48ch;
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.45;
}
.app-onboard-banner .btn{flex:0 0 auto; align-self:center}
.app-msg-lede{margin:0 0 1rem}
.app-msg-list{
  display:grid;
  gap:.75rem;
  margin-bottom:1rem;
  max-height:min(50vh, 420px);
  overflow:auto;
}
.app-msg{
  padding:.75rem .85rem;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--surface-2);
}
.app-msg--me{
  background:#fff;
  border-color:color-mix(in srgb, var(--brand) 25%, var(--border));
}
.app-msg header{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.35rem;
  font-size:var(--fs-xs);
  color:var(--text-muted);
}
.app-msg header strong{color:var(--ink); font-size:var(--fs-sm)}
.app-msg p{margin:0; white-space:pre-wrap; line-height:1.45}
.app-msg-compose{display:grid; gap:.65rem}
.app-msg-actions{display:flex; flex-wrap:wrap; gap:.55rem; align-items:center}
.app-msg-compose textarea.control{
  width:100%;
  resize:vertical;
  min-height:88px;
  font:inherit;
  padding:.75rem .85rem;
  border-radius:var(--radius-sm);
  border:1px solid var(--border-strong);
}
.app-wa{display:grid; gap:.85rem; max-width:36rem}
.app-wa label{display:grid; gap:.35rem; font-size:var(--fs-sm); font-weight:650}
.app-wa .btn{justify-self:start; min-width:12rem}
.btn--wa{
  background:#128C7E;
  color:#fff;
  border-color:#128C7E;
}
.btn--wa:hover{background:#0E7A6E; color:#fff; border-color:#0E7A6E}
.app-danger{
  margin-top:1.5rem;
  padding:1rem;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--error) 35%, var(--border));
  background:var(--error-soft);
}
.app-danger h3{margin:0 0 .4rem; font-size:1rem}
.app-danger p{margin:0 0 .85rem; font-size:var(--fs-sm); color:var(--text-secondary)}
.btn--danger{
  background:var(--error);
  color:#fff;
  border:0;
  border-radius:10px;
  padding:.65rem 1rem;
  font:inherit;
  font-weight:650;
  cursor:pointer;
}
.btn--danger:disabled{opacity:.45; cursor:not-allowed}
.btn--danger:not(:disabled):hover{filter:brightness(.95)}
.auth-error{max-width:720px}
.done-login{margin:1rem 0 0; font-size:.92rem}
.staff-role{
  display:inline-block;
  margin-left:.45rem;
  font-style:normal;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text-secondary);
}

/* =========================================================
   STEP RAIL
   ========================================================= */
.steprail{
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  position:sticky;
  top:0;
  z-index:30;
}
.steprail[hidden]{display:none}
.steprail__inner{display:flex; align-items:center; gap:var(--space-2); overflow-x:auto; padding-block:var(--space-3); scrollbar-width:none}
.steprail__inner::-webkit-scrollbar{display:none}
.steprail__item{
  display:flex; align-items:center; gap:var(--space-2);
  padding:var(--space-2) var(--space-3);
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  background:none; cursor:pointer;
  white-space:nowrap; font-size:var(--fs-sm); font-weight:500; color:var(--text-muted);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.steprail__item:disabled{cursor:not-allowed; opacity:.55}
.steprail__item:not(:disabled):hover{background:var(--surface-2); color:var(--text)}
.steprail__num{
  width:22px; height:22px; border-radius:50%; flex:none;
  display:grid; place-items:center;
  background:var(--surface-2); color:var(--text-muted);
  font-size:var(--fs-xs); font-weight:700; font-variant-numeric:tabular-nums;
}
.steprail__item[aria-current="step"]{background:var(--ink); color:#fff; border-color:var(--ink)}
.steprail__item[aria-current="step"] .steprail__num{background:var(--brand); color:#fff}
.steprail__item.is-done .steprail__num{background:var(--accent); color:#fff}
.steprail__item.is-done{color:var(--text)}

.progress{height:3px; background:var(--surface-2)}
.progress__bar{height:100%; width:0; background:var(--brand); transition:width .35s ease}

/* =========================================================
   PANELS / SHELL
   ========================================================= */
main{padding-block:clamp(var(--space-8), 5vw, var(--space-16)) var(--space-20)}
.panel[hidden]{display:none}
.panel{animation:rise .32s ease both}
.panel h1[tabindex="-1"]:focus,.panel h1[tabindex="-1"]:focus-visible{outline:none}
@keyframes rise{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}

.eyebrow{
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-size:var(--fs-xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--brand); background:var(--brand-soft);
  padding:var(--space-2) var(--space-3); border-radius:var(--radius-pill);
}
.lede{font-size:var(--fs-3); color:var(--text-muted); max-width:60ch; margin-top:var(--space-4)}

/* =========================================================
   SCREEN 1 - WELCOME / RULES
   ========================================================= */
.welcome-top{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1rem;
  margin:0 0 clamp(.85rem, 2vw, 1.15rem);
  padding:0 .15rem;
  min-height:48px;
}
.welcome-top__actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.45rem;
  flex:none;
}
.welcome-mark{
  display:block;
  width:min(200px, 42vw);
  height:auto;
  margin:0;
  flex:none;
  align-self:center;
}
.welcome-band{
  position:relative; overflow:hidden;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(228,225,219,.85);
  padding:clamp(var(--space-6), 4vw, var(--space-16));
  box-shadow:var(--shadow-md);
}
.welcome-band::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px, rgba(11,15,20,.10) 1px, transparent 0);
  background-size:22px 22px; opacity:.45; mask-image:linear-gradient(to bottom, #000, transparent 70%);
}
.welcome-band > *{position:relative; z-index:1}
.welcome-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 var(--space-6);
}
.welcome-logo-link{
  display:inline-block;
  line-height:0;
  text-decoration:none;
  color:inherit;
}
.welcome-logo-link:hover{opacity:.92}
.welcome-logo{
  display:block;
  width:min(420px, 78vw);
  max-width:100%;
  flex:0 0 auto;
  height:auto;
  margin:0 auto;
}
@media (min-width:960px){
  .welcome-logo{width:min(460px, 42vw)}
}

.wave{display:inline-block; transform-origin:70% 80%; animation:wave 2.6s ease-in-out 1s infinite}
@keyframes wave{
  0%,60%,100%{transform:rotate(0deg)}
  65%{transform:rotate(16deg)} 72%{transform:rotate(-10deg)}
  79%{transform:rotate(14deg)} 86%{transform:rotate(-6deg)} 93%{transform:rotate(9deg)}
}

.hero{display:grid; gap:var(--space-8); align-items:start}
@media (min-width:960px){
  .hero{grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr); gap:var(--space-10); align-items:start}
}
.hero__copy{
  display:flex; flex-direction:column; align-items:flex-start;
  text-align:left;
  width:100%;
  min-width:0;
  padding-top:0;
}
.hero__copy h1{
  font-size:clamp(1.85rem, 1.05rem + 2.6vw, 3.35rem);
  margin:0;
  letter-spacing:-.03em;
  line-height:1.12;
  max-width:18ch;
  text-wrap:balance;
}
.hero__copy h1 .uni{
  color:var(--brand);
  background:linear-gradient(100deg, #A00C24 0%, var(--brand) 38%, #E3562A 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; font-style:normal;
}
@supports not (background-clip:text){ .hero__copy h1 .uni{-webkit-text-fill-color:var(--brand)} }
.hero__copy .lede{margin-inline:0; margin-top:var(--space-4); max-width:48ch}
.hero__copy .actions--hero{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:var(--space-3);
  width:100%;
  margin-top:var(--space-6);
}
.welcome-aff-link{
  display:inline-flex;
  align-items:center;
  min-height:auto;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  color:var(--brand);
  font:inherit;
  font-weight:700;
  font-size:var(--fs-body);
  text-decoration:none;
  cursor:pointer;
}
.welcome-aff-link:hover{text-decoration:underline; text-underline-offset:3px}
.hero__copy .hint{text-align:left}
.hero__copy .hint--cta{margin-top:var(--space-3); max-width:46ch}

/* Welcome numbers */
.welcome-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--space-3);
  margin-top:var(--space-8);
  width:100%;
}
@media (min-width:620px){ .welcome-stats{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-4)} }
.welcome-stats div{
  background:rgba(255,255,255,.72); border:1px solid var(--border);
  border-top:2px solid #c81f2f;
  border-radius:var(--radius-md);
  padding:var(--space-4) var(--space-5);
  min-width:0;
  box-sizing:border-box;
}
.welcome-stats b{display:block; font-family:var(--font-display); font-size:1.5rem; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.welcome-stats span{font-size:var(--fs-xs); color:var(--text-muted); line-height:1.35; display:block; margin-top:2px}
.hero__aside{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-lg); color:#fff;
  aspect-ratio:3/4; min-height:420px;
  width:100%;
  background:var(--ink);
  display:flex; flex-direction:column; justify-content:flex-end;
  isolation:isolate;
}
.hero__aside--video{
  justify-content:stretch;
}
.hero__aside::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px; z-index:3;
  background:var(--brand);
}
.hero__aside-media{
  position:absolute; inset:0; z-index:0;
  background:var(--ink-2);
}
.hero__aside-media img,
.hero__aside-video{
  width:100%; height:100%;
  object-fit:cover; object-position:center center;
  display:block;
}
.hero__video-toggle{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.5rem;
  min-height:2.5rem;
  padding:.65rem;
  border:2px solid rgba(255,255,255,.92);
  border-radius:999px;
  background:linear-gradient(135deg, #C8102E 0%, #E3562A 100%);
  color:#fff;
  font:inherit;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(200,16,46,.35);
  transition:filter .18s ease, transform .18s ease, box-shadow .18s ease;
}
.hero__video-toggle:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(227,86,42,.42);
}
.hero__video-toggle:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.hero__video-toggle svg{flex:none; display:block}
.hero__aside--video::after{display:none}
.hero__aside:not(.hero__aside--video)::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(11,15,20,.12) 0%,
      rgba(11,15,20,.05) 28%,
      rgba(11,15,20,.35) 52%,
      rgba(11,15,20,.78) 72%,
      rgba(11,15,20,.94) 100%
    );
}
.hero__aside-body{
  position:relative; z-index:2;
  padding:var(--space-5) clamp(var(--space-5),3vw,var(--space-6)) var(--space-6);
  text-align:left;
  background:transparent;
}
.hero__aside h2{font-size:var(--fs-2); color:#fff; text-wrap:balance; text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero__aside p{
  color:#E8EBEE; font-size:var(--fs-sm); margin-top:var(--space-3);
  max-width:38ch; text-wrap:pretty;
  text-shadow:0 1px 10px rgba(0,0,0,.3);
}

/* Creator avatar proof row */
.creators{
  display:inline-flex; align-items:center; gap:var(--space-3);
  margin-top:var(--space-6);
  padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);
  background:linear-gradient(135deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.28) 100%);
  border:1px solid rgba(255,255,255,.65);
  border-radius:var(--radius-pill);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 8px 28px rgba(11,15,20,.08);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  max-width:100%;
}
@media (max-width:520px){
  .creators{
    display:flex; flex-direction:column; align-items:flex-start;
    border-radius:var(--radius-md); gap:var(--space-3);
    padding:var(--space-4);
  }
}
.avatars{display:flex; flex:none}
.avatars img{
  width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:center top;
  border:2px solid rgba(255,255,255,.9); box-shadow:0 1px 3px rgba(11,15,20,.12); background:var(--surface-2);
}
.avatars img + img{margin-left:-12px}
.creators p{
  font-size:var(--fs-sm); color:var(--text-muted); line-height:1.35;
  margin:0; min-width:0;
}
.creators strong{color:var(--text); font-weight:600}

/* Welcome / home - mobile alignment */
@media (max-width:720px){
  main{padding-block:var(--space-5) var(--space-12)}
  .welcome-band{
    padding:var(--space-5);
    border-radius:var(--radius-md);
  }
  .welcome-brand{
    margin-bottom:var(--space-5);
  }
  .welcome-mark{width:min(140px, 38vw)}
  .welcome-top{
    gap:.5rem;
  }
  .welcome-top .role-entry{
    height:40px;
    padding:0 1rem;
    font-size:.92rem;
  }
  .welcome-logo{width:min(280px, 72vw)}
  .hero__copy h1{
    font-size:clamp(1.45rem, 0.95rem + 3.2vw, 1.95rem);
    max-width:none;
  }
  .hero{gap:var(--space-6)}
  .hero__copy{width:100%; min-width:0; align-items:flex-start}
  .hero__copy .lede{font-size:var(--fs-body); max-width:none}
  .creators{width:100%; max-width:none; box-sizing:border-box}
  .hero__copy .actions--hero{
    width:100%;
    margin-top:var(--space-5);
    align-items:stretch;
  }
  .hero__copy .actions--hero .btn{
    width:100%;
    justify-content:center;
  }
  .hero__copy .welcome-aff-link{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .hero__copy .hint{
    text-align:left;
    width:100%;
  }
  .hero__copy .hint--cta{margin-top:var(--space-3)}
  .hero__aside{
    min-height:0;
    max-height:min(68vh, 520px);
    aspect-ratio:4/5;
  }
  .hero__aside-body{padding:var(--space-4) var(--space-5) var(--space-5)}
  .welcome-stats{margin-top:var(--space-6); gap:var(--space-3)}
  .welcome-stats div{padding:var(--space-4)}
  .welcome-stats b{font-size:1.2rem}
  .note-card{margin-top:var(--space-6); padding:var(--space-5)}
  .policy-band{margin-top:var(--space-6)}
  .panel > .actions--hero{
    margin-top:var(--space-6);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:var(--space-3);
  }
  .panel > .actions--hero .btn{width:100%; justify-content:center}
  .panel > .actions--hero .welcome-aff-link{width:100%; justify-content:center; text-align:center}
}
@media (max-width:420px){
  .welcome-stats{grid-template-columns:1fr}
  .container{padding-inline:max(.85rem, env(safe-area-inset-left, 0px)) max(.85rem, env(safe-area-inset-right, 0px))}
}

.note-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:clamp(var(--space-5), 3vw, var(--space-8));
  box-shadow:var(--shadow-sm); margin-top:var(--space-8);
}
.note-card + .note-card{margin-top:var(--space-6)}
.note-card h2{font-size:var(--fs-1); margin-bottom:var(--space-3)}
.note-card h3{font-size:var(--fs-3); margin-bottom:var(--space-2)}
.note-card p{color:var(--text-muted)}
.note-card p + p{margin-top:var(--space-4)}
.signoff{margin-top:var(--space-6); padding-top:var(--space-5); border-top:1px dashed var(--border-strong); font-size:var(--fs-sm); color:var(--text-muted)}
.signoff strong{display:block; color:var(--text); font-family:var(--font-display); font-size:1.05rem}

.how-grid{display:grid; gap:var(--space-5); margin-top:var(--space-6)}
@media (min-width:760px){ .how-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1080px){ .how-grid{grid-template-columns:repeat(4,1fr)} }
.how-step{border-top:2px solid var(--ink); padding-top:var(--space-4)}
.how-step b{display:block; font-family:var(--font-display); font-size:var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--brand); margin-bottom:var(--space-2)}
.how-step h3{font-size:1.05rem; margin-bottom:var(--space-2)}
.how-step p{font-size:var(--fs-sm); color:var(--text-muted)}

.rules{display:grid; gap:var(--space-4); margin-top:var(--space-5); list-style:none}
@media (min-width:820px){ .rules{grid-template-columns:repeat(2,1fr); gap:var(--space-5)} }
.rules li{
  display:grid; grid-template-columns:auto 1fr; gap:var(--space-4);
  background:var(--surface-2); border-radius:var(--radius-md); padding:var(--space-5);
}
.rules .n{
  width:30px; height:30px; border-radius:50%; background:var(--ink); color:#fff;
  display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:var(--fs-sm);
  font-variant-numeric:tabular-nums;
}
.rules h3{font-size:1rem; margin-bottom:var(--space-1)}
.rules p{font-size:var(--fs-sm); color:var(--text-muted)}

.twocol{display:grid; gap:var(--space-6); margin-top:var(--space-5)}
@media (min-width:820px){ .twocol{grid-template-columns:repeat(2,1fr); gap:var(--space-8)} }
.checklist{list-style:none; display:grid; gap:var(--space-3)}
.checklist li{display:grid; grid-template-columns:auto 1fr; gap:var(--space-3); font-size:var(--fs-sm); color:var(--text-muted)}
.tick,.cross{width:20px; height:20px; border-radius:50%; display:grid; place-items:center; flex:none; margin-top:1px; font-size:.7rem; font-weight:700}
.tick{background:var(--accent-soft); color:var(--accent)}
.cross{background:var(--error-soft); color:var(--error)}
.col-head{display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-4)}
.col-head h3{font-size:var(--fs-3)}

.policy-band{
  margin-top:var(--space-8); border-radius:var(--radius-lg);
  background:var(--accent-soft); border:1px solid #CFE4E1;
  padding:clamp(var(--space-5), 3vw, var(--space-8));
  display:grid; gap:var(--space-4);
}
@media (min-width:820px){ .policy-band{grid-template-columns:auto 1fr auto; align-items:center; gap:var(--space-6)} }
.policy-band .shield{width:44px; height:44px; border-radius:12px; background:var(--accent); color:#fff; display:grid; place-items:center; flex:none}
.policy-band h3{font-size:var(--fs-3); color:#0B3D38}
.policy-band p{font-size:var(--fs-sm); color:#1F4E49; margin-top:var(--space-1)}

/* =========================================================
   FORM SYSTEM
   ========================================================= */
.form-shell{width:100%; max-width:var(--max-form); margin-inline:auto}
.form-head{margin-bottom:var(--space-8)}
.form-head h1{font-size:var(--fs-1); margin-top:var(--space-4)}
.form-head p{color:var(--text-muted); margin-top:var(--space-3); max-width:56ch}

fieldset{border:0; margin:0; padding:0; min-width:0}
.fieldset{
  display:flex; flex-direction:column;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:clamp(var(--space-5), 3vw, var(--space-8)); box-shadow:var(--shadow-sm);
}
.fieldset + .fieldset{margin-top:var(--space-6)}
.fieldset > legend{
  float:left; width:100%;
  font-family:var(--font-display); font-size:var(--fs-2); font-weight:600; letter-spacing:-.02em;
  padding:0; margin:0 0 var(--space-2);
}
.fieldset > legend + *{clear:both}
.fieldset-note{color:var(--text-muted); font-size:var(--fs-sm); margin:0 0 var(--space-6)}

.grid{display:grid; gap:var(--space-5)}
@media (min-width:680px){
  .grid--2{grid-template-columns:repeat(2,1fr)}
  .span-2{grid-column:1/-1}
}

.field{display:flex; flex-direction:column; gap:var(--space-2)}
.field > label,.legend-label{font-weight:600; font-size:var(--fs-sm); letter-spacing:-.01em}
.req{color:var(--brand); margin-left:2px}
.hint{font-size:var(--fs-xs); color:var(--text-faint)}
.hint--ok{color:var(--accent); font-weight:500}
.control{
  width:100%; padding:.72rem .9rem;
  font:inherit; font-size:var(--fs-body); color:var(--text);
  background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius-sm);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
textarea.control{min-height:96px; resize:vertical; line-height:1.5}
select.control{
  appearance:none; cursor:pointer; padding-right:2.4rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%235A6470' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center;
}
.control::placeholder{color:#A9B0B8}
.control:hover{border-color:#A9A49A}
.control:focus{outline:none; border-color:var(--brand); box-shadow:var(--ring)}
.control[aria-invalid="true"]{border-color:var(--error); background:var(--error-soft)}
.control:disabled{background:var(--surface-2); color:var(--text-faint); cursor:not-allowed}
.input-prefix{position:relative}
.input-prefix .control{padding-left:2rem}
.input-prefix span{position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--text-faint); pointer-events:none; font-variant-numeric:tabular-nums}
.phone-field{display:grid; grid-template-columns:minmax(7.5rem, 9.5rem) 1fr; gap:var(--space-2)}
.phone-field select.control{
  padding-left:.85rem; padding-right:2rem; font-variant-numeric:tabular-nums; font-weight:600;
  background-position:right .7rem center;
}
.phone-field input.control{min-width:0}
.pin-field{display:grid; gap:var(--space-2)}
.pin-field select.control{font-variant-numeric:tabular-nums}
.bank-field{display:grid; gap:var(--space-2)}
@media (max-width:420px){
  .phone-field{grid-template-columns:1fr}
}
.date-parts{
  display:grid;
  grid-template-columns:minmax(4.5rem, .7fr) minmax(8rem, 1.2fr) minmax(5.5rem, .9fr);
  gap:var(--space-2);
}
@media (max-width:520px){
  .date-parts{grid-template-columns:1fr}
}
.mono{font-variant-numeric:tabular-nums; letter-spacing:.06em}

.photo-upload{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-5);
  padding:var(--space-4); border:1px dashed var(--border-strong); border-radius:var(--radius-md);
  background:var(--surface-2);
  overflow:hidden;
}
.photo-preview{
  width:96px; height:96px; border-radius:50%;
  border:2px solid var(--border); background:#fff; flex:none;
  overflow:hidden; display:grid; place-items:center;
}
.photo-preview img{
  width:100%; height:100%; object-fit:cover; object-position:center top; display:block;
}
.photo-preview.is-empty{
  color:var(--text-faint); font-size:var(--fs-xs); text-align:center;
  padding:var(--space-2);
}
.photo-actions{display:flex; flex-direction:column; gap:var(--space-2); min-width:0; flex:1}
.photo-actions .btn{align-self:flex-start}
.photo-actions input[type=file]{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden}

.err{display:none; font-size:var(--fs-xs); color:var(--error); font-weight:500}
.err.show{display:block}
.field.field--flash,
.fieldset.field--flash,
.sigwrap.field--flash,
.checkrow.field--flash,
.aff-apply__phone.field--flash,
.aff-apply__form label.field--flash{
  outline:2px solid var(--error);
  outline-offset:3px;
  border-radius:var(--radius-sm);
  animation:fieldFlash 2.2s ease;
}
@keyframes fieldFlash{
  0%,100%{outline-color:transparent}
  12%,40%{outline-color:var(--error)}
}

/* Chips (multi-select) */
.chipset{display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-1)}
.chip{position:relative}
.chip input{position:absolute; opacity:0; width:0; height:0}
.chip span{
  display:inline-block; padding:.5rem .85rem; border-radius:var(--radius-pill);
  border:1px solid var(--border-strong); background:var(--surface);
  font-size:var(--fs-sm); font-weight:500; cursor:pointer; user-select:none;
  transition:all .14s ease;
}
.chip span:hover{border-color:var(--ink); background:var(--surface-2)}
.chip input:checked + span{background:var(--ink); border-color:var(--ink); color:#fff}
.chip input:focus-visible + span{outline:3px solid var(--brand); outline-offset:2px}

/* Segmented radio cards */
.optcards{display:grid; gap:var(--space-3); margin-top:var(--space-1)}
@media (min-width:560px){ .optcards--2{grid-template-columns:repeat(2,1fr)} .optcards--3{grid-template-columns:repeat(3,1fr)} }
.optcard{position:relative}
.optcard input{position:absolute; opacity:0; width:0; height:0}
.optcard > div{
  border:1px solid var(--border-strong); border-radius:var(--radius-md);
  padding:var(--space-4); cursor:pointer; background:var(--surface); height:100%;
  transition:all .14s ease;
}
.optcard > div b{display:block; font-size:var(--fs-sm); font-weight:600}
.optcard > div small{display:block; color:var(--text-muted); font-size:var(--fs-xs); margin-top:2px; line-height:1.45}
.optcard > div:hover{border-color:var(--ink)}
.optcard input[value="Yes"]:checked + div{border-color:var(--accent); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent)}
.optcard input[value="No"]:checked + div{border-color:var(--error); background:var(--error-soft); box-shadow:inset 0 0 0 1px var(--error)}
.optcard input:focus-visible + div{outline:3px solid var(--brand); outline-offset:2px}

/* Conditional reveal */
.reveal{display:none; margin-top:var(--space-5); padding:var(--space-5); background:var(--surface-2); border-radius:var(--radius-md); border:1px dashed var(--border-strong)}
.reveal.open{display:block; animation:rise .25s ease both}
.reveal > h4{font-family:var(--font-display); font-size:var(--fs-sm); text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted); margin-bottom:var(--space-4)}
.platform-links.reveal{grid-column:1/-1}
.platform-links .grid{margin-top:0}

/* Checkbox rows (declaration) */
.checkrow{display:grid; grid-template-columns:auto 1fr; gap:var(--space-3); align-items:start; padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); cursor:pointer}
.checkrow + .checkrow{margin-top:var(--space-3)}
.checkrow:hover{border-color:var(--border-strong); background:var(--surface-2)}
.checkrow input{width:20px; height:20px; margin:2px 0 0; accent-color:var(--brand); flex:none; cursor:pointer}
.checkrow span{font-size:var(--fs-sm); color:var(--text-muted)}
.checkrow strong{display:block; color:var(--text); font-size:var(--fs-body); font-weight:600; margin-bottom:2px}
.checkrow--accept{
  margin-top:var(--space-5);
  border-color:var(--brand);
  background:color-mix(in srgb, var(--brand) 6%, var(--surface));
}
.checkrow--accept:hover{border-color:var(--brand); background:color-mix(in srgb, var(--brand) 10%, var(--surface))}

/* Unified declaration document */
.declare-doc{
  display:grid; gap:var(--space-5);
  max-height:none;
  overflow:visible;
  padding:var(--space-4);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface-2);
}
.declare-doc__block{display:grid; gap:var(--space-3)}
.declare-doc__title{
  margin:0;
  font-family:var(--font-display);
  font-size:var(--fs-sm);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text);
}
.declare-doc__list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:var(--space-2);
}
.declare-doc__list li{
  display:grid; grid-template-columns:2.25rem 1fr; gap:var(--space-3);
  padding:var(--space-3) var(--space-3);
  border-bottom:1px solid var(--border);
}
.declare-doc__list li:last-child{border-bottom:0}
.declare-doc__num{
  font-family:var(--font-display); font-weight:700; font-size:var(--fs-sm);
  letter-spacing:.04em; color:var(--brand); line-height:1.45;
}
.declare-doc__text{
  font-size:var(--fs-sm); color:var(--text-muted); line-height:1.55;
}

/* Legacy disclaimer list (kept for any older markup) */
.disclaimer-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:var(--space-3);
}
.disclaimer-list li{
  display:grid; grid-template-columns:2.5rem 1fr; gap:var(--space-3);
  padding:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-md);
  background:var(--surface);
}
.disclaimer-list__num{
  font-family:var(--font-display); font-weight:700; font-size:var(--fs-sm);
  letter-spacing:.04em; color:var(--brand); line-height:1.4;
}
.disclaimer-list__text{
  font-size:var(--fs-sm); color:var(--text-muted); line-height:1.5;
}

/* Signature */
.sigwrap{margin-top:var(--space-4)}
.sig-options{display:grid; gap:var(--space-3)}
.sig-mode{
  display:inline-flex; width:fit-content; max-width:100%;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-pill); padding:3px; gap:2px;
}
.sig-mode__btn{
  border:0; background:transparent; cursor:pointer; font:inherit; font-weight:600; font-size:var(--fs-sm);
  color:var(--text-muted); padding:.45rem .9rem; border-radius:var(--radius-pill);
}
.sig-mode__btn.is-on{background:var(--ink); color:#fff}
.sigpad{
  position:relative; border:2px dashed var(--border-strong); border-radius:var(--radius-md);
  background:var(--surface); touch-action:none; overflow:hidden;
}
.sigpad canvas{display:block; width:100%; height:190px; cursor:crosshair; touch-action:none}
.sigpad.is-signed{border-style:solid; border-color:var(--accent)}
.sigpad__hint{
  position:absolute; inset:auto 0 var(--space-5) 0; text-align:center;
  font-size:var(--fs-sm); color:var(--text-faint); pointer-events:none;
}
.sigpad__rule{position:absolute; left:12%; right:12%; bottom:52px; height:1px; background:var(--border); pointer-events:none}
.sigpad.is-signed .sigpad__hint{display:none}
.sigpad__meta{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3); margin-top:var(--space-2)}
.sig-upload{
  border:2px dashed var(--border-strong); border-radius:var(--radius-md);
  background:var(--surface); min-height:190px; display:grid; place-items:center; gap:var(--space-3);
  padding:var(--space-4); box-sizing:border-box;
}
.sig-upload.is-signed{border-style:solid; border-color:var(--accent)}
.sig-upload__drop{
  width:100%; min-height:150px; border:0; background:transparent; cursor:pointer;
  display:grid; place-items:center; gap:var(--space-2); font:inherit; color:inherit; padding:var(--space-4);
}
.sig-upload__title{font-weight:600; font-size:var(--fs-body); color:var(--text)}
.sig-upload__hint{font-size:var(--fs-xs); color:var(--text-faint)}
.sig-upload__preview{
  max-width:100%; max-height:140px; width:auto; height:auto;
  object-fit:contain; background:#fff; border-radius:var(--radius-sm);
  border:1px solid var(--border); padding:var(--space-2);
}
.sig-upload__actions{display:flex; justify-content:center}
.sigbar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3); margin-top:var(--space-3)}
.sigbar .status{font-size:var(--fs-xs); color:var(--text-faint)}
.sigbar .status.ok{color:var(--accent); font-weight:600}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  min-height:48px; padding:.8rem 1.5rem; border-radius:var(--radius-pill);
  font-family:var(--font-body); font-weight:600; font-size:var(--fs-sm);
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:transform .12s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--brand); color:var(--brand-contrast)}
.btn--primary:hover{background:var(--brand-dark); color:#fff}
.btn--dark{background:var(--ink); color:#fff}
.btn--dark:hover{background:var(--ink-2); color:#fff}
.btn--ghost{background:transparent; color:var(--text); border-color:var(--border-strong)}
.btn--ghost:hover{background:var(--surface-2); border-color:var(--ink)}
.btn--quiet{background:transparent; border-color:transparent; color:var(--text-muted); padding-inline:var(--space-3); min-height:40px}
.btn--quiet:hover{color:var(--brand); background:var(--brand-soft)}
.btn--sm{min-height:38px; padding:.4rem 1rem; font-size:var(--fs-xs)}
.btn--lg{min-height:54px; padding:1rem 2rem; font-size:var(--fs-body)}
.btn:disabled{opacity:.45; cursor:not-allowed; transform:none}

.actions{
  display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center;
  margin-top:var(--space-8); padding-top:var(--space-6); border-top:1px solid var(--border);
}
.actions .spacer{flex:1 1 auto}

/* Honeypot - off-screen, ignored by assistive tech */
.hp-trap{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.recaptcha-wrap{
  margin-top:var(--space-6);
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.field-hint{margin:0; font-size:var(--fs-xs); color:var(--text-muted)}
.field-error{margin:0; font-size:var(--fs-xs); color:var(--brand)}
.actions--hero{border:0; padding-top:0; margin-top:var(--space-8)}
.panel > .actions--hero{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-3);
}

/* Alerts */
.alert{display:none; gap:var(--space-3); padding:var(--space-4) var(--space-5); border-radius:var(--radius-md); font-size:var(--fs-sm); margin-bottom:var(--space-6)}
.alert.show{display:grid; grid-template-columns:auto 1fr}
.alert--error{background:var(--error-soft); border:1px solid #F3C4C0; color:#7A1912}
.alert--warn{background:var(--warn-soft); border:1px solid #EBD5AA; color:var(--warn)}
.alert b{display:block; margin-bottom:2px}

/* =========================================================
   REVIEW SCREEN
   ========================================================= */
.review-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden}
.review-card + .review-card{margin-top:var(--space-5)}
.review-card__head{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-5) clamp(var(--space-5),3vw,var(--space-6)); border-bottom:1px solid var(--border); background:var(--surface-2)}
.review-card__head h2{font-size:var(--fs-3)}
.review-list{list-style:none; padding:clamp(var(--space-4),3vw,var(--space-6)); display:grid; gap:var(--space-4)}
@media (min-width:640px){ .review-list{grid-template-columns:repeat(2,1fr)} .review-list > div.wide{grid-column:1/-1} }
.review-list dt{font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.09em; color:var(--text-faint); font-weight:600}
.review-list dd{margin:var(--space-1) 0 0; font-size:var(--fs-sm); font-weight:500; color:var(--text); overflow-wrap:anywhere}
.review-list dd.empty{color:var(--text-faint); font-weight:400; font-style:italic}
.sig-preview{max-height:80px; width:auto; margin-top:var(--space-2); border:1px solid var(--border); border-radius:var(--radius-sm); background:#fff; padding:var(--space-2)}
.pill{display:inline-block; padding:.2rem .6rem; border-radius:var(--radius-pill); background:var(--surface-2); border:1px solid var(--border); font-size:var(--fs-xs); font-weight:600; margin:0 4px 4px 0}
.pill--accent{background:var(--accent-soft); border-color:#CFE4E1; color:#0B3D38}

/* =========================================================
   SUCCESS SCREEN
   ========================================================= */
.done{max-width:720px; margin-inline:auto; text-align:center}
.done__badge{
  width:76px; height:76px; border-radius:50%; margin:0 auto var(--space-6);
  background:var(--accent); color:#fff; display:grid; place-items:center;
  box-shadow:0 0 0 10px var(--accent-soft);
}
.done h1{font-size:var(--fs-1)}
.done > p{color:var(--text-muted); margin-top:var(--space-4)}
.ref{
  display:inline-flex; flex-direction:column; gap:2px; margin-top:var(--space-6);
  padding:var(--space-4) var(--space-6); border-radius:var(--radius-md);
  background:var(--ink); color:#fff;
}
.ref span{font-size:var(--fs-xs); letter-spacing:.12em; text-transform:uppercase; color:#98A1AC}
.ref b{font-family:var(--font-display); font-size:1.3rem; letter-spacing:.06em; font-variant-numeric:tabular-nums}
.next{margin-top:var(--space-10); text-align:left; display:grid; gap:var(--space-4)}
@media (min-width:720px){ .next{grid-template-columns:repeat(3,1fr)} }
.next article{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); padding:var(--space-5)}
.next b{display:block; font-family:var(--font-display); font-size:var(--fs-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--brand); margin-bottom:var(--space-2)}
.next p{font-size:var(--fs-sm); color:var(--text-muted)}

/* =========================================================
   MODAL - DATA POLICY
   ========================================================= */
dialog.policy-dialog{
  border:0;
  border-radius:var(--radius-lg);
  padding:0;
  max-width:min(680px, calc(100vw - 2rem));
  width:100%;
  box-shadow:var(--shadow-lg);
  color:var(--text);
  background:var(--surface);
  margin:auto;
}
dialog.policy-dialog::backdrop{
  background:rgba(11,15,20,.6);
  backdrop-filter:blur(3px);
}
.modal__head{display:flex; align-items:start; justify-content:space-between; gap:var(--space-4); padding:var(--space-6) var(--space-6) var(--space-4); border-bottom:1px solid var(--border)}
.modal__head h2{font-size:var(--fs-2)}
.modal__body{padding:var(--space-6); max-height:min(60vh, 520px); overflow-y:auto}
.modal__body h3{font-size:var(--fs-sm); text-transform:uppercase; letter-spacing:.09em; color:var(--brand); margin-top:var(--space-6); margin-bottom:var(--space-2)}
.modal__body h3:first-child{margin-top:0}
.modal__body p{font-size:var(--fs-sm); color:var(--text-muted)}
.modal__body ul{padding-left:1.1rem; font-size:var(--fs-sm); color:var(--text-muted); display:grid; gap:var(--space-2); margin-top:var(--space-2)}
.modal__body li{list-style:disc}
.modal__foot{padding:var(--space-4) var(--space-6) var(--space-6); display:flex; justify-content:flex-end; gap:var(--space-3); border-top:1px solid var(--border)}
.icon-btn{width:36px; height:36px; border-radius:50%; border:1px solid var(--border); background:var(--surface); display:grid; place-items:center; cursor:pointer; flex:none}
.icon-btn:hover{background:var(--surface-2); border-color:var(--ink)}

/* =========================================================
   NOTICE BAR - fixed bottom disclaimer
   ========================================================= */
.onboarding-shell{
  min-height:100vh;
  padding-bottom:calc(3.9rem + env(safe-area-inset-bottom, 0px));
  background:transparent;
}
.notice-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:55;
  padding:0.85rem var(--gutter) calc(0.85rem + env(safe-area-inset-bottom, 0px));
  background:#0B0F14;
  border-top:3px solid #E11D38;
  box-shadow:0 -12px 32px rgba(11,15,20,.2);
}
.notice-bar__inner{
  max-width:var(--max-w);
  width:100%;
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:0.85rem 1rem;
}
.notice-bar__badge{
  flex:none;
  display:inline-flex;
  align-items:center;
  padding:0.35rem 0.7rem;
  border-radius:6px;
  font-family:var(--font-display);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#FFFFFF;
  background:#E11D38;
  line-height:1.2;
  white-space:nowrap;
}
.notice-bar__text{
  margin:0;
  flex:1 1 auto;
  min-width:0;
  font-family:var(--font-body);
  font-size:clamp(0.82rem, 0.78rem + 0.2vw, 0.92rem);
  font-weight:500;
  line-height:1.45;
  color:#F7F3EE;
  text-wrap:pretty;
}
@media (max-width:720px){
  .onboarding-shell{
    padding-bottom:calc(5.25rem + env(safe-area-inset-bottom, 0px));
  }
  .notice-bar__inner{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:0.45rem;
  }
  .notice-bar__text{
    font-size:0.82rem;
    max-width:none;
  }
}

.inv-creator-list{list-style:none; margin:0; padding:0; display:grid; gap:.65rem}
.inv-creator-list li{
  display:flex; justify-content:space-between; gap:1rem; align-items:center;
  padding:.85rem .9rem; border:1px solid var(--border); border-radius:14px; background:#fff;
}
.inv-creator-list p{margin:.2rem 0 .35rem; color:var(--text-muted); font-size:.88rem}
.inv-creator-list__meta{display:grid; justify-items:end; gap:.45rem}
.app-inv-form{
  display:grid; gap:.75rem; margin:0 0 1.5rem; padding:1rem 0 1.25rem;
  border-bottom:1px solid var(--border);
}
.app-inv-form .app-field{display:grid; gap:.35rem}
.app-inv-form .app-field span{font-size:.82rem; font-weight:650}
.app-inv-form .app-field input[type="text"],
.app-inv-form .app-field textarea{
  width:100%; border:1px solid var(--border); border-radius:10px; padding:.65rem .75rem;
  font:inherit; background:#fff;
}
.app-inv-form .app-field--check{
  display:flex; align-items:center; gap:.55rem;
}
.app-inv-form .app-field--check span{font-weight:500}
.app-subh{margin:0 0 .75rem; font-size:1rem}
.inv-status{display:inline-block; text-transform:uppercase; letter-spacing:.04em; font-size:.68rem; font-weight:800}
.inv-status--issued,.inv-status--sent,.inv-status--delivered{color:#92400E}
.inv-status--paid,.inv-status--completed{color:#166534}
.inv-status--void,.inv-status--voided,.inv-status--declined{color:#9CA3AF}

.ctr-attach-list{list-style:none; margin:0; padding:0; display:grid; gap:1rem}
.ctr-attach{
  display:grid;
  gap:.85rem;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
}
.ctr-attach__head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.ctr-attach__head p{margin:.2rem 0 0; color:var(--text-muted); font-size:.88rem}
.ctr-attach__meta{display:grid; justify-items:end; gap:.35rem}
.ctr-attach__pdf{
  width:100%;
  min-height:min(62vh, 640px);
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
}
.ctr-attach__sign{
  display:grid;
  gap:.65rem;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  overflow:hidden;
}
.ctr-attach__sign > .app-muted{margin:0}
.ctr-embed{min-height:560px; display:flex; flex-direction:column; gap:.65rem}
.ctr-embed__frame{
  display:block;
  width:100%;
  min-height:560px;
  height:70vh;
  border:1px solid #E4E1DB;
  border-radius:14px;
  background:#fff;
}
.ctr-embed__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
}
.ctr-attach__done{
  margin:0;
  font-size:.88rem;
  font-weight:650;
  color:#166534;
}

/* Affiliator application (public) — header + form share one aligned column */
.aff-apply{
  --aff-pad-x:clamp(1.25rem, 3.5vw, 2.25rem);
  --aff-pad-y:clamp(1.25rem, 3vw, 2rem);
  width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:clamp(3.25rem, 6vw, 4rem) 0 var(--space-10);
  box-sizing:border-box;
}
.aff-apply__shell{
  width:100%;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  border:1px solid rgba(228,225,219,.9);
  background:#fff;
  box-sizing:border-box;
}
.aff-apply__hero{
  position:relative;
  overflow:hidden;
  padding:var(--aff-pad-y) var(--aff-pad-x);
  background:linear-gradient(125deg, #C8102E 0%, #D92B2A 42%, #E3562A 72%, #F07A3A 100%);
}
.aff-apply__hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 60% at 100% 0%, rgba(255,255,255,.12), transparent 55%);
  pointer-events:none;
}
.aff-apply__body{
  padding:var(--aff-pad-y) var(--aff-pad-x) calc(var(--aff-pad-y) + .25rem);
  background:#fff;
}
.aff-apply__band{
  position:relative;
  overflow:hidden;
  width:100%;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(228,225,219,.85);
  padding:clamp(var(--space-6), 4vw, var(--space-10));
  box-shadow:var(--shadow-md);
  box-sizing:border-box;
}
.aff-apply__shell .aff-apply__band{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
}
.aff-apply__head,
.aff-apply__head > *{
  position:relative;
  z-index:1;
}
.aff-apply__head{
  display:grid;
  grid-template-columns:minmax(140px, 240px) minmax(0, 1fr);
  align-items:center;
  column-gap:clamp(1.25rem, 3.5vw, 2.75rem);
  row-gap:1rem;
  margin:0;
  text-align:left;
}
.aff-apply__logo{display:block; justify-self:start}
.aff-apply__logo-img{
  width:100%;
  max-width:240px;
  height:auto;
  display:block;
  margin:0;
}
.aff-apply__intro{
  min-width:0;
  text-align:left;
}
.aff-apply__intro h1{
  margin:0 0 .55rem;
  font-family:var(--font-display);
  font-size:clamp(1.55rem, 2vw + .9rem, 2.2rem);
  letter-spacing:-.02em;
  line-height:1.15;
  color:#fff;
  text-align:left;
}
.aff-apply__intro .lede{
  margin:0;
  color:rgba(255,255,255,.92);
  max-width:54ch;
  font-size:clamp(.92rem, .35vw + .85rem, 1.02rem);
  line-height:1.55;
  text-align:left;
}
@media (max-width:720px){
  .aff-apply__head{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .aff-apply__logo-img{max-width:160px}
  .aff-apply__intro h1{font-size:clamp(1.3rem, 4vw + .7rem, 1.65rem)}
}
.aff-apply__form{
  display:grid;
  gap:clamp(1.5rem, 3vw, 2.25rem);
  width:100%;
  max-width:none;
}
.aff-apply__cols{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem, 3vw, 2.25rem);
  width:100%;
}
.aff-apply__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem 1.25rem;
  width:100%;
}
@media (min-width:720px){
  .aff-apply__fields{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
}
.aff-apply__field--full{
  grid-column:1 / -1;
}
.aff-apply__form fieldset{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  flex-direction:column;
  gap:.9rem;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.aff-apply__form legend{
  float:left;
  width:100%;
  margin:0;
  padding:0 0 .35rem;
  border:0;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
}
.aff-apply__form legend + *{clear:both}
.aff-apply__form .fieldset-note{
  margin:-.35rem 0 0;
  font-size:.88rem;
  color:var(--text-muted);
  font-weight:500;
  grid-column:1 / -1;
}
.aff-apply__form label{display:grid; gap:.35rem; font-size:.9rem; font-weight:600}
.aff-apply__phone{
  display:grid;
  gap:.35rem;
  font-size:.9rem;
  font-weight:600;
}
.aff-apply__phone-label{display:block}
.aff-apply__form .phone-field{
  display:grid;
  grid-template-columns:minmax(8.5rem, 11rem) 1fr;
  gap:.5rem;
  font-weight:400;
}
.aff-apply__form .phone-field select,
.aff-apply__form .phone-field input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid var(--border);
  border-radius:10px;
  padding:.7rem .85rem;
  font:inherit;
  background:#fff;
}
.aff-apply__form .phone-field select{
  font-weight:600;
  font-variant-numeric:tabular-nums;
  padding-right:1.75rem;
}
.aff-apply__form .phone-field input:focus,
.aff-apply__form .phone-field select:focus{
  outline:none;
  border-color:rgba(200,16,46,.45);
  box-shadow:0 0 0 3px rgba(200,16,46,.12);
}
@media (max-width:420px){
  .aff-apply__form .phone-field{grid-template-columns:1fr}
}
.aff-apply__form input,
.aff-apply__form textarea,
.aff-apply__form select{
  font:inherit;
  font-weight:500;
  padding:.7rem .8rem;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  width:100%;
  box-sizing:border-box;
}
.aff-apply__form select{
  appearance:auto;
  cursor:pointer;
}
.aff-apply__form input:focus,
.aff-apply__form textarea:focus,
.aff-apply__form select:focus{
  outline:2px solid rgba(200,16,46,.25);
  border-color:#C8102E;
}
.aff-apply__disc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.85rem;
  max-height:none;
  overflow:visible;
}
.aff-apply__disc-list li{
  display:grid;
  grid-template-columns:2.25rem minmax(0, 1fr);
  gap:.75rem;
  align-items:flex-start;
  padding:.65rem .75rem;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-2);
}
.aff-apply__disc-num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.04em;
  color:#C8102E;
  line-height:1.45;
}
.aff-apply__disc-text{
  font-weight:500;
  line-height:1.5;
  font-size:.92rem;
  color:var(--text);
}
.aff-apply__disc-title{
  font-weight:700;
  color:var(--ink);
}
.aff-apply__consent-head{
  margin:.35rem 0 0;
  font-size:.95rem;
  font-weight:700;
  color:var(--ink);
}
.aff-apply__accept{
  display:flex !important;
  flex-direction:row;
  align-items:flex-start;
  gap:.65rem;
  font-weight:600;
  margin-top:.35rem;
  padding:.85rem .9rem;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.aff-apply__accept input{width:1.1rem; height:1.1rem; margin-top:.15rem; flex:none}
.aff-apply__hp{position:absolute; left:-9999px; height:0; overflow:hidden}
.aff-apply__success{
  padding:var(--space-5);
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  display:grid;
  gap:.75rem;
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.aff-apply__success h2{margin:0; font-size:1.25rem}
.aff-apply__success p{margin:0}
@media (max-width:720px){
  .aff-apply{
    --aff-pad-x:1.1rem;
    --aff-pad-y:1.15rem;
    padding-top:3.5rem;
  }
}

@media (max-width:560px){
  .welcome-top,.welcome-top__actions{flex-wrap:wrap}
  .welcome-top__actions{justify-content:flex-end}
}
/* Affiliate dashboard — BrandStory theme tokens */
.aff-dash{
  --aff-paper:#F6F5F2;
  --aff-surface:#FFFFFF;
  --aff-surface-2:#F1EFEB;
  --aff-border:#E4E1DB;
  --aff-border-strong:#CBC7BE;
  --aff-brand:#C8102E;
  --aff-brand-soft:#FBEBEE;
  --aff-accent:#0E9384;
  --aff-accent-dark:#0B5D55;
  --aff-accent-soft:#E4F4F1;
  --aff-amber:#8A5A00;
  --aff-amber-soft:#FDF3E2;
  --aff-violet:#5B3E96;
  --aff-violet-soft:#EFEBF8;
  --aff-blue:#1B4F8A;
  --aff-blue-soft:#E8F0F9;
  --aff-error:#B3261E;
  --aff-error-soft:#FDECEA;
  --aff-muted:#6E7681;
  --aff-text-secondary:#48515C;
  margin:0;
  background:transparent;
  color:#0B0F14;
  min-height:100%;
}
.aff-dash__spacer{flex:1 1 auto}

.aff-dash__hero{
  background:#0B0F14; color:#fff;
  border-radius:18px;
  padding:clamp(1.35rem, 2vw, 1.85rem) clamp(1.1rem, 2vw, 1.5rem) clamp(1.5rem, 2.4vw, 2rem);
  margin-bottom:1rem;
}
.aff-dash__hero--compact{
  padding:clamp(1.05rem, 1.6vw, 1.35rem) clamp(1rem, 1.8vw, 1.35rem);
  margin-bottom:.85rem;
}
.aff-dash--with-admin .people-shell{
  margin-top:0;
}
.aff-dash__hero-in{max-width:none; margin:0; width:100%}
.aff-dash__hero-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
}
.aff-dash__hero-copy{min-width:0; flex:1 1 280px}
.aff-dash__hero h1{font-size:clamp(1.35rem, 1.1rem + 1.1vw, 1.9rem); margin:0 0 .3rem}
.aff-dash__sub{color:rgba(255,255,255,.72); font-size:.9rem; max-width:62ch; margin:0}
.aff-dash__linkbox{
  margin-top:1.25rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:14px; padding:.85rem 1rem; display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
}
.aff-dash__linkbox code{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.88rem;
  overflow-wrap:anywhere; min-width:0; flex:1 1 260px;
}
.aff-dash__linkstate{
  display:inline-flex; align-items:center; gap:.35rem; font-size:.74rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:#8FE3D4;
}
.aff-dash__linkstate i{width:.5rem; height:.5rem; border-radius:50%; background:currentColor; display:block}
.aff-dash__linkstate.is-off{color:#F3ABA4}
.aff-dash__linknote{margin:.6rem 0 0; font-size:.78rem; color:rgba(255,255,255,.62)}

.aff-dash__main{
  padding:0 0 2rem;
  max-width:none;
  margin:0;
  width:100%;
}
.aff-dash__tiles{
  display:grid; gap:.75rem;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  margin:0 0 1rem;
}
.aff-dash__tile{
  background:var(--aff-surface); border:1px solid var(--aff-border); border-radius:14px;
  padding:1rem; min-width:0;
}
.aff-dash__tile-n{font-size:1.9rem; font-weight:700; line-height:1.05}
.aff-dash__tile-l{font-size:.8rem; font-weight:600; margin-top:.1rem}
.aff-dash__tile-s{font-size:.74rem; color:var(--aff-muted); margin-top:.2rem; line-height:1.45}

.aff-dash__monthly{
  margin-top:0; background:var(--aff-surface); border:1px solid var(--aff-border);
  border-radius:14px; padding:1.25rem;
}
.aff-dash__monthly-head{display:flex; align-items:flex-start; gap:1rem; flex-wrap:wrap}
.aff-dash__eyebrow{font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:var(--aff-muted); font-weight:700; margin:0}
.aff-dash__hero-n{font-size:clamp(2.2rem, 1.6rem + 2.4vw, 3.2rem); font-weight:700; line-height:1; margin:.15rem 0 0}
.aff-dash__hero-s{font-size:.86rem; color:var(--aff-text-secondary); margin:.3rem 0 0; max-width:60ch}

.aff-dash__chart{position:relative; margin-top:1.5rem; padding-left:2.2rem}
.aff-dash__chart-y{position:absolute; left:0; top:0; bottom:3.6rem; width:2.2rem}
.aff-dash__chart-y span{
  position:absolute; right:.45rem; transform:translateY(-50%); font-size:.68rem;
  color:#98A0AA; font-variant-numeric:tabular-nums;
}
.aff-dash__chart-scroll{overflow-x:auto; padding:1.3rem 0 1.4rem}
.aff-dash__chart-plot{
  position:relative; display:flex; align-items:flex-end; gap:2px; height:200px;
  border-bottom:1px solid var(--aff-border-strong); min-width:100%;
}
.aff-dash__chart-grid{position:absolute; left:0; right:0; border-top:1px solid var(--aff-border); pointer-events:none}
.aff-dash__col{
  flex:1 1 0; min-width:42px; display:flex; flex-direction:column; justify-content:flex-end;
  align-items:center; height:100%; position:relative; background:none; border:0; padding:0;
  cursor:pointer; font:inherit;
}
.aff-dash__col-bar{
  width:min(24px, 78%); border-radius:4px 4px 0 0; background:var(--aff-accent);
  transition:background .15s ease; min-height:2px;
}
.aff-dash__col:hover .aff-dash__col-bar, .aff-dash__col.is-on .aff-dash__col-bar{background:var(--aff-accent-dark)}
.aff-dash__col.is-zero .aff-dash__col-bar{background:var(--aff-border-strong)}
.aff-dash__col.is-partial .aff-dash__col-bar{
  background:repeating-linear-gradient(135deg, var(--aff-accent) 0 6px, #6FC4B9 6px 12px);
}
.aff-dash__col-cap{
  position:absolute; font-size:.7rem; font-weight:700; color:var(--aff-text-secondary);
  font-variant-numeric:tabular-nums;
}
.aff-dash__col-x{
  position:absolute; top:calc(100% + .45rem); font-size:.68rem; color:var(--aff-muted); white-space:nowrap;
}
.aff-dash__col.is-on .aff-dash__col-x{color:#0B0F14; font-weight:700}
.aff-dash__chart-note{margin-top:.9rem; font-size:.76rem; color:var(--aff-muted)}

.aff-dash__bar{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:2rem 0 .8rem}
.aff-dash__bar h2{font-size:1.05rem; margin:0}
.aff-dash__muted{color:var(--aff-muted); font-size:.82rem; margin:.15rem 0 0}

.aff-dash__filters{
  display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; padding:.65rem .7rem;
  background:var(--aff-surface); border:1px solid var(--aff-border); border-radius:14px; margin-bottom:.8rem;
}
.aff-dash__search{position:relative; flex:1 1 220px; min-width:0; display:flex}
.aff-dash__search input{
  width:100%; padding:.5rem .7rem .5rem 2rem; border:1px solid var(--aff-border-strong);
  border-radius:999px; background:var(--aff-surface); font-size:.83rem;
}
.aff-dash__search svg{position:absolute; left:.7rem; top:50%; transform:translateY(-50%); color:#98A0AA; pointer-events:none}
.aff-dash__sel{padding:.5rem .7rem; border:1px solid var(--aff-border-strong); border-radius:8px; background:var(--aff-surface); font-size:.83rem}
.aff-dash__daterange{display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; font-size:.72rem; color:var(--aff-muted); font-weight:600}
.aff-dash__daterange input{padding:.42rem .5rem; font-size:.8rem; border:1px solid var(--aff-border-strong); border-radius:8px}

.aff-dash__tablewrap{background:var(--aff-surface); border:1px solid var(--aff-border); border-radius:14px; overflow:hidden}
.aff-dash__tablescroll{overflow-x:auto}
.aff-dash__table{border-collapse:collapse; width:100%; min-width:940px}
.aff-dash__table thead th{
  background:var(--aff-surface-2); text-align:left; font-size:.68rem; letter-spacing:.07em;
  text-transform:uppercase; color:var(--aff-muted); font-weight:700; padding:.55rem .7rem;
  border-bottom:1px solid var(--aff-border); white-space:nowrap;
}
.aff-dash__table tbody td{padding:.65rem .7rem; border-bottom:1px solid var(--aff-border); font-size:.84rem; vertical-align:top}
.aff-dash__table tbody tr:last-child td{border-bottom:0}
.aff-dash__table tbody tr:hover{background:var(--aff-surface-2)}

.aff-dash__who{display:flex; align-items:center; gap:.55rem; min-width:0}
.aff-dash__ini{
  width:34px; height:34px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:var(--aff-surface-2); color:var(--aff-muted); font-size:.74rem; font-weight:700;
}
.aff-dash__who-txt{min-width:0}
.aff-dash__who-txt b{display:block; font-weight:650}
.aff-dash__who-txt span{display:block; font-size:.74rem; color:var(--aff-muted)}
.aff-dash__handles{display:grid; gap:.25rem; min-width:0}
.aff-dash__handle{display:flex; align-items:baseline; gap:.4rem; font-size:.78rem; min-width:0}
.aff-dash__handle b{font-weight:650; flex:none}
.aff-dash__handle a{color:var(--aff-brand); overflow-wrap:anywhere}
.aff-dash__handle span{color:var(--aff-muted); overflow-wrap:anywhere}

.aff-dash__chip{
  display:inline-flex; align-items:center; gap:.3rem; padding:.17rem .5rem; border-radius:999px;
  border:1px solid var(--aff-border); background:var(--aff-surface-2); font-size:.71rem; font-weight:600;
  color:var(--aff-text-secondary); white-space:nowrap;
}
.aff-dash__chip--teal{background:var(--aff-accent-soft); border-color:#C8E4DF; color:var(--aff-accent-dark)}
.aff-dash__chip--blue{background:var(--aff-blue-soft); border-color:#C6D9EC; color:var(--aff-blue)}
.aff-dash__chip--amber{background:var(--aff-amber-soft); border-color:#EBD5AA; color:var(--aff-amber)}
.aff-dash__chip--violet{background:var(--aff-violet-soft); border-color:#D6CCEE; color:var(--aff-violet)}
.aff-dash__chip--grey{background:var(--aff-surface-2); border-color:var(--aff-border-strong); color:var(--aff-muted)}
.aff-dash__chip--red{background:var(--aff-error-soft); border-color:#F3C4C0; color:var(--aff-error)}
.aff-dash__stagesub{display:block; font-size:.73rem; color:var(--aff-muted); margin-top:.25rem}

.aff-dash__empty{padding:2.5rem 1.25rem; text-align:center; color:var(--aff-muted); font-size:.86rem;
  background:var(--aff-surface); border:1px solid var(--aff-border); border-radius:14px}
.aff-dash__foot{margin-top:2rem; font-size:.78rem; color:var(--aff-muted); line-height:1.65}
.aff-dash__foot h3{font-size:.85rem; color:#0B0F14; margin:0 0 .3rem}
.aff-dash__foot ul{display:grid; gap:.3rem; margin:.4rem 0 0; padding:0; list-style:none}
.aff-dash__foot li{padding-left:1rem; position:relative}
.aff-dash__foot li::before{content:'·'; position:absolute; left:.3rem}

.aff-dash__btn{
  display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .85rem; border-radius:999px;
  border:1px solid var(--aff-border-strong); background:var(--aff-surface); font-size:.83rem; font-weight:600;
  cursor:pointer; white-space:nowrap; text-decoration:none; color:inherit;
}
.aff-dash__btn:hover{background:var(--aff-surface-2)}
.aff-dash__btn:disabled{opacity:.45; cursor:not-allowed}
.aff-dash__btn--sm{padding:.34rem .7rem; font-size:.78rem}
.aff-dash__btn--white{background:#fff; border-color:#fff; color:#0B0F14}
.aff-dash__btn--light{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); color:#fff}
.aff-dash__btn--light:hover{background:rgba(255,255,255,.22)}

.aff-dash__monthtable{width:100%; min-width:520px; border-collapse:collapse; margin-top:1rem}
.aff-dash__monthtable td, .aff-dash__monthtable th{padding:.55rem .7rem; border-bottom:1px solid var(--aff-border); font-size:.84rem}
.aff-dash__monthtable tfoot td{font-weight:700; background:var(--aff-surface-2)}

@media (max-width:720px){
  .aff-dash__filters .aff-dash__sel{display:none}
  .aff-dash__filters .aff-dash__sel:nth-child(-n+3){display:block}
}
