:root{color-scheme:light;--ink:#172027;--muted:#63727b;--line:#d9e1e4;--canvas:#f3f6f7;--surface:#fff;--accent:#087f8c;--accent-dark:#05626c;--success:#18794e;--danger:#b42318}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;letter-spacing:0}button,input{font:inherit;letter-spacing:0}a,button{-webkit-tap-highlight-color:transparent}a{color:var(--accent-dark)}.brand{align-items:center;display:flex;gap:11px;min-width:0}.brand-mark{align-items:center;background:var(--accent);border-radius:6px;color:#fff;display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.brand small,.brand strong{display:block}.brand strong{font-size:15px;line-height:20px}.brand small{color:var(--muted);font-size:11px;line-height:16px}.auth-shell{align-items:center;background:#eaf0f1;display:flex;min-height:100vh;padding:24px}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px rgba(23,32,39,.1);margin:0 auto;max-width:440px;padding:28px;width:100%}.auth-heading{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.auth-heading span{align-items:center;color:var(--accent-dark);display:flex;font-size:12px;font-weight:700;gap:7px;text-transform:uppercase}.auth-heading h1{font-size:24px;line-height:31px;margin:8px 0 20px}.auth-panel form{display:grid;grid-gap:16px;gap:16px}.affiliate-form label,.auth-panel label{color:#34434b;display:grid;font-size:12px;font-weight:700;grid-gap:7px;gap:7px}.affiliate-form input,.auth-panel input{border:1px solid #bfcbd0;border-radius:5px;height:44px;padding:0 12px;width:100%}.affiliate-form input:focus,.auth-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,127,140,.12);outline:0}.primary-button{align-items:center;background:var(--accent);border:0;border-radius:5px;color:#fff;cursor:pointer;display:flex;gap:8px;height:44px;justify-content:center;padding:0 16px}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{cursor:wait;opacity:.7}.auth-error{background:#fff0ee;border-left:3px solid var(--danger);color:var(--danger);margin-bottom:16px;padding:11px 12px}.auth-footnote{color:var(--muted);font-size:12px;line-height:18px;margin:18px 0 0}.setup-secret{background:#eef7f7;border:1px solid #c9e1e3;margin:0 0 18px;padding:14px}.setup-secret p{line-height:19px;margin:0 0 12px}.setup-secret>div{align-items:center;display:flex;gap:8px}.setup-secret code{flex:1 1;font-size:12px;overflow-wrap:anywhere;padding:9px}.setup-secret button,.setup-secret code{background:#fff;border:1px solid var(--line)}.setup-secret button{border-radius:4px;height:36px;width:36px}.setup-secret a{display:inline-block;font-size:12px;margin-top:10px}.loading-row{color:var(--muted);gap:10px;margin-top:28px}.loading-row,.portal-header{align-items:center;display:flex}.portal-header{background:#fff;border-bottom:1px solid var(--line);height:70px;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px) / 2));position:-webkit-sticky;position:sticky;top:0;z-index:5}.header-actions{align-items:center;display:flex;gap:8px}.header-actions>div{border-right:1px solid var(--line);margin-right:4px;padding-right:14px;text-align:right}.header-actions small,.header-actions strong{display:block}.header-actions small{color:var(--muted);font-size:11px;margin-top:2px}.header-actions button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:5px;color:#40515a;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.portal-content{margin:0 auto;max-width:1240px;padding:30px 24px 50px}.page-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:22px}.page-heading span{color:var(--accent-dark);font-size:12px;font-weight:700;text-transform:uppercase}.page-heading h1{font-size:28px;line-height:35px;margin:3px 0}.page-heading p,.panel-heading p{color:var(--muted);margin:0}.status-label{align-items:center;background:#e8f5ee;color:var(--success);display:flex;font-size:12px;font-weight:700;gap:7px;padding:8px 10px}.metric-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric-grid>div{background:#fff;border:1px solid var(--line);border-radius:6px;min-height:112px;padding:17px}.metric-grid small,.metric-grid span{color:var(--muted);display:block}.metric-grid strong{display:block;font-size:24px;line-height:32px;margin:7px 0 4px;overflow-wrap:anywhere}.metric-grid small{font-size:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:16px;padding:20px}.panel-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.panel-heading h2{font-size:16px;line-height:22px;margin:0 0 3px}.panel-heading p{font-size:12px}.link-builder{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(160px,.45fr)}.link-output{align-items:center;background:#f5f8f9;border:1px solid var(--line);display:flex;gap:10px;grid-column:1/-1;min-width:0;padding:9px 10px}.link-output code{flex:1 1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-output button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:4px;color:var(--accent-dark);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center}.content-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.content-grid .panel{margin-bottom:0}.funnel-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.funnel-row>div{border-right:1px solid var(--line);min-width:0;padding:8px 20px;position:relative}.funnel-row>div:first-child{padding-left:0}.funnel-row>div:last-child{border:0}.funnel-row small,.funnel-row span{color:var(--muted);display:block;font-size:11px}.funnel-row strong{display:block;font-size:22px;margin:5px 0}.funnel-row small{color:var(--accent-dark);font-weight:700}.trend-list{display:grid;grid-gap:9px;gap:9px;max-height:360px;overflow:auto;padding-right:4px}.trend-list>div{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:52px minmax(80px,1fr) 42px 64px}.trend-list small,.trend-list time{color:var(--muted);font-size:11px}.trend-list>div>span{background:#e8eff1;display:block;height:7px}.trend-list i{background:var(--accent);display:block;height:7px}.trend-list strong{text-align:right}.payout-panel dl{margin:0}.payout-panel dl>div{align-items:baseline;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 0}.payout-panel dt{color:var(--muted)}.payout-panel dd{font-size:19px;font-weight:700;margin:0}.payout-panel>p{color:var(--muted);font-size:11px;line-height:17px;margin:16px 0 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:720px;width:100%}td,th{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;white-space:nowrap}thead th{color:var(--muted);font-size:10px;text-transform:uppercase}tbody td,tbody th{font-size:12px}tbody td{color:#42525a}.status-pill{background:#edf1f2;color:#43525a;display:inline-block;font-size:10px;font-weight:700;padding:4px 7px}.status-pill[data-status=APPROVED],.status-pill[data-status=PAID]{background:#e8f5ee;color:var(--success)}.status-pill[data-status=VOID]{background:#fff0ee;color:var(--danger)}.empty-state{color:var(--muted);padding:15px 0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:800px){.portal-header{padding:0 16px}.header-actions>div{display:none}.portal-content{padding:22px 14px 40px}.page-heading{align-items:flex-start;gap:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.link-builder{grid-template-columns:1fr}.funnel-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.funnel-row>div:nth-child(2){border-right:0}.auth-shell{padding:12px}.auth-panel{padding:22px}}@media (max-width:460px){.metric-grid{grid-template-columns:1fr}.status-label{display:none}.trend-list>div{grid-template-columns:48px minmax(70px,1fr) 32px}.trend-list small{display:none}}