:root {
  --afux-blue:#1769e0;
  --afux-blue-dark:#0c4fa8;
  --afux-blue-ink:#113e7b;
  --afux-blue-soft:#eef6ff;
  --afux-blue-softer:#f7fbff;
  --afux-ink:#172033;
  --afux-muted:#667085;
  --afux-soft:#f6f8fb;
  --afux-line:#e6edf5;
  --afux-line-strong:#d9e4f0;
  --afux-card:#ffffff;
  --afux-green:#147a50;
  --afux-red:#b42318;
  --afux-amber:#b54708;
  --afux-radius:18px;
  --afux-radius-sm:12px;
  --afux-shadow:0 14px 34px rgba(15, 45, 80, .055);
}

.afux-page,
.afux-page * { box-sizing:border-box; }
.afux-page {
  min-height:100vh;
  background:linear-gradient(180deg,#fbfdff 0%,#f5f8fc 100%);
  color:var(--afux-ink);
  font-size:15px;
  line-height:1.45;
  padding:18px 0 48px;
}
.afux-page a { color:inherit; text-decoration:none; }
.afux-shell { width:min(1240px, calc(100% - 36px)); margin:0 auto; }
.afux-shell--narrow { width:min(990px, calc(100% - 36px)); }
.afux-shell--wide { width:min(1320px, calc(100% - 36px)); }

/* Header */
.afux-topbar {
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--afux-line);
  border-radius:20px;
  padding:0 16px 0 18px;
  box-shadow:0 10px 24px rgba(23,105,224,.045);
  position:relative;
  z-index:2;
}
.afux-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.afux-brand img { width:112px; height:auto; display:block; }
.afux-brand-fallback { font-weight:800; letter-spacing:-.03em; font-size:1.15rem; color:var(--afux-blue-ink); }
.afux-brand-sub { display:block; color:var(--afux-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; margin-top:2px; }
.afux-nav { display:flex; align-items:center; gap:4px; background:var(--afux-soft); border:1px solid var(--afux-line); border-radius:999px; padding:4px; }
.afux-nav a {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:0 12px; border-radius:999px;
  color:var(--afux-muted); font-weight:700; font-size:.86rem; white-space:nowrap;
}
.afux-nav a.is-active,
.afux-nav a:hover { color:var(--afux-blue-ink); background:#fff; box-shadow:0 2px 8px rgba(15,45,80,.06); }
.afux-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }

/* Buttons / form controls */
.afux-btn,
.afux-page .af-btn {
  min-height:40px;
  border-radius:12px;
  border:1px solid transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 15px;
  font-weight:800;
  font-size:.9rem;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
  white-space:nowrap;
}
.afux-btn:hover,
.afux-page .af-btn:hover { transform:translateY(-1px); }
.afux-btn--primary,
.afux-page .af-btn--primary {
  background:var(--afux-blue);
  color:#fff;
  border-color:var(--afux-blue);
  box-shadow:0 8px 18px rgba(23,105,224,.18);
}
.afux-btn--primary:hover,
.afux-page .af-btn--primary:hover { background:var(--afux-blue-dark); }
.afux-btn--secondary,
.afux-btn--quiet,
.afux-page .af-btn--quiet {
  background:#fff;
  color:var(--afux-blue-ink);
  border-color:var(--afux-line-strong);
}
.afux-btn--secondary:hover,
.afux-btn--quiet:hover,
.afux-page .af-btn--quiet:hover { background:var(--afux-blue-softer); border-color:#bfd5f7; }
.afux-btn--plain { background:transparent; color:var(--afux-blue-ink); border-color:transparent; box-shadow:none; }
.afux-btn--sm,
.afux-page .af-btn--sm { min-height:34px; border-radius:10px; padding:0 11px; font-size:.82rem; }

.afux-input,
.afux-page .af-input,
.afux-page .af-textarea,
.afux-page select,
.afux-page textarea {
  width:100%;
  min-height:44px;
  border:1px solid var(--afux-line-strong);
  border-radius:12px;
  background:#fff;
  color:var(--afux-ink);
  font:inherit;
  padding:0 12px;
  box-shadow:none;
}
.afux-page textarea,
.afux-page .af-textarea { min-height:124px; padding:12px; resize:vertical; }
.afux-input:focus,
.afux-page .af-input:focus,
.afux-page .af-textarea:focus,
.afux-page textarea:focus,
.afux-page select:focus {
  outline:0;
  border-color:#9fc2ff;
  box-shadow:0 0 0 4px rgba(23,105,224,.10);
}
.afux-field { display:grid; gap:7px; }
.afux-field label,
.afux-page .af-field label { font-weight:800; color:var(--afux-ink); font-size:.84rem; }
.afux-field small,
.afux-page label small { color:var(--afux-muted); font-weight:700; }
.afux-grid { display:grid; gap:14px; }
.afux-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.afux-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.afux-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Typography */
.afux-kicker,
.afux-page .af-kicker {
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.68rem;
  font-weight:900;
  color:var(--afux-blue);
}
.afux-title {
  margin:0;
  color:var(--afux-ink);
  letter-spacing:-.042em;
  line-height:1.03;
  font-size:clamp(2rem,3.2vw,3rem);
}
.afux-title--sm { font-size:clamp(1.7rem,2.2vw,2.25rem); }
.afux-subtitle { margin:12px 0 0; color:var(--afux-muted); max-width:68ch; font-size:1rem; }
.afux-page h1,
.afux-page h2,
.afux-page h3 { color:var(--afux-ink); letter-spacing:-.035em; }
.afux-page h1 { margin:0; font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.04; }
.afux-page h2 { margin:0; font-size:1.28rem; line-height:1.16; }
.afux-page h3 { margin:0; font-size:1rem; }
.afux-page p { color:var(--afux-muted); }
.afux-muted { color:var(--afux-muted); }

/* Cards / panels */
.afux-panel,
.afux-page .af-card {
  background:var(--afux-card);
  border:1px solid var(--afux-line);
  border-radius:var(--afux-radius);
  box-shadow:var(--afux-shadow);
  padding:22px;
}
.afux-panel--flat { box-shadow:none; }
.afux-panel-head,
.afux-page .af-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.afux-panel-head p,
.afux-page .af-card-subcopy { margin:6px 0 0; color:var(--afux-muted); }
.afux-divider { height:1px; background:var(--afux-line); margin:18px 0; }
.afux-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.afux-row--start { align-items:flex-start; }
.afux-stack { display:grid; gap:14px; }
.afux-stack--tight { display:grid; gap:10px; }

/* Auth pages */
.afux-auth-layout {
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr);
  gap:18px;
  align-items:start;
}
.afux-auth-intro { padding:28px; min-height:100%; }
.afux-steps { display:grid; gap:10px; margin-top:20px; }
.afux-step {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border:1px solid var(--afux-line);
  border-radius:14px;
  background:#fff;
}
.afux-step-no {
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  background:var(--afux-blue-soft);
  color:var(--afux-blue-ink);
  font-weight:900;
}
.afux-step strong { display:block; margin-bottom:2px; }
.afux-step span { color:var(--afux-muted); font-size:.9rem; }
.afux-form { display:grid; gap:15px; }
.afux-note {
  display:flex; gap:10px; align-items:flex-start;
  color:var(--afux-muted);
  background:var(--afux-blue-softer);
  border:1px solid #dbe9ff;
  border-radius:14px;
  padding:13px;
}
.afux-note i { color:var(--afux-blue); margin-top:2px; }
.afux-result { margin-top:14px; }

/* Broker home */
.afux-broker-home {
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:18px;
  align-items:start;
}
.afux-hero-compact {
  background:#fff;
  border:1px solid var(--afux-line);
  border-radius:22px;
  box-shadow:var(--afux-shadow);
  padding:24px;
}
.afux-primary-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.afux-account-card { padding:18px; }
.afux-account-id { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.afux-avatar {
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--afux-blue);
  color:#fff;
  font-weight:900;
}
.afux-account-id small { display:block; color:var(--afux-muted); }
.afux-account-id strong { display:block; font-size:1rem; }
.afux-meta-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.afux-meta-grid div { border-top:1px solid var(--afux-line); padding-top:10px; min-width:0; }
.afux-meta-grid small { display:block; color:var(--afux-muted); margin-bottom:3px; }
.afux-meta-grid b { display:block; overflow-wrap:anywhere; font-size:.9rem; }
.afux-action-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.afux-action-tile {
  background:#fff;
  border:1px solid var(--afux-line);
  border-radius:var(--afux-radius);
  padding:17px;
  box-shadow:var(--afux-shadow);
}
.afux-action-icon {
  width:36px;height:36px;border-radius:12px;
  display:grid;place-items:center;
  color:var(--afux-blue);
  background:var(--afux-blue-soft);
  margin-bottom:12px;
}
.afux-action-tile p { margin:6px 0 14px; }
.afux-stats { margin-top:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.afux-stat {
  background:#fff;
  border:1px solid var(--afux-line);
  border-radius:var(--afux-radius-sm);
  padding:16px;
  box-shadow:0 10px 24px rgba(15,45,80,.04);
}
.afux-stat span { display:block; color:var(--afux-muted); font-size:.82rem; }
.afux-stat strong { display:block; font-size:1.65rem; line-height:1; margin-top:8px; letter-spacing:-.04em; }
.afux-main-grid { margin-top:18px; display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:18px; align-items:start; }
.afux-referral-box {
  background:var(--afux-blue-softer);
  border:1px solid #dbe9ff;
  border-radius:16px;
  padding:14px;
  display:grid;
  gap:10px;
}
.afux-referral-url {
  background:#fff;
  border:1px dashed #bdd5fa;
  border-radius:12px;
  padding:13px;
  color:var(--afux-blue-ink);
  font-weight:800;
  overflow-wrap:anywhere;
}
.afux-referral-meta { color:var(--afux-muted); font-size:.9rem; }
.afux-toolbar { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:14px; }
.afux-search { max-width:260px; }

/* Dynamic deal rows rendered by current JS */
.afux-page .af-broker-deal-card.af-broker-deal-row {
  display:grid;
  grid-template-columns:40px minmax(0,1.6fr) minmax(138px,.7fr) minmax(110px,.5fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--afux-line);
  border-radius:14px;
  background:#fff;
  padding:13px 14px;
  color:var(--afux-ink);
  box-shadow:none;
  margin-bottom:10px;
}
.afux-page .af-broker-deal-card.af-broker-deal-row:hover { border-color:#bcd3f8; background:#fbfdff; }
.afux-page .af-broker-deal-row-icon {
  width:40px;height:40px;border-radius:12px;
  background:var(--afux-blue-soft);
  color:var(--afux-blue);
  display:grid; place-items:center;
}
.afux-page .af-broker-deal-row-main strong { display:block; margin-bottom:3px; }
.afux-page .af-broker-deal-row-main small,
.afux-page .af-broker-deal-row-amount small { color:var(--afux-muted); display:block; font-size:.8rem; }
.afux-page .af-broker-deal-row-amount b { color:var(--afux-ink); font-size:.95rem; }
.afux-page .af-broker-deal-row-action { color:var(--afux-blue-ink); font-weight:900; white-space:nowrap; }
.afux-page .af-status-chip,
.afux-page .af-count-pill,
.afux-pill {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:var(--afux-blue-soft);
  color:var(--afux-blue-ink);
  border:1px solid #d8e8ff;
  padding:7px 10px;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}

/* Deal detail */
.afux-deal-header { margin-top:18px; }
.afux-deal-header .afux-panel { padding:24px; }
.afux-deal-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.afux-deal-grid { margin-top:18px; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:start; }
.afux-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.afux-fact {
  background:#fff;
  border:1px solid var(--afux-line);
  border-radius:14px;
  padding:13px;
}
.afux-fact span { color:var(--afux-muted); display:block; font-size:.78rem; margin-bottom:6px; }
.afux-fact strong { display:block; font-size:1rem; overflow-wrap:anywhere; }
.afux-borrower-link-box { display:grid; gap:10px; }
.afux-page .af-borrower-link-box { background:#fff; border:1px dashed #bdd5fa; border-radius:12px; padding:13px; color:var(--afux-blue-ink); font-weight:800; overflow-wrap:anywhere; }
.afux-section-grid { margin-top:18px; display:grid; gap:18px; }
.afux-page .af-broker-check-row,
.afux-page .af-broker-doc-row {
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  border:1px solid var(--afux-line);
  border-radius:14px;
  background:#fff;
  padding:13px;
  margin-bottom:10px;
}
.afux-page .af-broker-check-row { flex-wrap:wrap; }
.afux-page .af-broker-check-icon {
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  color:var(--afux-blue);
  background:var(--afux-blue-soft);
  flex:0 0 38px;
}
.afux-page .af-broker-check-main { flex:1 1 240px; min-width:220px; }
.afux-page .af-broker-check-main strong,
.afux-page .af-broker-doc-row strong { display:block; margin-bottom:3px; }
.afux-page .af-broker-check-main small,
.afux-page .af-broker-doc-row small { display:block; color:var(--afux-muted); }
.afux-page .af-broker-upload-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; flex:1 1 100%; padding-left:50px; }
.afux-page .af-doc-status {
  display:inline-flex; border-radius:999px; padding:7px 10px; font-size:.78rem; font-weight:900;
  background:var(--afux-blue-soft); color:var(--afux-blue-ink); border:1px solid #d8e8ff;
}
.afux-page .af-doc-status.is-approved { background:#ecfdf3; color:var(--afux-green); border-color:#d1fadf; }
.afux-page .af-doc-status.is-rejected { background:#fef3f2; color:var(--afux-red); border-color:#fecdca; }
.afux-page .af-doc-status.is-review,
.afux-page .af-doc-status.is-uploaded { background:#fff7ed; color:var(--afux-amber); border-color:#fed7aa; }

/* Dashboard */
.afux-dashboard-hero { margin-top:18px; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; }
.afux-dashboard-grid { margin-top:18px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:18px; align-items:start; }
.afux-lane-list { display:grid; gap:10px; }
.afux-lane {
  border:1px solid var(--afux-line);
  border-radius:14px;
  background:#fff;
  padding:14px;
}
.afux-lane-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.afux-lane-no { width:28px;height:28px;border-radius:10px;background:var(--afux-blue-soft);color:var(--afux-blue);font-weight:900;display:grid;place-items:center;font-size:.8rem; }
.afux-page .af-empty-mini {
  border:1px dashed var(--afux-line-strong);
  border-radius:14px;
  color:var(--afux-muted);
  padding:22px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:8px;
}
.afux-page .af-empty-mini i { color:var(--afux-blue); }

/* Compatibility with older class names created by modules */
.afux-page .af-card--wide { width:100%; }
.afux-page .af-form-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.afux-page .af-form-actions--between { justify-content:space-between; }
.afux-page .af-form-actions--end { justify-content:flex-end; }
.afux-page .af-field-grid { display:grid; gap:14px; }
.afux-page .af-field-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.afux-page .af-field-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.afux-page .af-field-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.afux-page .af-field { display:grid; gap:7px; }
.afux-page [hidden] { display:none !important; }

@media (max-width: 1060px) {
  .afux-auth-layout,
  .afux-broker-home,
  .afux-main-grid,
  .afux-deal-grid,
  .afux-dashboard-hero,
  .afux-dashboard-grid { grid-template-columns:1fr; }
  .afux-action-grid,
  .afux-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .afux-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .afux-page .af-broker-deal-card.af-broker-deal-row { grid-template-columns:40px minmax(0,1fr) auto; }
  .afux-page .af-broker-deal-row-amount,
  .afux-page .af-broker-deal-row-action { grid-column:2 / -1; }
}
@media (max-width: 720px) {
  .afux-page { padding-top:10px; }
  .afux-shell,
  .afux-shell--wide,
  .afux-shell--narrow { width:min(100% - 20px, 100%); }
  .afux-topbar { min-height:64px; height:auto; border-radius:16px; align-items:flex-start; flex-direction:column; padding:14px; }
  .afux-nav { width:100%; overflow:auto; justify-content:flex-start; }
  .afux-actions { width:100%; justify-content:flex-start; }
  .afux-auth-layout,
  .afux-action-grid,
  .afux-stats,
  .afux-meta-grid,
  .afux-facts,
  .afux-grid--2,
  .afux-grid--3,
  .afux-grid--4,
  .afux-page .af-field-grid--two,
  .afux-page .af-field-grid--three,
  .afux-page .af-field-grid--four { grid-template-columns:1fr; }
  .afux-panel,
  .afux-page .af-card { padding:18px; border-radius:16px; }
  .afux-title { font-size:2rem; }
  .afux-toolbar,
  .afux-panel-head,
  .afux-page .af-card-head { flex-direction:column; align-items:stretch; }
  .afux-search { max-width:none; }
  .afux-page .af-broker-deal-card.af-broker-deal-row { grid-template-columns:1fr; }
  .afux-page .af-broker-deal-row-icon { display:none; }
  .afux-page .af-broker-deal-row-amount,
  .afux-page .af-broker-deal-row-action { grid-column:auto; }
  .afux-page .af-broker-upload-form { padding-left:0; }
}


/* v28.1.1 width and wrapping refinements */
.afux-page .af-form-actions { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.afux-page .af-card-head .af-form-actions { flex-wrap:nowrap; }
[data-af-broker-account-email],[data-af-broker-account-mobile] { white-space:nowrap; overflow-wrap:normal; word-break:normal; font-size:.88rem; }
.afux-meta-grid b { overflow-wrap:normal; word-break:normal; }
@media (max-width: 980px) { .afux-page .af-form-actions, .afux-page .af-card-head .af-form-actions { flex-wrap:wrap; } [data-af-broker-account-email],[data-af-broker-account-mobile] { white-space:normal; } }

/* v28.2 — full UX simplification pack */
.afux-page--borrower,
.afux-page--admin { padding-bottom:64px; }
.afux-split { margin-top:18px; display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:18px; align-items:start; }
.afux-split--reverse { grid-template-columns:380px minmax(0,1fr); }
.afux-split--wide-side { grid-template-columns:minmax(0,1fr) 430px; }
.afux-form-shell { display:grid; gap:18px; }
.afux-section { background:#fff; border:1px solid var(--afux-line); border-radius:var(--afux-radius); box-shadow:var(--afux-shadow); padding:22px; }
.afux-section--compact { padding:18px; }
.afux-section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:18px; }
.afux-section-head p { margin:6px 0 0; color:var(--afux-muted); }
.afux-number { width:32px; height:32px; border-radius:11px; display:grid; place-items:center; background:var(--afux-blue-soft); color:var(--afux-blue-ink); font-weight:900; }
.afux-step-title { display:flex; align-items:center; gap:10px; }
.afux-small-copy { color:var(--afux-muted); font-size:.92rem; margin:0; }
.afux-inline-note { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:var(--afux-blue-softer); border:1px solid #dbe9ff; color:var(--afux-muted); }
.afux-inline-note i { color:var(--afux-blue); margin-top:2px; }
.afux-submit-panel { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.afux-checkline { display:flex; align-items:flex-start; gap:10px; color:var(--afux-muted); }
.afux-checkline input { margin-top:4px; }
.afux-file-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.afux-file-tile { display:grid; gap:10px; border:1px solid var(--afux-line); border-radius:14px; padding:14px; background:#fff; }
.afux-file-tile strong { display:flex; align-items:center; gap:8px; }
.afux-file-tile strong i { color:var(--afux-blue); }
.afux-file-tile small { color:var(--afux-muted); }
.afux-file-tile input[type="file"] { width:100%; }
.afux-security-list { display:grid; gap:12px; }
.afux-security-card,
.af-security-row,
.af-start-security-row { border:1px solid var(--afux-line); border-radius:16px; background:#fff; padding:16px; }
.afux-security-head,
.af-security-row-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.afux-security-remove,
.af-security-remove,
.af-repeater-remove { border:1px solid var(--afux-line-strong); background:#fff; color:var(--afux-muted); width:34px; height:34px; border-radius:10px; display:grid; place-items:center; cursor:pointer; }
.afux-security-fields,
.af-security-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.af-field--span,
.afux-field--span { grid-column:1/-1; }
.af-field--address { grid-column:span 2; }

/* Borrower application/onboarding */
.afux-borrower-facts { display:grid; gap:10px; }
.afux-borrower-facts div,
.af-borrower-facts div { display:grid; gap:4px; padding:12px; border:1px solid var(--afux-line); border-radius:12px; background:#fff; }
.afux-borrower-facts dt,
.af-borrower-facts dt { color:var(--afux-muted); font-size:.78rem; font-weight:800; }
.afux-borrower-facts dd,
.af-borrower-facts dd { margin:0; font-weight:900; color:var(--afux-ink); }
.af-onboarding-steps { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; padding:5px; background:var(--afux-soft); border:1px solid var(--afux-line); border-radius:999px; }
.af-onboarding-steps button { flex:1 1 110px; min-height:38px; border:0; border-radius:999px; background:transparent; color:var(--afux-muted); font-weight:800; cursor:pointer; }
.af-onboarding-steps button.is-active { background:#fff; color:var(--afux-blue-ink); box-shadow:0 2px 8px rgba(15,45,80,.06); }
.af-onboarding-steps button.is-done { color:var(--afux-blue); }
.af-onboarding-panel { display:none; }
.af-onboarding-panel.is-active { display:block; }
.af-section-headline { margin-bottom:16px; }
.af-entity-panel { display:none; border:1px solid var(--afux-line); border-radius:14px; padding:16px; margin-top:14px; }
.af-entity-panel.is-active { display:block; }
.af-repeater-group { border:1px solid var(--afux-line); border-radius:14px; padding:16px; margin-top:14px; }
.af-repeater-group.is-hidden { display:none; }
.af-repeater-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }
.af-repeater-head small { display:block; color:var(--afux-muted); margin-top:2px; }
.af-repeater-row { position:relative; border:1px solid var(--afux-line); border-radius:14px; padding:16px; margin-top:12px; background:#fff; }
.af-repeater-row .af-repeater-remove { position:absolute; top:10px; right:10px; }
.af-onboarding-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:18px; }
.af-onboarding-errors { color:var(--afux-red); background:#fff5f5; border:1px solid #ffd7d2; border-radius:12px; padding:12px; margin-top:12px; }
.af-confirm-card { display:flex; gap:12px; padding:14px; background:var(--afux-blue-softer); border:1px solid #dbe9ff; border-radius:14px; margin-bottom:16px; }
.af-confirm-card i { color:var(--afux-blue); margin-top:3px; }
.af-declaration-row { display:flex; gap:10px; align-items:flex-start; color:var(--afux-muted); }
.af-declaration-row input { margin-top:4px; }
.af-borrower-checklist, [data-af-borrower-upload-list] { display:grid; gap:10px; }
.af-borrower-check-row,
.af-doc-upload-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid var(--afux-line); border-radius:14px; background:#fff; padding:12px; margin-bottom:10px; }
.af-borrower-check-icon,
.af-doc-upload-icon { width:42px; height:42px; border-radius:12px; background:var(--afux-blue-soft); color:var(--afux-blue); display:grid; place-items:center; }
.af-borrower-check-main strong { display:block; }
.af-borrower-check-main small { color:var(--afux-muted); }
.af-borrower-check-upload { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.af-file-input { max-width:240px; }

/* Intake and admin queue */
.afux-filter-tabs { display:flex; gap:7px; flex-wrap:wrap; background:#fff; border:1px solid var(--afux-line); border-radius:16px; padding:8px; box-shadow:var(--afux-shadow); }
.afux-filter-tabs button { min-height:36px; border:0; background:transparent; border-radius:12px; padding:0 12px; color:var(--afux-muted); font-weight:800; cursor:pointer; }
.afux-filter-tabs button.is-active,
.afux-filter-tabs button:hover { background:var(--afux-blue-soft); color:var(--afux-blue-ink); }
.af-intake-layout,
.afux-queue-layout { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:18px; align-items:start; }
.af-intake-list, .af-broker-admin-list { display:grid; gap:10px; }
.af-intake-card,
.af-intake-row,
.af-broker-application-row { border:1px solid var(--afux-line); border-radius:14px; padding:14px; background:#fff; display:grid; gap:10px; }
.af-broker-application-actions { display:flex; gap:8px; flex-wrap:wrap; }
.afux-admin-filters { display:grid; grid-template-columns:180px minmax(220px,1fr); gap:10px; }

/* Workspace */
.afux-stage-rail { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:18px; }
.afux-stage-rail button { min-height:54px; border:1px solid var(--afux-line); border-radius:14px; background:#fff; color:var(--afux-muted); display:flex; align-items:center; gap:10px; padding:0 14px; font-weight:800; cursor:pointer; }
.afux-stage-rail button span { color:var(--afux-blue); font-size:.78rem; }
.afux-stage-rail button.is-active { border-color:#bad3ff; background:var(--afux-blue-softer); color:var(--afux-blue-ink); }
.afux-fact-grid, .af-fact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.afux-fact-grid div, .af-fact-grid div { border:1px solid var(--afux-line); border-radius:14px; padding:14px; background:#fff; }
.afux-fact-grid dt, .af-fact-grid dt { color:var(--afux-muted); font-size:.78rem; font-weight:800; }
.afux-fact-grid dd, .af-fact-grid dd { margin:5px 0 0; font-weight:900; font-size:1rem; }
.af-workspace-grid { display:grid; gap:18px; }
.af-checklist, .af-document-review-list, .af-document-timeline-list, .af-notification-list { display:grid; gap:10px; }
.af-document-board { display:grid; grid-template-columns:360px minmax(0,1fr); gap:16px; }
.af-document-command, .af-doc-review-section, .af-readiness-output, .af-health-panel { border:1px solid var(--afux-line); border-radius:16px; padding:16px; background:#fff; }
.af-published-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.af-published-doc-upload-card { border:1px solid var(--afux-line); border-radius:16px; padding:16px; display:grid; gap:12px; background:#fff; }
.af-published-doc-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--afux-blue-soft); color:var(--afux-blue); }
.af-published-doc-list-wrap { margin-top:16px; border-top:1px solid var(--afux-line); padding-top:16px; }
.af-borrower-link, .af-copy-block, .af-scenario-text { border:1px solid var(--afux-line); border-radius:14px; background:var(--afux-blue-softer); padding:14px; color:var(--afux-blue-ink); overflow-wrap:anywhere; }
.af-send-row { display:grid; gap:8px; margin-top:12px; }
.af-intelligence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }

/* New scenario */
.afux-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.afux-preview-grid div { border:1px solid var(--afux-line); border-radius:12px; padding:12px; }
.afux-preview-grid span { display:block; color:var(--afux-muted); font-size:.78rem; }
.afux-preview-grid strong { display:block; margin-top:4px; }
.af-btn--block, .afux-btn--block { width:100%; }

/* Dynamic rows fallback */
.af-empty-mini { border:1px dashed var(--afux-line-strong); border-radius:14px; padding:24px 14px; text-align:center; color:var(--afux-muted); background:#fff; }
.af-empty-mini i { color:var(--afux-blue); display:block; margin-bottom:8px; }
.af-status-chip, .af-count-pill { display:inline-flex; align-items:center; justify-content:center; min-height:30px; border-radius:999px; padding:0 10px; font-weight:800; font-size:.78rem; color:var(--afux-blue-ink); background:var(--afux-blue-soft); border:1px solid #dbe9ff; white-space:nowrap; }
.af-card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.af-inline-check { display:flex; gap:8px; align-items:flex-start; color:var(--afux-muted); }
.af-inline-check input { margin-top:4px; }
.af-help-line { display:flex; gap:8px; align-items:flex-start; color:var(--afux-muted); }
.af-help-line i { color:var(--afux-green); margin-top:2px; }

@media (max-width:1100px) {
  .afux-split,.afux-split--reverse,.afux-split--wide-side,.af-intake-layout,.afux-queue-layout,.af-document-board { grid-template-columns:1fr; }
  .afux-stage-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .afux-fact-grid,.af-fact-grid,.afux-security-fields,.af-security-fields,.af-published-doc-grid,.af-intelligence-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .afux-file-grid,.afux-grid--2,.afux-grid--3,.afux-grid--4,.afux-fact-grid,.af-fact-grid,.afux-security-fields,.af-security-fields,.af-published-doc-grid,.af-intelligence-grid,.afux-stage-rail,.afux-preview-grid { grid-template-columns:1fr; }
  .afux-section-head,.afux-submit-panel,.afux-toolbar,.afux-row { align-items:flex-start; flex-direction:column; }
  .af-borrower-check-row,.af-doc-upload-row { grid-template-columns:1fr; }
  .af-borrower-check-upload { justify-content:flex-start; }
  .af-file-input { max-width:100%; }
}

/* v28.3 shared button/readability polish */
.afux-page .af-broker-deal-row-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 13px;
  border-radius:10px;
  background:var(--afux-blue, #1769e0);
  border:1px solid var(--afux-blue, #1769e0);
  color:#fff !important;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(23,105,224,.16);
}
.afux-page .af-broker-deal-card.af-broker-deal-row:hover .af-broker-deal-row-action { background:var(--afux-blue-dark, #0c4fa8); border-color:var(--afux-blue-dark, #0c4fa8); }

/* v28.3 UX fixes */
.afux-signature-box {
  border:1px solid #dbe9ff;
  background:#f7fbff;
  border-radius:18px;
  padding:18px;
  display:grid;
  gap:14px;
}
.afux-signature-head {
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.afux-signature-icon {
  width:42px;
  height:42px;
  border-radius:14px;
  background:#eef6ff;
  color:#1769e0;
  display:grid;
  place-items:center;
  flex:0 0 42px;
}
.afux-signature-head h3 { margin:0; }
.afux-signature-head p { margin:4px 0 0; }
.afux-signature-input {
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.01em;
}
.af-declaration-row--privacy a {
  color:#1769e0;
  font-weight:800;
  text-decoration:none;
}
.af-declaration-row--privacy a:hover { text-decoration:underline; }
.afux-page .af-broker-deal-row-action {
  background:#1769e0;
  color:#fff !important;
  border-radius:10px;
  padding:8px 12px;
}
.afux-page .af-broker-deal-row-action i,
.afux-page .af-broker-deal-card:hover .af-broker-deal-row-action { color:#fff !important; }
