/* Affiliate workspace presentation, matching the owner CRM without owner controls. */
.affiliate-page{--body:"Outfit",sans-serif;--disp:"Outfit",sans-serif;--mono:"IBM Plex Mono",monospace;background:#f7f5ef;color:#18392e}
.affiliate-page .affiliate-app{font:400 14px/1.5 "Outfit",sans-serif}
.affiliate-page .affiliate-shell{grid-template-columns:208px minmax(0,1fr)}
.affiliate-page .affiliate-sidebar{padding:24px 14px 18px;background:#102d23;border-right:1px solid #244336}
.affiliate-page .affiliate-brand{padding:0 6px 22px;gap:10px;border-color:#355044}
.affiliate-page .affiliate-brand img{width:42px;height:49px}
.affiliate-page .affiliate-brand strong{font:600 25px/1.1 "Outfit",sans-serif;letter-spacing:.13em;color:#f4ead4}
.affiliate-page .affiliate-brand small{color:#d2b77c;font-size:9px;letter-spacing:.16em}
.affiliate-page .affiliate-nav{gap:4px;margin-top:22px}
.affiliate-page .affiliate-nav button{min-height:40px;padding:9px 11px;font:400 13px/1.4 "Outfit",sans-serif;border:0;border-radius:8px;color:#c3cfc7;box-shadow:none}
.affiliate-page .affiliate-nav button:hover{background:#1d3a2e;color:#fff9ec}
.affiliate-page .affiliate-nav button.is-active{background:#2a4435;color:#f1dfb4;box-shadow:inset 2px 0 #d1ae68}
.affiliate-page .affiliate-sidebar-foot{border-color:#355044;padding:18px 10px 0}
.affiliate-page .affiliate-main{max-width:1840px;padding:26px clamp(18px,2.2vw,34px) 40px}
.affiliate-page .affiliate-topbar{min-height:0;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #dedfd5;gap:16px}
.affiliate-page .affiliate-topbar.is-dashboard{min-height:0;margin-bottom:20px}
.affiliate-page .affiliate-topbar h1{font:600 clamp(30px,2.7vw,40px)/1.05 "Outfit",sans-serif;letter-spacing:-.035em}
.affiliate-page .affiliate-topbar .eyebrow{font-size:11px;letter-spacing:.19em;color:#91723e}
.affiliate-page button,.affiliate-page a{transition:background .16s,color .16s,border-color .16s,box-shadow .16s}
.affiliate-page :is(button,a,input,select):focus-visible{outline:2px solid #a58242;outline-offset:4px}
.affiliate-page .affiliate-refresh,.affiliate-page .partner-toolbar button{min-height:40px;padding:9px 13px;font-size:13px;font-weight:500;background:#fff;border:1px solid #dce1d7;border-radius:7px}
.affiliate-page .affiliate-refresh:hover,.affiliate-page .partner-toolbar button:hover{background:#f4f5ef;border-color:#b9c4b7}
.affiliate-page .partner-hero{padding:24px;gap:24px;border-radius:15px;background:#173a2d;border-color:#244736;box-shadow:0 4px 20px #173a2d06}
.affiliate-page .partner-hero h2{font:500 clamp(26px,2.6vw,36px)/1.2 "Outfit",sans-serif;letter-spacing:-.035em}
.affiliate-page .partner-hero-balance{padding:20px;border-radius:11px;background:#244737}
.affiliate-page .partner-hero-balance strong{font-size:32px;color:#fffaf0}
.affiliate-page .partner-actions button{font-weight:500;border-radius:7px}
.affiliate-page .affiliate-panel>h3{font-size:12px;letter-spacing:.06em;margin:23px 0 12px}
.affiliate-page .affiliate-metrics{gap:10px}
.affiliate-page .affiliate-metrics article{min-height:96px;padding:16px;border-radius:11px;border-color:#e3e6de;box-shadow:0 3px 10px #173a2d04}
.affiliate-page .affiliate-metrics article>span{font-size:13px;font-weight:400;color:#637169}
.affiliate-page .affiliate-metrics article>strong{font-size:30px;color:#18392e;margin-top:7px}
.affiliate-page :is(.affiliate-table-card,.affiliate-policy-card,.affiliate-chart-card){border-color:#e3e6de;border-radius:13px;box-shadow:0 4px 20px #173a2d06}
.affiliate-page .affiliate-table-card>h3{padding:18px 20px;font:500 19px/1.3 "Outfit",sans-serif}
.affiliate-page .affiliate-table-wrap{display:none}
.affiliate-page .affiliate-mobile-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));padding:16px;gap:12px;background:#fbfcfa}
.affiliate-page .affiliate-record,.affiliate-page .affiliate-record:first-child{min-width:0;padding:20px;border:1px solid #e0e7df;border-radius:14px;background:#fff;transition:background .16s,border-color .16s,box-shadow .16s}
.affiliate-page .affiliate-record:hover{background:#f7faf6;border-color:#b7cbb9;box-shadow:0 5px 18px #173a2d09}
.affiliate-page .affiliate-record-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.affiliate-page .affiliate-record-head>div{min-width:0;display:grid;gap:4px}
.affiliate-page .affiliate-record-head .affiliate-customer{font-size:15px;font-weight:500;color:#203c2e;overflow-wrap:anywhere}
.affiliate-page .affiliate-record .affiliate-reference{font:500 11px/1.5 "IBM Plex Mono",monospace;color:#778177;overflow-wrap:anywhere}
.affiliate-page .affiliate-record dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 0;padding-top:14px;border-top:1px solid #edf0e9}
.affiliate-page .affiliate-record dt{font-size:11px;color:#778177;margin-bottom:5px}
.affiliate-page .affiliate-record dd{margin:0;font-size:13px;color:#365346;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.affiliate-page .affiliate-record-note{margin:14px 0 0;color:#68766d;font-size:12px;line-height:1.6}
.affiliate-page .affiliate-empty-mobile{grid-column:1/-1;text-align:center;padding:32px 20px;margin:0;color:#778177;font-size:13px}
.affiliate-page .affiliate-code-card{padding:24px;border-radius:15px;background:#173a2d}
.affiliate-page .affiliate-code-card strong{font-size:clamp(24px,3vw,38px)}
.affiliate-page .affiliate-policy-card h3,.affiliate-page .affiliate-chart-heading h3{font-family:"Outfit",sans-serif;font-size:19px;font-weight:500}
.affiliate-page .affiliate-tier-grid article{padding:20px;border-radius:14px;transition:border-color .16s,box-shadow .16s}
.affiliate-page .affiliate-tier-grid article:hover{box-shadow:0 5px 18px #173a2d09}
.affiliate-page .affiliate-tier-grid article>strong{font:500 30px/1.2 "Outfit",sans-serif}
.affiliate-page .affiliate-period-picker button.is-active{background:#173a2d;color:#fff}
@media(min-width:1001px) and (hover:hover) and (pointer:fine){
 body.affiliate-page{zoom:.75}
 .affiliate-page :is(.affiliate-app,.affiliate-shell,.affiliate-gate){min-height:calc(100dvh / .75)}
 .affiliate-page .affiliate-sidebar{height:calc(100dvh / .75)}
}
@media(max-width:720px){
 .affiliate-page .affiliate-shell{grid-template-columns:minmax(0,1fr)}
 .affiliate-page .affiliate-sidebar{height:auto}
}
@media(max-width:760px){
 .affiliate-page .affiliate-main{padding:18px 14px 30px}
 .affiliate-page .affiliate-topbar h1{font-size:29px}
 .affiliate-page .partner-hero{grid-template-columns:minmax(0,1fr);padding:20px;gap:18px}
 .affiliate-page .partner-hero h2{font-size:28px}
 .affiliate-page .partner-hero-balance{padding:16px}
 .affiliate-page .affiliate-metrics article{padding:14px;min-height:90px}
 .affiliate-page .affiliate-metrics article>strong{font-size:25px}
 .affiliate-page .affiliate-mobile-records{padding:12px;gap:10px;grid-template-columns:minmax(0,1fr)}
 .affiliate-page .affiliate-record{padding:16px}
 .affiliate-page .affiliate-record dl{gap:10px}
 .affiliate-page :is(button,input,select){min-height:44px}
 .affiliate-page :is(input,select){font-size:16px}
}
@media(prefers-reduced-motion:reduce){.affiliate-page *{transition:none!important}}

@media(min-width:761px) and (max-width:1000px){.affiliate-page .partner-hero{grid-template-columns:minmax(0,1fr)}}

/* Reporting and detail surfaces retain the compact owner CRM rhythm. */
.affiliate-page .affiliate-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:24px 0 12px}
.affiliate-page .affiliate-section-heading h3{margin:0;font-size:14px;font-weight:500}
.affiliate-page .affiliate-section-heading>span{font-size:12px;color:#65766b}
.affiliate-page .affiliate-balance-link{display:block;margin-top:14px;padding:8px 0;color:#ecdbb5;border:0;background:transparent;text-align:left;font:500 13px "Outfit",sans-serif;cursor:pointer}
.affiliate-page .affiliate-payout-notice{display:flex;align-items:center;gap:14px;margin-top:18px;padding:18px 20px;background:#eff2e9;border:1px solid #dce3d4;border-radius:12px}
.affiliate-page .affiliate-notice-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;background:#dfe7d8;border-radius:10px;font-size:20px;color:#42624a}
.affiliate-page .affiliate-payout-notice strong{font-size:14px;font-weight:500}
.affiliate-page .affiliate-payout-notice p{margin:4px 0 0;font-size:13px;color:#5e7065}
.affiliate-page .affiliate-payout-notice button{margin-left:auto;flex-shrink:0;background:#fff;border:1px solid #d1daca;border-radius:7px;padding:10px 12px;color:#18392e;font:500 13px "Outfit",sans-serif;cursor:pointer}
.affiliate-page .affiliate-payout-notice button:hover{background:#e5ecdf}
.affiliate-page .affiliate-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 14px}
.affiliate-page .affiliate-balance-grid article{padding:20px;background:#fff;border:1px solid #e0e6dc;border-radius:12px;display:grid;gap:7px}
.affiliate-page .affiliate-balance-grid article>span{font-size:14px;color:#52695b}
.affiliate-page .affiliate-balance-grid article>strong{font:500 29px/1.2 "Outfit",sans-serif;font-variant-numeric:tabular-nums}
.affiliate-page .affiliate-balance-grid article>small{font-size:12px;line-height:1.5;color:#687a6c}
.affiliate-page .affiliate-balance-grid .balance-approved_cents{border-top:3px solid #355e43}
.affiliate-page .affiliate-balance-grid .balance-reversed_cents{background:#f7f4ef}
.affiliate-page .affiliate-record-details{margin-top:18px;border-top:1px solid #e8ede5;padding-top:12px}
.affiliate-page .affiliate-record-details summary{display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:32px;color:#3c6049;font-size:13px;font-weight:500}
.affiliate-page .affiliate-record-details summary::-webkit-details-marker{display:none}
.affiliate-page .affiliate-record-details summary span{transition:transform .16s}
.affiliate-page .affiliate-record-details[open] summary span{transform:rotate(90deg)}
.affiliate-page .affiliate-record-details p{font-size:13px;line-height:1.6;color:#576d5e;margin:12px 0 6px}
.affiliate-page .affiliate-record-details p.affiliate-calculation{padding:12px;background:#f0f4ec;border-radius:8px;font:500 13px/1.6 "IBM Plex Mono",monospace;color:#31543f;overflow-wrap:anywhere}
.affiliate-page .affiliate-record-details small{display:block;font-size:12px;color:#63796a;line-height:1.6}
.affiliate-page .affiliate-record-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.affiliate-page :is(summary,button,a,input,select):focus-visible{outline:2px solid #9a773a;outline-offset:4px}
.affiliate-page .affiliate-code-card strong{overflow-wrap:anywhere;max-width:100%;user-select:all}
.affiliate-page .affiliate-code-benefits dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.affiliate-page .affiliate-code-benefits dl>div{padding:20px;background:#fff;border:1px solid #dfe5db;border-radius:12px}
.affiliate-page .affiliate-code-benefits dt{font-size:13px;color:#607065}
.affiliate-page .affiliate-code-benefits dd{margin:6px 0 0;font-size:29px;font-weight:500}
.affiliate-page .affiliate-comparison{display:flex;flex-wrap:wrap;gap:12px 22px;margin:14px 0 24px;padding:16px 18px;border:1px solid #e0e5db;background:#f0f3eb;border-radius:10px}
.affiliate-page .affiliate-comparison>span{font-size:13px;color:#5e7264}
.affiliate-page .affiliate-comparison strong{font-size:16px;font-weight:500;color:#254b35}
.affiliate-page .affiliate-comparison small{flex-basis:100%;color:#627366;font-size:12px;line-height:1.5}
.affiliate-page .affiliate-statistics-table{margin-top:20px;padding:18px;background:#fff;border:1px solid #e0e6dc;border-radius:12px}
.affiliate-page .affiliate-statistics-table summary{cursor:pointer;font-size:14px;font-weight:500;min-height:28px}
.affiliate-page .affiliate-data-scroll{overflow-x:auto;max-height:400px;margin-top:14px}
.affiliate-page .affiliate-data-scroll table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;font-variant-numeric:tabular-nums}
.affiliate-page .affiliate-data-scroll :is(th,td){padding:10px 12px;border-bottom:1px solid #e7ece3;white-space:nowrap}
.affiliate-page .affiliate-data-scroll thead{background:#f1f4ec;position:sticky;top:0}
.affiliate-page .affiliate-data-scroll tbody th{font-weight:400}
.affiliate-page button:disabled{cursor:default;opacity:.55}
.affiliate-page [aria-busy="true"] .affiliate-metrics{opacity:.65}
@media(max-width:760px){
 .affiliate-page .affiliate-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .affiliate-page .affiliate-balance-grid article{padding:15px}
 .affiliate-page .affiliate-balance-grid article>strong{font-size:24px}
 .affiliate-page .affiliate-payout-notice{flex-wrap:wrap;padding:16px;gap:10px}
 .affiliate-page .affiliate-payout-notice>div{flex:1;min-width:0}
 .affiliate-page .affiliate-payout-notice button{width:100%;margin:6px 0 0}
 .affiliate-page .affiliate-record-details summary{min-height:44px}
 .affiliate-page .affiliate-code-benefits dl{gap:8px}
 .affiliate-page .affiliate-code-benefits dl>div{padding:12px}
 .affiliate-page .affiliate-code-benefits dd{font-size:25px}
}
@media(max-width:380px){.affiliate-page .affiliate-code-benefits dl{grid-template-columns:minmax(0,1fr)}.affiliate-page .affiliate-record dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact mobile workspace without scaling text or shrinking touch targets. */
@media(max-width:760px){
 .affiliate-page .affiliate-sidebar{padding:10px 14px;height:auto}
 .affiliate-page .affiliate-brand{padding:0;gap:8px}
 .affiliate-page .affiliate-brand img{width:29px;height:34px}
 .affiliate-page .affiliate-brand strong{font-size:21px;letter-spacing:.08em}
 .affiliate-page .affiliate-brand small{font-size:8px;margin-top:2px}
 .affiliate-page .affiliate-menu-toggle{min-height:44px;padding:9px 11px}
 .affiliate-page .affiliate-main{padding:14px 12px 28px;scroll-margin-top:76px}
 .affiliate-page .affiliate-topbar,.affiliate-page .affiliate-topbar.is-dashboard{margin-bottom:12px;padding-bottom:10px;gap:10px}
 .affiliate-page .affiliate-topbar .eyebrow{font-size:9px;letter-spacing:.13em}
 .affiliate-page .affiliate-topbar h1{font-size:25px}
 .affiliate-page .affiliate-refresh{min-height:44px;padding:8px 11px}
 .affiliate-page .partner-hero{padding:16px;gap:14px;margin-bottom:18px;border-radius:12px}
 .affiliate-page .partner-hero h2{font-size:24px;margin:8px 0}
 .affiliate-page .partner-hero p{font-size:13px;line-height:1.5}
 .affiliate-page .partner-hero .eyebrow{font-size:8px;letter-spacing:.12em}
 .affiliate-page .partner-actions{margin-top:14px;gap:8px}
 .affiliate-page .partner-actions button{min-height:44px;padding:9px 12px}
 .affiliate-page .partner-hero-balance{padding:12px 14px;gap:5px;min-height:0}
 .affiliate-page .partner-hero-balance strong{font-size:27px;line-height:1.1}
 .affiliate-page .affiliate-balance-link{margin-top:2px;padding:10px 0;min-height:44px;font-size:12px}
 .affiliate-page .affiliate-section-heading{margin:16px 0 9px;gap:4px 8px}
 .affiliate-page .affiliate-section-heading h3{font-size:13px}
 .affiliate-page .affiliate-section-heading>span{font-size:11px}
 .affiliate-page .affiliate-metrics article{padding:12px;min-height:80px;border-radius:10px}
 .affiliate-page .affiliate-metrics article>strong{font-size:23px;margin-top:6px}
 .affiliate-page :is(.affiliate-code-card,.affiliate-policy-card,.affiliate-tier-grid article,.tier-path){padding:16px}
 .affiliate-page .affiliate-record{padding:14px}
 .affiliate-page .affiliate-section-lead{margin-bottom:14px;line-height:1.5}
 .affiliate-page :is(input,select,textarea){font-size:16px}
}
