body.partner{--bg-base:#131c1a;--bg-tint:#18221f;--surface-0:#ffffff0a;--surface-1:#ffffff12;--surface-2:#ffffff1c;--border-soft:#ffffff14;--border-med:#ffffff24;--teal:#00b787;--teal-glow:#00b78759;--teal-soft:#00b7871a;--coral:#ff6b6b;--coral-glow:#ff6b6b4d;--coral-soft:#ff6b6b1f;--gold:#f5c53c;--gold-soft:#f5c53c24;--glass-text:#fffffff2;--glass-muted:#ffffff8c;--glass-dim:#ffffff59;--rail-width:248px;--color-bg:var(--bg-base);--color-surface:var(--surface-0);--color-text:var(--glass-text);--color-text-muted:var(--glass-muted);--color-line:var(--border-soft);--color-faint-line:#ffffff0a;--color-even-row:#ffffff08;--color-accent:var(--teal);min-height:100vh;color:var(--glass-text);background:radial-gradient(1400px 900px at 75% -15%, #00b7871f, transparent 60%), radial-gradient(1000px 700px at -15% 115%, #00b78712, transparent 55%), radial-gradient(800px 600px at 50% 50%, #6ed3b808, transparent 65%), var(--bg-base);font-feature-settings:"cv11", "ss01";letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background-attachment:fixed}.partner-rail{width:var(--rail-width);z-index:40;border-right:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);background:#ffffff08;flex-direction:column;gap:4px;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.rail-logo{align-items:center;gap:10px;padding:6px 10px 20px;text-decoration:none;display:flex;& .logo-text{background:var(--glass-text);width:84px;height:19px;display:inline-block;mask-image:url(/web/images/pacer.svg);mask-size:contain;mask-repeat:no-repeat}}.partner-tabs{flex-direction:column;flex:1;gap:2px;display:flex}.rail-link{font-size:var(--font-size-sm);color:var(--glass-muted);border-radius:9px;align-items:center;gap:11px;padding:9px 12px;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:flex;position:relative;& .icon{opacity:.85;width:18px;height:18px}& .rail-label{line-height:1}&:hover{background:var(--surface-1);color:var(--glass-text);text-decoration:none}&.active{background:var(--teal-soft);color:var(--teal);& .icon{opacity:1}&:before{content:"";background:var(--teal);width:3px;height:18px;box-shadow:0 0 10px var(--teal-glow);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-2px;translate:0 -50%}}&.locked{opacity:.5}}.rail-account{border:1px solid var(--border-soft);background:var(--surface-0);color:var(--glass-text);border-radius:11px;align-items:center;gap:10px;margin-top:6px;padding:9px 11px;text-decoration:none;transition:background .16s,border-color .16s;display:flex;&:hover,&.active{background:var(--surface-1);border-color:var(--border-med);text-decoration:none}& .rail-avatar{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:50%;flex-shrink:0;place-items:center;display:grid;& .icon{width:16px;height:16px}}& .rail-account-meta{flex-direction:column;min-width:0;display:flex}& .rail-account-sub{color:var(--glass-dim);font-size:.6875rem}}.partner-name{font-size:var(--font-size-sm);color:var(--glass-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}body.partner>main{margin-left:var(--rail-width);flex-direction:column;align-items:center;padding:28px 36px 64px;display:flex;overflow-x:clip;& h2{align-self:center;margin-bottom:.75rem;font-size:1.125rem;font-weight:600}}body.partner>footer.site-footer{margin-left:var(--rail-width);background-color:#0000001a;margin-top:1rem}.subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 0}.partner-topbar{display:none}.topbar-name{color:var(--glass-muted);white-space:nowrap;font-size:1rem;font-weight:600;text-decoration:none;&.active,&:hover{color:var(--glass-text)}}.hamburger-menu{display:none;position:relative}.hamburger-btn{cursor:pointer;width:2.5rem;height:2.5rem;color:var(--glass-text);justify-content:center;align-items:center;list-style:none;display:flex;&::marker,&::-webkit-details-marker{display:none}& .icon{width:20px;height:20px}}.hamburger-nav{z-index:100;background:var(--bg-tint);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #00000080;& a{font-size:var(--font-size-sm);color:var(--glass-muted);border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .75rem;font-weight:500;text-decoration:none;display:flex;& .icon{width:18px;height:18px}&:hover{background:var(--surface-1);color:var(--glass-text)}&.active{background:var(--teal-soft);color:var(--teal)}&.locked{opacity:.5}}}body.partner{& .glass-card{background:var(--surface-0);border:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:16px 18px}& .stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:100%;display:grid}& .stat{background:var(--surface-0);border:1px solid var(--border-soft);border-left:3px solid var(--border-med);border-radius:10px;padding:12px 14px;&.teal{border-left-color:var(--teal)}&.gold{border-left-color:var(--gold)}&.coral{border-left-color:var(--coral)}& .stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--glass-dim);font-size:.625rem;font-weight:700}& .stat-value{font-variant-numeric:tabular-nums;color:var(--glass-text);font-size:1.625rem;font-weight:700}& .stat-sub{color:var(--glass-muted);font-size:.75rem}}& .pill{border:1px solid var(--border-soft);background:var(--surface-1);color:var(--glass-text);border-radius:999px;align-items:center;gap:.375rem;padding:4px 11px;font-size:.75rem;font-weight:600;display:inline-flex;&.primary{background:var(--teal);color:#08110f;border-color:var(--teal)}}& .confidence-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:.625rem;font-weight:700;&.high{color:var(--teal);background:var(--teal-soft)}&.med{color:var(--gold);background:var(--gold-soft)}&.low{color:var(--coral);background:var(--coral-soft)}}}body.partner>main.tab-perf{align-items:stretch}body.partner>main.tab-perf>table{align-self:center}.tab-hero{flex-direction:column;gap:14px;width:100%;max-width:1180px;margin:0 auto 20px;display:flex}.tab-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.tab-title{letter-spacing:-.01em;color:var(--glass-text);font-size:1.375rem;font-weight:700;line-height:1.1}.tab-sub{color:var(--glass-muted);font-size:.8125rem}.tab-asof{color:var(--glass-dim);white-space:nowrap;font-size:.75rem}.partner-main{--surface-0:#ffffff0a;--surface-1:#ffffff12;--border-soft:#ffffff14;--border-med:#ffffff24;--teal:#00b787;--teal-glow:#00b78759;--teal-soft:#00b7871a;--glass-text:#fffffff2;--glass-muted:#ffffff8c;--glass-dim:#ffffff59;width:100%;max-width:1100px;margin:0 auto;padding:48px 32px 64px}.partner-portfolios{& h1{letter-spacing:-.01em;color:var(--glass-text);margin-bottom:.35rem;font-size:1.75rem;font-weight:700}& .subtitle{color:var(--glass-muted);margin-bottom:1.75rem}}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.portfolio-card{background:var(--surface-0);border:1px solid var(--border-soft);color:var(--glass-text);-webkit-backdrop-filter:blur(8px);border-radius:14px;flex-direction:column;gap:.4rem;padding:1.25rem 1.35rem;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:flex;&:hover{border-color:var(--border-med);background:var(--surface-1);transform:translateY(-2px)}& h2{color:var(--glass-text);font-size:1.0625rem;font-weight:600}& .unit-count{font-size:var(--font-size-sm);color:var(--glass-muted)}}body.partner main table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);white-space:nowrap;background:var(--surface-0);border:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);border-radius:12px;max-width:100%;& thead{& tr{margin:0}& th{background:var(--bg-tint);text-transform:uppercase;letter-spacing:.06em;color:var(--glass-muted);text-align:center;padding:.55rem .6rem;font-size:.6875rem;font-weight:600}& tr:not(.form) th{z-index:4;position:sticky;top:0}& tr:nth-child(3)>th{top:calc(1.25em + 8px)}& tr:nth-child(2) th[rowspan="2"],& tr:last-child th{border-bottom:2px solid var(--border-med)}& th.sortable{cursor:pointer;user-select:none;& a{color:inherit;align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}& .icon{opacity:.3}&:hover .icon{opacity:.8;color:var(--color-accent)}&.sorted .icon{opacity:.8}&.sorted:hover .icon{opacity:1}&[aria-sort=ascending] .icon{color:var(--brand-teal)}&[aria-sort=descending] .icon{color:var(--color-secondary-accent)}}}& thead:has(tr.group-header) tr th{padding:.125rem .5rem}& tr.group-header th:not(:last-child),& tr th.yoy:not(:last-child),& th.fav{border-right:1px solid var(--border-med)}& td{border-bottom:1px solid var(--border-soft);padding:.5rem .75rem;font-weight:300;&.unit{background:var(--bg-tint)}}& tbody{& td:not(:first-child){text-align:right;font-family:monospace;font-size:.75rem}& td.active,& td.fav,& td.ota,& td.status{text-align:center;font-size:.8rem;font-family:var(--default-font)}& td.fav,& td.yoy,& td.active{border-right:1px solid var(--color-line)}& tr:last-child td{border-bottom:none}& tr:nth-child(2n){background:var(--color-even-row)}& tr:hover{background:var(--surface-1)}}& tfoot td{border-top:2px solid var(--color-text);font-weight:600}& .summary-row th{font-size:var(--font-size-sm);color:var(--color-text);border-bottom:1px solid var(--color-line);font-weight:600;& span{color:var(--color-text-muted);text-transform:lowercase;margin-right:.25rem;font-size:.6875rem;font-weight:400}}& .positive{color:var(--teal)}& .negative{color:var(--coral)}& tr.cancelled{opacity:.5;text-decoration:line-through}& tr.gf-gained{background:rgb(76 175, 80 / 10%)}& [data-group=cur]:last-of-type,& [data-group=prev]:last-of-type{border-right:2px solid var(--color-line)}& [data-col=delta],& [data-col=gf]{text-align:center}& .ota-logo{vertical-align:middle;width:auto;height:1.125rem}}body.partner button,body.partner input[type=submit],body.partner a.button{background:var(--surface-1);color:var(--glass-text);border:1px solid var(--border-soft);cursor:pointer;text-align:center;user-select:none;white-space:nowrap;vertical-align:baseline;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;height:2rem;padding:0 .9em;font-size:.8rem;font-weight:500;line-height:2rem;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex;&:hover,&:focus{background:var(--surface-2);border-color:var(--border-med)}&:focus{box-shadow:0 0 0 4px var(--teal-soft);outline:none}&:active{background:var(--surface-0)}}body.partner button[type=submit],body.partner input[type=submit]{background:var(--teal);color:#08110f;border-color:var(--teal);font-weight:600;&:hover,&:focus{background:var(--teal);border-color:var(--teal);filter:brightness(1.06)}&:active{background:var(--teal);filter:brightness(.95)}}body.partner input[type=date],body.partner select{background:var(--surface-1);color:var(--glass-text);border:1px solid var(--border-soft);border-radius:8px;height:2rem;padding:0 .7em;font-size:.8rem;font-weight:500;line-height:1;&:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}}body.partner main table tr.form td{background:0 0;border-bottom:none;padding:0;&>div{justify-content:space-between;align-items:flex-end;gap:.5rem;padding-bottom:.5rem;display:flex}& form{align-items:flex-end;gap:.5rem;display:flex}& .export-buttons{padding:0}& label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:start;flex-direction:column;gap:.25rem;margin-right:auto;font-size:.75rem;display:inline-flex}& button,& a.button{align-items:center;gap:.375rem;display:inline-flex;& .icon{width:14px;height:14px}}}.footnote{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:1rem}#partner-login{flex:1;grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.partner-hero{border-right:1px solid var(--color-faint-line);background:#ffffff08;flex-direction:column;justify-content:center;align-items:center;padding:3rem 3rem 8rem;display:flex;&>.logo-particles{aspect-ratio:1.0563;width:33%}}#login-page,#login-error-page{place-items:center;min-height:100dvh;display:grid}#login-page>section{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;margin-top:-25%;padding:1.5rem 2.5rem;display:flex;&>h1{font-size:1.875rem;font-weight:700}&>a{width:100%;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;text-decoration:none;display:flex;&:hover{background:var(--color-bg)}}&>.hint{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:1rem}}.login-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:400px;padding:2.5rem;&>p,&>h1{text-align:center}&>h1{margin-bottom:.25rem;font-size:1.875rem;font-weight:700}& .primary{width:100%;padding:.75rem 1rem;font-size:1rem}}.error-message{color:var(--color-error);text-align:center;margin-bottom:1rem}.error-detail{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem}.partner-hero-content{max-width:420px;& h2{margin-bottom:1rem;font-size:2rem;font-weight:700;line-height:1.2}}.hero-subtitle{color:var(--color-text-muted);margin-bottom:2rem;font-size:1rem;line-height:1.5}.hero-features{flex-direction:column;gap:1.25rem;padding:0;list-style:none;display:flex;& li{align-items:flex-start;gap:.75rem;display:flex}& strong{font-size:.9375rem;font-weight:600;display:block}& span{color:var(--color-text-muted);font-size:.8125rem;line-height:1.4}}.hero-icon{background:var(--brand-teal);flex-shrink:0;width:24px;height:24px;margin-top:2px;display:inline-block;mask-position:50%;mask-size:contain;mask-repeat:no-repeat}.partner-form-panel{justify-content:center;align-items:center;padding:2rem 2rem 8rem;display:flex}.google-sso{width:100%;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;text-decoration:none;display:flex;&:hover{background:var(--color-bg);text-decoration:none}}#partner-login .login-card{border:1px solid var(--color-faint-line);margin-top:0;padding:3rem;& form{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}& label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}& input[type=email],& input[type=password],& input[type=text]{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--input-bg);width:100%;color:var(--color-text);padding:.625rem .75rem;font-size:1rem}& input[inputmode=numeric]{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--input-bg);width:100%;color:var(--color-text);text-align:center;letter-spacing:.5em;padding:.75rem;font-family:monospace;font-size:1.5rem}& .secondary{width:100%;font-size:var(--font-size-sm);background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:none;padding:.625rem 1rem;&:hover{background:var(--color-surface)}}& .primary{width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:500}}.forgot-password{text-align:right;color:var(--color-text-muted);margin-top:.25rem;font-size:.8125rem;text-decoration:none;display:block;&:hover{color:var(--color-text)}}.divider{color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;gap:1rem;margin:1rem 0;display:flex;&:before,&:after{content:"";border-top:1px solid var(--color-line);flex:1}}.message{text-align:center;color:var(--color-text-muted);margin-bottom:.5rem}@media (width<=1024px){.partner-rail{display:none}.partner-topbar{z-index:30;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);background:#ffffff0a;justify-content:space-between;align-items:center;gap:.75rem;height:56px;padding:0 1rem;display:flex;position:sticky;top:0;& .logo{align-items:center;gap:.5rem;display:flex}& .logo-text{background:var(--glass-text);width:84px;height:19px;display:inline-block;mask-image:url(/web/images/pacer.svg);mask-size:contain;mask-repeat:no-repeat}}.hamburger-menu{display:block}body.partner>main{align-items:start;margin-left:0;padding:0}body.partner>footer.site-footer{margin-left:0}body.partner main table tr.form{display:none}body.partner main table th{background:var(--bg-tint)}body.partner main table th:first-child,body.partner main table td:first-child{z-index:2;position:sticky;left:0}body.partner main table th:first-child{z-index:3}}@media (width<=768px){body>header{padding:0 1rem 0 .5rem}body.partner>header{flex-wrap:wrap;& .logo{order:0}& .partner-name{order:1}}body.partner main table{& th,& td{padding:.375rem .5rem}}#partner-login{grid-template-columns:1fr}.partner-hero{border-right:none;border-bottom:1px solid var(--color-faint-line);padding:2rem 1.5rem}.partner-form-panel{padding:2rem 1.5rem}}@media (width<=480px){body.partner>header .partner-name{font-size:1rem}body.partner main table{font-size:.75rem;& th,& td{padding:.25rem .375rem}}.partner-hero,.partner-form-panel{padding:1.5rem 1rem}#partner-login .login-card{padding:1.5rem}}.internal-banner{color:#92400e;text-align:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;margin-bottom:1rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.account-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-line);width:100%;max-width:400px;margin-top:2rem;padding:2.5rem;& h2{align-self:start;margin-bottom:1rem;font-size:1.25rem;font-weight:600}& form{flex-direction:column;gap:.5rem;display:flex}& label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}& input[type=password]{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--input-bg);width:100%;color:var(--color-text);padding:.625rem .75rem;font-size:1rem}& .primary{width:100%;margin-top:.5rem;padding:.75rem 1rem;font-size:1rem}& hr{border:none;border-top:1px solid var(--color-line);margin:1.5rem 0}& .sign-out-btn{background:var(--color-bg);border:1px solid var(--color-line);width:100%;box-shadow:none;&:hover{background:var(--color-surface)}}}.success-message{color:#4caf50;text-align:center;margin-bottom:1rem}