html{color-scheme:light}*{box-sizing:border-box}body.portal{margin:0;background:var(--bg);color:var(--ink);font-family:var(--brand-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.portal h1,.portal h2,.portal h3{font-family:var(--brand-heading);font-weight:var(--brand-heading-weight);letter-spacing:var(--brand-heading-tracking);margin:0;color:var(--ink)}.portal a{color:var(--ink)}.p-mast{background:var(--mast-bg);color:var(--mast-text);border-bottom:3px solid var(--mast-rule)}.p-mast-in{padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.portal .p-brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--mast-text)}.p-brand .wm{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.04em;font-size:24px;line-height:1}.p-brand .wm .dot,.p-login-wm .dot{width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.p-brand .tag{font-family:var(--brand-label);font-size:11px;color:var(--mast-muted);letter-spacing:.06em;text-transform:uppercase;padding-left:10px;border-left:1px solid hsla(0,0%,100%,.14)}.p-nav{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}.p-nav a,.p-nav button{color:var(--mast-link);text-decoration:none;font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;background:none;border:0;cursor:pointer}.p-nav a:hover,.p-nav button:hover{color:var(--mast-text);background:hsla(0,0%,100%,.08)}.p-nav a.active{color:var(--ink);background:var(--accent)}.p-client-switch{display:inline-flex;align-items:center;gap:6px;margin-right:8px}.p-client-switch-label{font-size:11px;color:var(--mast-muted);letter-spacing:.06em;text-transform:uppercase}.p-client-switch-select{font:inherit;font-size:13px;color:var(--mast-text);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.14);border-radius:3px;padding:4px 8px;max-width:200px}.p-client-switch-select option{color:var(--ink);background:var(--paper)}.p-main{max-width:960px;margin:0 auto;padding:28px 16px 64px}.p-eyebrow{font-family:var(--brand-label);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--label)}.p-title{font-size:28px;margin:4px 0 6px}.p-muted{color:var(--muted);font-size:13px}.p-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px;margin-top:20px}.p-flash{padding:14px 16px;border-radius:4px;font-size:13px;line-height:1.55;margin:20px 0;border:1px solid}.p-flash.ok{background:var(--good-bg);border-color:var(--good-line);color:var(--good)}.p-flash.err{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}.p-flash.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.p-years{display:flex;gap:2px;border-bottom:2px solid var(--ink);margin-top:24px;overflow-x:auto}.p-years a{padding:8px 16px;text-decoration:none;font-weight:600;font-size:13px;color:var(--muted);border-radius:3px 3px 0 0;white-space:nowrap}.p-years a:hover{color:var(--ink);background:var(--panel)}.p-years a.active{background:var(--ink);color:var(--accent)}.p-reports{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);overflow:hidden}.p-report{display:grid;grid-template-columns:1fr auto auto;grid-gap:16px;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.p-report:last-child{border-bottom:0}.p-report .month{font-family:var(--brand-heading);font-size:17px;font-weight:600}.p-report .prop{font-size:12px;color:var(--muted)}.p-report .badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;vertical-align:2px;background:var(--accent);color:var(--ink);font-family:var(--brand-body);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.p-report .score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;text-align:right}.p-report .score span{color:var(--muted);font-weight:400;font-size:12px}.p-report .open{font-size:12px;font-weight:600;text-decoration:none;padding:6px 12px;border:1.5px solid var(--ink);border-radius:var(--radius-button);white-space:nowrap}.p-report .open:hover{background:var(--ink);color:var(--accent)}.p-empty{padding:28px 18px;text-align:center;color:var(--muted)}.p-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.p-input,.p-select{width:100%;padding:9px 12px;font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--line-2);border-radius:3px;background:var(--paper)}.p-input:focus,.p-rank:focus,.p-select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent-ink)}.p-btn{display:inline-block;padding:10px 20px;font:inherit;font-size:13px;font-weight:700;background:var(--btn-bg);color:var(--btn-text);border:0;border-radius:var(--radius-button);cursor:pointer;text-decoration:none}.p-btn:hover{background:var(--btn-hover);color:var(--btn-hover-text)}.p-btn.ghost{background:none;border:1px solid var(--line-2)}.p-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.p-row>.grow{flex:1 1 260px}.p-table-wrap{overflow-x:auto}.p-table{width:100%;border-collapse:collapse;font-size:13px}.p-table th{text-align:left;padding:8px 12px;font-size:12px;font-weight:600;border-bottom:2px solid var(--ink);background:var(--panel)}.p-table td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.p-table tr.selected td{background:var(--accent-soft)}.p-rank{width:56px;padding:6px 8px;font:inherit;font-size:13px;text-align:center;border:1px solid var(--line-2);border-radius:3px;background:var(--paper);color:var(--ink)}.p-status{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.p-status.pending{color:var(--warn)}.p-status.approved{color:var(--good)}.p-status.rejected{color:var(--muted)}.p-sticky-save{position:-webkit-sticky;position:sticky;bottom:0;background:var(--paper);padding:12px 0 0;border-top:1px solid var(--line);margin-top:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.p-tw{margin-top:20px}.p-tw-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.p-tw-link{font-size:12px;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line-2)}.p-tw-link:hover{color:var(--label);border-color:var(--label)}.p-tw-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin:4px 0 18px}.p-tw-kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.p-tw-kpi-value{font-family:var(--brand-number);font-size:30px;font-weight:var(--brand-number-weight);letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.p-tw-kpi-label{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35}.p-tw-kpi-note{font-size:11px;color:var(--muted);margin-top:6px;letter-spacing:.02em}.p-tw-rival{margin:4px 0 14px;font-size:14px;color:var(--ink)}.p-tw-quote{border-left:3px solid var(--quote);margin:4px 0 14px;padding:6px 0 6px 14px;background:var(--bg)}.p-tw-quote-head{display:flex;gap:10px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.p-tw-quote .mono{font-family:var(--brand-label);text-transform:none;letter-spacing:0;color:var(--ink);font-weight:600}.p-tw-quote p{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}.p-tw-quote mark{background:var(--warn-bg);color:var(--ink);padding:0 2px;border-radius:2px}.p-tw-quote-link{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line-2)}.p-tw-quote-link:hover{color:var(--label);border-color:var(--label)}.p-tw-trend{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.p-tw-trend-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.p-tw-trend svg{width:100%;height:auto;display:block}.p-tw-axis{stroke:var(--line-2);stroke-width:1}.p-tw-tick{font-size:10px;fill:var(--muted);font-family:var(--brand-body)}.p-tw-line-m{fill:none;stroke:var(--ink);stroke-width:2}.p-tw-line-c{fill:none;stroke:var(--accent-ink);stroke-width:1.5;stroke-dasharray:4 3}.p-tw-marker{stroke:var(--warn);stroke-width:2}.p-tw-key{display:inline-block;width:14px;height:2px;margin:0 4px 3px 10px;vertical-align:middle}.p-tw-key-m{background:var(--ink)}.p-tw-key-c{background:var(--accent-ink)}.p-tw-key-i{background:var(--warn)}.p-improved{margin-top:20px}.p-improved-title{font-size:18px;margin-bottom:4px}.p-improved-blurb{margin:0 0 14px}.p-improved-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.p-improved-item{padding:12px 0;border-bottom:1px solid var(--line)}.p-improved-week{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.p-improved-headline{font-family:var(--brand-heading);font-size:16px;color:var(--ink)}.p-improved-note{margin-top:4px;font-size:13px;color:var(--ink-2)}.p-improved-resolved{margin-top:4px;font-size:12px;color:var(--good)}.p-tw-empty{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:4px;margin-top:20px}.p-tw-empty-title{font-size:18px;margin-bottom:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.p-fs-lede{margin:0 0 16px}.p-fs-block{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;margin-bottom:14px}.p-fs-h{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-weight:600}.p-fs-comp{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.p-fs-comp li{font-size:14px;color:var(--ink)}.p-fs-comp li span{display:block;font-size:12px;color:var(--muted)}.p-fs-qs{list-style:none;margin:0;padding:0}.p-fs-qs li{padding:10px 0;border-bottom:1px solid var(--line)}.p-fs-qs li:last-child{border-bottom:0}.p-fs-q{font-family:var(--brand-body);font-size:15px;color:var(--ink);margin-bottom:6px}.p-fs-engines{display:flex;flex-wrap:wrap;gap:6px}.p-fs-engines span{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}.p-fs-engines span.yes{background:var(--good-bg);border-color:var(--good);color:var(--good)}.p-fs-recs{margin-top:6px;font-size:12px;color:var(--ink-2)}.p-fs-findings{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.p-fs-findings li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}.p-fs-findings li>span[aria-hidden]{flex:none;width:16px;font-weight:700}.p-fs-findings li.bad>span[aria-hidden]{color:var(--bad)}.p-fs-findings li.good>span[aria-hidden]{color:var(--good)}.p-fs-findings li.info>span[aria-hidden]{color:var(--muted)}@media (max-width:640px){.p-tw-kpis{grid-template-columns:1fr}}.p-tasks-h{font-size:20px;margin-bottom:12px}.p-tasks{list-style:none;margin:0;padding:0}.p-task{padding:14px 0;border-top:1px solid var(--line)}.p-task:first-child{border-top:0;padding-top:4px}.p-task-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--brand-label);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.p-task-issue{font-weight:700;font-size:15px;color:var(--ink)}.p-task.closed .p-task-issue{font-weight:600}.p-task-why{margin:4px 0 0;color:var(--muted)}.p-task-fix,.p-task-why{font-size:13px;line-height:1.5}.p-task-fix{margin:8px 0 0;color:var(--ink-2)}.p-task-fix b{font-family:var(--brand-label);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-right:6px;color:var(--ink)}.p-task-act{margin-top:10px}.p-task-act .p-btn{padding:6px 14px;font-size:12px}.p-pri,.p-res{display:inline-block;padding:2px 9px;border-radius:var(--radius-chip);font-weight:500;letter-spacing:.04em}.p-pri.high{background:var(--ink);color:var(--accent)}.p-pri.medium{background:var(--tag-bg);color:var(--tag-text)}.p-pri.low{background:var(--panel);color:var(--muted)}.p-res.confirmed{background:var(--good-bg);color:var(--good)}.p-res.cleared{background:var(--accent-chip);color:var(--accent-chip-text)}.p-res.pending{background:var(--warn-bg);color:var(--warn)}.p-res.dismissed{background:var(--panel);color:var(--muted)}.p-foot{max-width:960px;margin:0 auto;padding:24px 16px 32px;text-align:center;font-size:12px;color:var(--muted);letter-spacing:.04em}.p-foot a{color:var(--ink);font-weight:600;text-decoration:none}.p-powered{display:block;margin-top:8px;font-size:11px;color:var(--faint);letter-spacing:.02em}.p-brand .brand-img{display:block;width:auto}.portal .p-brand:has(.brand-img){align-items:center}.p-login-wm .brand-img{display:block;width:auto}.p-foot a:hover{color:var(--label)}.p-login{max-width:420px;margin:0 auto;padding:clamp(48px,12vh,112px) 16px 64px;text-align:center}.p-login-head{text-align:center;margin-bottom:24px}.p-login-wm{display:inline-flex;align-items:center;gap:10px;margin:0 auto 18px;font-family:var(--brand-heading);font-weight:var(--brand-heading-weight);font-size:40px;letter-spacing:-.05em;line-height:1;color:var(--ink);text-decoration:none}.p-login-head .p-eyebrow{color:var(--label)}.p-login-head .p-title{font-size:28px;margin:6px 0 10px}.p-login-head .p-muted{max-width:320px;margin:0 auto}.p-login-card{position:relative;border-radius:22px;padding:32px 28px 28px;text-align:left;box-shadow:0 1px 2px rgba(14,23,18,.04),0 8px 24px rgba(14,23,18,.06);overflow:hidden}.p-login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--accent)}.p-login-card .p-input{margin-bottom:18px}.p-btn.block{display:block;width:100%;padding:11px 18px;text-align:center}.p-hint{margin:14px 0 0;text-align:center;font-size:12px;color:var(--muted)}@media (max-width:560px){.p-report{grid-template-columns:1fr auto}.p-report .open{grid-column:1/-1;text-align:center}.p-title{font-size:24px}}.p-link-detail{background:var(--panel);border-radius:12px;padding:14px 16px;margin-bottom:16px}.p-link-meta{font-family:var(--brand-label);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.p-link-url{font-size:15px;font-weight:600;word-break:break-all}.p-login-card .p-muted{margin:0 0 20px;line-height:1.55}.p-head{margin-bottom:20px}.p-h2{font-size:20px;font-weight:700;margin:0;letter-spacing:-.01em}.p-sub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.p-kv{display:grid;grid-gap:0;gap:0;margin:0}.p-kv>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}.p-kv>div:last-child{border-bottom:0}.p-kv dt{margin:0;color:var(--muted)}.p-kv dd{margin:0}.p-form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.p-form-row label{font-size:13px;color:var(--muted)}.p-form-row select{flex:1 1;min-width:220px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font:inherit}.p-sub-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.p-btn.ghost:hover{background:var(--panel)}