/* Shared public tokens; desktop layout and mobile density stay scoped here. */
.kind-affiliate .page-title, .kind-affiliate-dashboard .page-title { padding:var(--exia-space-6) var(--exia-gutter) 0; margin:0; }
.affiliate-page { width:100%; padding:var(--exia-space-6) var(--exia-gutter) var(--exia-space-8); }
.affiliate-page [hidden] { display:none !important; }
.affiliate-page h2 { margin:0 0 var(--exia-space-3); font-size:var(--exia-text-xl); }
.affiliate-page p { margin:0 0 var(--exia-space-3); line-height:var(--exia-line-body); }
.affiliate-page .affiliate-hint, .affiliate-page small { color:var(--exia-secondary); font-size:var(--exia-text-sm); line-height:var(--exia-line-body); }
.affiliate-page .affiliate-cta { display:inline-flex; align-items:center; justify-content:center; min-height:var(--exia-control-md); padding:var(--exia-space-3) var(--exia-space-5); margin:0; border:1px solid var(--exia-brand); border-radius:var(--exia-radius); background:var(--exia-brand); color:var(--exia-white); font-size:var(--exia-text-md); font-weight:700; cursor:pointer; text-decoration:none; }
.affiliate-page .affiliate-cta:hover { background:var(--exia-brand-pressed); border-color:var(--exia-brand-pressed); }
.affiliate-page button:not(.affiliate-cta) { padding:var(--exia-space-3) var(--exia-space-4); min-height:var(--exia-control); border:1px solid var(--exia-field-border); border-radius:var(--exia-radius); background:var(--exia-white); color:var(--exia-text); cursor:pointer; }
.affiliate-page :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--exia-brand); outline-offset:3px; }
.affiliate-page button:disabled { background:var(--exia-muted); color:var(--exia-secondary); border-color:var(--exia-border); cursor:not-allowed; }
.affiliate-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--exia-space-8); align-items:start; }
.affiliate-hero .affiliate-lead { font-size:var(--exia-text-3xl); line-height:var(--exia-line-heading); font-weight:700; margin-bottom:var(--exia-space-4); }
.affiliate-hero .affiliate-cta { margin:var(--exia-space-3) 0; }
.affiliate-rate-preview { display:grid; grid-template-columns:1fr 1fr; gap:var(--exia-space-5); margin:0; padding:var(--exia-space-6); border-left:3px solid var(--exia-brand); background:var(--exia-muted); }
.affiliate-rate-preview dt { color:var(--exia-secondary); }
.affiliate-rate-preview dd { margin:var(--exia-space-2) 0 0; font-size:var(--exia-text-display); font-weight:700; line-height:var(--exia-line-tight); }
.affiliate-rate-preview small { display:block; }
.affiliate-rate-preview .affiliate-rate-note { grid-column:1 / -1; }
.affiliate-rate-preview .affiliate-rate-note dd, .affiliate-rate-note dt { font-size:var(--exia-text-sm); color:var(--exia-secondary); font-weight:400; line-height:var(--exia-line-body); }
.affiliate-section { margin-top:var(--exia-space-6); padding-top:var(--exia-space-6); border-top:1px solid var(--exia-border); min-width:0; }
.affiliate-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--exia-space-6); padding-left:var(--exia-space-5); margin:var(--exia-space-5) 0 0; }
.affiliate-steps li { padding-left:var(--exia-space-2); }
.affiliate-steps li::marker { color:var(--exia-brand-pressed); font-weight:700; }
.affiliate-steps strong { display:block; margin-bottom:var(--exia-space-2); font-size:var(--exia-text-md); }
.affiliate-terms details { border-bottom:1px solid var(--exia-border); padding:var(--exia-space-4) 0; }
.affiliate-page summary { cursor:pointer; font-weight:600; }
.affiliate-terms details p { max-width:80ch; margin-top:var(--exia-space-3); }
.affiliate-toolbar { display:flex; justify-content:space-between; align-items:baseline; gap:var(--exia-space-4); color:var(--exia-secondary); }
.affiliate-feedback { display:flex; align-items:center; gap:var(--exia-space-4); margin:var(--exia-space-3) 0 var(--exia-space-5); padding:var(--exia-space-3) var(--exia-space-4); background:var(--exia-muted); border-left:3px solid var(--exia-border); }
.affiliate-feedback p { margin:0; }
.affiliate-feedback[data-tone=success] { border-color:var(--exia-success); }
.affiliate-feedback[data-tone=error] { border-color:var(--exia-danger); }
.affiliate-account-note { color:var(--exia-secondary); font-size:var(--exia-text-sm); }
.affiliate-referral { padding:var(--exia-space-5); border:1px solid var(--exia-border); border-radius:var(--exia-radius); margin:var(--exia-space-5) 0; }
.affiliate-copy-row { display:flex; gap:var(--exia-space-3); margin:var(--exia-space-2) 0; }
.affiliate-page .affiliate-copy-row input:not([type=checkbox]) { flex:1; min-width:0; margin-top:0; }
.affiliate-copy-row button { flex-shrink:0; }
.affiliate-balances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:var(--exia-space-6) 0 var(--exia-space-4); border-top:1px solid var(--exia-border); }
.affiliate-balances > div { padding:var(--exia-space-4) var(--exia-space-4) var(--exia-space-4) 0; border-bottom:1px solid var(--exia-border); }
.affiliate-balances dt { color:var(--exia-secondary); font-size:var(--exia-text-sm); }
.affiliate-balances dd { margin:var(--exia-space-2) 0 0; font-size:var(--exia-text-2xl); font-weight:700; }
.affiliate-balances > div:first-child dd { color:var(--exia-success); }
.affiliate-stats { color:var(--exia-secondary); font-size:var(--exia-text-sm); }
.affiliate-workspace { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:var(--exia-space-8); }
.affiliate-ledger-row { padding:var(--exia-space-4) 0; border-bottom:1px solid var(--exia-border); overflow-wrap:anywhere; }
.affiliate-ledger-row > header { display:flex; justify-content:space-between; gap:var(--exia-space-3); align-items:baseline; }
.affiliate-ledger-row header span { font-size:var(--exia-text-sm); color:var(--exia-secondary); }
.affiliate-ledger-row > p { color:var(--exia-secondary); font-size:var(--exia-text-sm); margin:var(--exia-space-2) 0; }
.affiliate-ledger-row details { font-size:var(--exia-text-sm); }
.affiliate-ledger-row details p { margin-top:var(--exia-space-3); color:var(--exia-secondary); }
.affiliate-empty { padding:var(--exia-space-5) 0; color:var(--exia-secondary); }
.affiliate-page form { display:grid; gap:var(--exia-space-4); }
.affiliate-application { max-width:var(--exia-measure-panel); }
.affiliate-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--exia-space-4); }
.affiliate-page label { display:block; font-weight:600; }
.affiliate-page input:not([type=checkbox]), .affiliate-page select, .affiliate-page textarea { display:block; width:100%; min-width:0; max-width:100%; min-height:var(--exia-control); margin-top:var(--exia-space-2); padding:var(--exia-space-3); border:1px solid var(--exia-field-border); border-radius:var(--exia-radius); background:var(--exia-white); color:var(--exia-text); font:inherit; font-weight:400; }
.affiliate-page textarea { resize:vertical; }
.affiliate-page label small { display:block; font-weight:400; margin-top:var(--exia-space-2); }
.affiliate-page .affiliate-check { display:flex; gap:var(--exia-space-3); align-items:flex-start; font-weight:400; }
.affiliate-check input { flex:none; width:var(--exia-space-5); height:var(--exia-space-5); accent-color:var(--exia-brand); }
.affiliate-form-action { display:flex; align-items:center; gap:var(--exia-space-4); }
.affiliate-form-action p { margin:0; color:var(--exia-secondary); font-size:var(--exia-text-sm); }
.affiliate-form-action button { flex-shrink:0; }
.affiliate-notice { padding:var(--exia-space-4); background:var(--exia-warning-bg); color:var(--exia-warning); }
@media (max-width: 760px) {
 .kind-affiliate .page-title, .kind-affiliate-dashboard .page-title { padding:var(--exia-space-5) var(--exia-gutter-mobile) 0; font-size:var(--exia-text-2xl); }
 .mobile .affiliate-page, .affiliate-page { padding:var(--exia-space-5) var(--exia-gutter-mobile) var(--exia-space-8); }
 .affiliate-hero, .affiliate-workspace, .affiliate-form-grid { grid-template-columns:1fr; gap:var(--exia-space-5); }
 .affiliate-hero .affiliate-lead { font-size:var(--exia-text-2xl); }
 .affiliate-steps { grid-template-columns:1fr; gap:var(--exia-space-4); }
 .affiliate-rate-preview { padding:var(--exia-space-5); }
 .affiliate-rate-preview dd { font-size:var(--exia-text-4xl); }
 .affiliate-toolbar { align-items:flex-start; font-size:var(--exia-text-sm); }
 .affiliate-toolbar p { max-width:65%; }
 .affiliate-balances { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .affiliate-copy-row, .affiliate-form-action { flex-direction:column; align-items:stretch; }
 .affiliate-copy-row .affiliate-cta, .affiliate-form-action .affiliate-cta { width:100%; }
 .affiliate-referral { padding:var(--exia-space-4); }
 .mobile .affiliate-page h2 { margin-top:0; }
 .affiliate-page input:not([type=checkbox]), .affiliate-page select, .affiliate-page textarea { font-size:var(--exia-text-md); }
}
