/* Portal layouts and legacy compatibility. The immutable report.css owns the design tokens. */
:root{--paper:var(--page);--muted:var(--sunk);--mutedfg:var(--mute);--hairline:var(--line);--brick:var(--coral-ink);--font:var(--sans)}
button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.h1{font:600 28px/1.15 var(--display);margin:0}.h2{font:600 20px/1.25 var(--sans);margin:0}.h3{font:600 16px/1.35 var(--sans);margin:0}.small{font:400 12.5px/1.5 var(--sans);color:var(--mute)}.muted{color:var(--mute)}.mono{font-family:var(--mono)}
/* shell */
.topbar {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  height: 60px; padding: 0 28px;
  background: var(--paper); border-bottom: 1px solid var(--hairline);
}
.topbar .mark { display: flex; align-items: center; }
.topbar .mark img { height: 20px; width: auto; display: block; }
.topbar nav { display: flex; align-items: center; gap: 18px; font: 500 14px var(--font); }
.topbar nav a { color: var(--ink); text-decoration: none; }
.topbar nav a.on { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--mustard); text-decoration-thickness: 2px; }
.topbar .who { font: 400 13px var(--font); color: var(--mutedfg); }
.page { max-width: 1180px; margin: 0 auto; padding: 36px 28px 80px; }
.pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.pagehead .titles { display: flex; flex-direction: column; gap: 8px; }

/* surfaces */
.card { background: var(--card); border: 1px solid var(--hairline); border-radius: 8px; }
.card.pad { padding: 22px; }
.section { margin-top: 28px; }
.section > .sechead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.stack { display: flex; flex-direction: column; gap: 12px; }
.row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.spread { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rule { border: 0; border-top: 1px solid var(--hairline); margin: 18px 0; }

/* tabs */
.tabs { display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--hairline); padding-bottom: 14px; margin-bottom: 22px; }
.tab {
  height: 36px; padding: 0 14px; border-radius: 8px; cursor: pointer;
  background: var(--paper); color: var(--ink); border: 1px solid var(--hairline);
  font: 500 14px var(--font); display: inline-flex; align-items: center; gap: 8px;
}
.tab.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.tab .count { font-size: 12px; opacity: .7; }

/* buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; padding: 0 18px; border-radius: 8px; border: 1px solid transparent; cursor: pointer;
  font: 500 14px var(--font); white-space: nowrap; text-decoration: none;
}
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-primary { background: var(--mustard); color: var(--ink); }
.btn-primary:hover:not(:disabled) { background: var(--mustard); }
.btn-ink { background: var(--ink); color: var(--paper); }
.btn-line { background: transparent; color: var(--ink); border-color: var(--hairline); }
.btn-line:hover:not(:disabled) { border-color: var(--ink); }
.btn-sm { height: 32px; padding: 0 12px; font-size: 13px; }
.btn-danger { background: transparent; color: var(--brick); border-color: var(--hairline); }
.btn-danger:hover:not(:disabled) { border-color: var(--brick); }
.linkbtn { background: none; border: 0; padding: 0; color: var(--navy); cursor: pointer; font: 500 13px var(--font); text-decoration: underline; text-underline-offset: 3px; }

/* forms */
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field label { font: 500 13px var(--font); }
.input, .select, .textarea {
  width: 100%; min-width: 0; height: 40px; padding: 0 12px; border-radius: 8px;
  background: var(--card); border: 1px solid var(--hairline); outline: none;
}
.textarea { height: auto; min-height: 88px; padding: 10px 12px; resize: vertical; line-height: 1.5; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--navy); }
.formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.check { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }

/* chips */
.chip {
  display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 99px;
  font: 500 12px var(--font); background: var(--muted); color: var(--ink); white-space: nowrap;
}
.chip.navy { background: var(--navy); color: var(--paper); }
.chip.mustard { background: var(--mustard); color: var(--ink); }
.chip.sage { background: var(--sunk); color: var(--ink2); }
.chip.brick { background: var(--mustard-soft); color: var(--brick); }
.chip.line { background: transparent; border: 1px solid var(--hairline); }
.dot { width: 8px; height: 8px; border-radius: 99px; display: inline-block; flex-shrink: 0; }

/* tables */
.table { width: 100%; border-collapse: collapse; }
.table th { text-align: left; font: 500 12px var(--font); letter-spacing: .06em; text-transform: uppercase; color: var(--mutedfg); padding: 10px 14px; border-bottom: 1px solid var(--hairline); }
.table td { padding: 12px 14px; border-bottom: 1px solid var(--hairline); vertical-align: top; }
.table tr:last-child td { border-bottom: 0; }
.tablewrap { overflow-x: auto; }

/* list rows */
.item { padding: 14px 18px; border-bottom: 1px solid var(--hairline); }
.item:last-child { border-bottom: 0; }
.empty { padding: 28px 18px; text-align: center; color: var(--mutedfg); font-size: 14px; }

/* messages */
.chat { display: grid; grid-template-columns: 240px 1fr; min-height: 520px; }
.threads { border-right: 1px solid var(--hairline); padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.thread { text-align: left; padding: 9px 12px; border-radius: 8px; border: 0; background: transparent; cursor: pointer; font: 500 14px var(--font); }
.thread.on { background: var(--muted); }
.msgs { display: flex; flex-direction: column; min-width: 0; }
.msglist { flex: 1; padding: 18px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; max-height: 560px; }
.msg { display: flex; flex-direction: column; gap: 4px; max-width: 720px; }
.msg .meta { display: flex; align-items: center; gap: 8px; font: 400 12px var(--font); color: var(--mutedfg); }
.msg .meta b { font-weight: 600; color: var(--ink); font-size: 13px; }
.msg .body { white-space: pre-wrap; word-wrap: break-word; background: var(--card); border: 1px solid var(--hairline); border-radius: 8px; padding: 10px 14px; }
.msg.agent .body { background: var(--paper); }
.composer { border-top: 1px solid var(--hairline); padding: 12px; display: flex; gap: 10px; align-items: flex-end; }
.composer .textarea { min-height: 44px; }

/* board */
.board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.col { background: var(--muted); border-radius: 8px; padding: 10px; display: flex; flex-direction: column; gap: 10px; min-height: 120px; }
.col h4 { margin: 2px 4px 4px; font: 500 12px var(--font); letter-spacing: .08em; text-transform: uppercase; color: var(--mutedfg); }
.tile { background: var(--card); border: 1px solid var(--hairline); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 6px; }

/* key reveal */
.keybox { background: var(--ink); color: var(--paper); border-radius: 8px; padding: 14px 16px; font: 500 13px ui-monospace, Menlo, monospace; word-break: break-all; }
.code { background: var(--card); border: 1px solid var(--hairline); border-radius: 8px; padding: 12px 14px; font: 400 12.5px/1.6 ui-monospace, Menlo, monospace; white-space: pre-wrap; word-break: break-all; }
.notice { background: var(--mustard-soft); border: 1px solid var(--mustard); border-radius: 8px; padding: 12px 14px; font-size: 14px; }
.error { color: var(--brick); font-size: 13px; }

/* sign-in */
.signin { min-height: 100vh; display: flex; flex-direction: column; }
.signin main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 16px; }
.signin .panel { width: 100%; max-width: 420px; padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.signin footer { padding: 20px 28px; border-top: 1px solid var(--hairline); font-size: 12px; color: var(--mutedfg); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

.dropzone { border: 1px dashed var(--mutedfg); border-radius: 8px; padding: 18px; display: flex; flex-direction: column; gap: 12px; background: var(--paper); }
.dropzone.over { border-color: var(--navy); background: var(--sunk); }

@media (max-width: 900px) {
  .board { grid-template-columns: 1fr 1fr; }
  .grid2 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .topbar { padding: 12px 16px; height: auto; min-height: 56px; flex-wrap: wrap; gap: 12px; }
  .topbar .who { display: none; }
  .topbar nav { gap: 12px; row-gap: 8px; flex-wrap: wrap; font-size: 13px; }
  .page { padding: 24px 16px 64px; }
  .h1 { font-size: 28px; }
  .chat { grid-template-columns: 1fr; }
  .threads { border-right: 0; border-bottom: 1px solid var(--hairline); flex-direction: row; overflow-x: auto; }
  .thread { white-space: nowrap; }
  .board { grid-template-columns: 1fr; }
  .table.responsive thead { display: none; }
  .table.responsive tr { display: block; padding: 12px 14px; border-bottom: 1px solid var(--hairline); }
  .table.responsive td { display: block; padding: 3px 0; border: 0; }
  .table.responsive td[data-label]::before { content: attr(data-label) ": "; color: var(--mutedfg); font-size: 13px; }
  .card.pad { padding: 16px; }
  .signin .panel { padding: 24px; }
  .hide-sm { display: none !important; }
}


/* Same shell and spacing as the report; larger hit areas meet the phone gate. */
.pp-shell .page{margin:0 auto;max-width:1240px;padding:30px 28px 64px;gap:22px}.pagehead{margin:0;align-items:center}.titles{gap:8px}.pagehead p{margin:6px 0 0}.page>.section{margin-top:0}.page .card{background:var(--card);border:1px solid var(--line);border-radius:12px}.card.pad{padding:18px}.section>.sechead{margin-bottom:12px}.btn{height:auto;min-height:0;justify-content:center;white-space:normal;text-align:center;font-size:13px}.btn-primary,.btn-ink{background:var(--ink);color:var(--card);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--navy);color:var(--card)}.btn-line{background:var(--card)}.btn-sm{min-height:0;font-size:13px}.btn-danger{color:var(--ink2)}.linkbtn{min-height:0}.input,.select{height:32px}.tab{min-height:0;height:auto}.check{min-height:0}.check input{width:22px;height:22px;accent-color:var(--navy)}.field label{font-size:12.5px}.eyebrow{font:500 10.5px/1.5 var(--mono);letter-spacing:.12em;color:var(--mute);text-transform:uppercase}.chip{font-size:11.5px;height:auto;min-height:22px;white-space:normal}.chip.sage,.chip.brick{background:var(--sunk);color:var(--ink2)}.chip.mustard{background:var(--mustard-soft);color:var(--mustard-ink)}.notice{background:var(--mustard-soft);border-color:var(--mustard-soft);color:var(--ink2);font-size:13px}.error{color:var(--ink);padding:12px 14px;border-left:3px solid var(--coral);background:var(--sunk)}
.pp-workspace{align-items:flex-start;flex-direction:column;padding:14px 8px 8px;gap:10px}.pp-workspace img{display:block;max-width:100%;object-fit:contain;object-position:left}.pp-workspace .wss{display:flex;align-items:center;gap:5px}.pp-workspace .wss img{width:90px;height:16px}.pp-avatar{background:var(--navy);color:var(--card);width:32px;height:32px;font-size:10.5px;flex:none}.pp-partner-logo{max-width:180px;width:auto;height:36px;object-fit:contain}.pp-partner-name{font-weight:600;display:flex;align-items:center;gap:10px}.sb .ni{min-height:0;height:auto}.qf{min-height:0}.sb .sbf{margin-top:auto}.sb .who{overflow-wrap:anywhere}.pp-mobile-close{display:none}.tb{min-height:60px;height:auto;flex:none}.tb .menu{width:44px;height:32px}.scope{min-height:0;height:auto}.pp-banner{background:var(--mustard);color:var(--ink);padding:10px 28px;min-height:0;display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.pp-banner a{color:var(--ink);display:flex;align-items:center;gap:8px;margin-left:auto;min-height:0;font-weight:600}.pp-banner svg{width:16px;height:16px}.pp-shell .scope .av{width:24px;height:24px}.pp-shell .ph h1{margin:4px 0 0}.pp-shell .ph p{max-width:780px}.pp-shell .scrim{border:0;padding:0}.pp-find{padding:0 10px}.pp-palette{width:min(580px,calc(100vw - 32px));max-height:80dvh;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:16px;color:var(--ink)}dialog::backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}.pp-palette input{min-width:0;flex:1;border:0;background:var(--card);height:32px}.pp-palette .ni{min-height:0}.pp-palette .stack{margin-top:12px}.pp-sheet{position:fixed;margin:0 0 0 auto;inset:0;max-height:100dvh;height:100dvh;width:min(820px,100%);max-width:100%;border:0;border-left:1px solid var(--line);background:var(--page);color:var(--ink);padding:28px;overflow-y:auto}.pp-sheet header{margin-bottom:22px}.pp-sheet h2{font:600 28px var(--display);margin:4px 0}.pp-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pp-kind{border:1px solid var(--line2);border-radius:12px;padding:16px;background:var(--card);text-align:left;display:flex;flex-direction:column;gap:10px;min-height:172px}.pp-kind strong{font-size:14.5px}.pp-kind span{font-size:12.5px;color:var(--mute)}.pp-kind.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:var(--mustard-soft)}.pp-kind.on span{color:var(--ink2)}
.pp-action{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.pp-action:last-child{border:0}.pp-action>div{min-width:0;flex:1}.pp-action strong{font-weight:500}.pp-action .small{margin-top:4px}.pp-action .btn{flex:none}.pp-reading{padding:10px 0 16px}.pp-meter{height:6px;border-radius:99px;background:var(--sunk);overflow:hidden;margin:8px 0 0}.pp-meter>i{display:block;height:100%;background:var(--navy);border-radius:99px}.pp-unavailable{color:var(--mute);font-size:12.5px;margin:12px 0;display:flex;gap:8px;align-items:center;line-height:1.5}.pp-unavailable svg{width:16px;height:16px;flex:none}.pp-week-bars{height:180px;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:12px;margin-top:14px}.pp-week{display:flex;flex-direction:column;min-width:0;gap:6px}.pp-week>div{display:flex;gap:4px;align-items:flex-end;flex:1;min-height:0}.pp-week i{display:block;flex:1;background:var(--navy);border-radius:4px 4px 2px 2px}.pp-week i.pp-shared{background:var(--mustard)}.pp-week>span{font:500 10.5px var(--mono);color:var(--mute);text-align:center}.pp-empty{text-align:center;padding:20px 12px;max-width:440px;margin:auto}.pp-empty h3{font-size:14.5px;margin:12px 0 8px}.pp-empty .muted{font-size:12.5px}.pp-empty-art{display:flex;align-items:center;justify-content:center;gap:20px;min-height:80px;color:var(--navy)}.pp-empty-art span{width:40px;height:1px;border-top:1px dashed var(--mustard)}.pp-sparkline{width:100px;height:32px;display:block}.pp-stage-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.pp-stage-tiles .lane{padding:14px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--sunk);border-radius:8px}.pp-stage-tiles .lane strong{font-size:13px}.split{min-width:0}.pp-jobs .split-cell{min-width:130px}.pp-jobs .jn{font-size:13px}.tbl th,.table th{color:var(--mute)}.tbl a{color:var(--ink)}.pp-client-table td{vertical-align:middle}.pp-client-cell{display:flex;align-items:center;gap:10px}.pp-client-cell small{display:block}.pp-filters{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}.pp-filters .seg{flex-wrap:wrap}.seg button{min-height:0}.pp-search{width:min(300px,100%);position:relative}.pp-search svg{position:absolute;left:12px;top:14px;width:16px;height:16px;color:var(--mute)}.pp-search input{padding-left:36px}.pp-stage-pips{display:flex;align-items:center;gap:3px;margin-bottom:6px}.pp-stage-pips i{width:14px;height:4px;background:var(--line);border-radius:99px}.pp-stage-pips i.on{background:var(--navy)}.pp-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:8px}.pp-stages li{border-top:3px solid var(--line);padding:10px 0;font-size:12.5px;color:var(--mute)}.pp-stages li.on{border-color:var(--navy);color:var(--ink)}.pp-stages b{display:block;font-weight:500}.pp-stages span{font-size:11.5px}.audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.audit-metrics>div{display:flex;flex-direction:column;gap:6px}.audit-metrics strong{font-size:24px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}progress{appearance:none;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;background:var(--sunk)}progress::-webkit-progress-bar{background:var(--sunk)}progress::-webkit-progress-value{background:var(--navy)}progress::-moz-progress-bar{background:var(--navy)}.audit-progress{gap:6px}.item p{margin:8px 0}.pp-live-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr);gap:22px}.audit-live .ph h1{font-size:28px;max-width:800px;line-height:1.15}.pp-live-step{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.pp-step-dot{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:99px;font:500 11px var(--mono);flex:none}.pp-live-step.landed .pp-step-dot{background:var(--navy);color:var(--card);border-color:var(--navy)}.pp-live-step.current .pp-step-dot{background:var(--mustard-soft);border-color:var(--mustard)}.pp-live-step .small{margin-left:auto}.pp-live-steps{margin:0;padding:0;list-style:none}.pp-preview-frame{width:100%;height:760px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.pp-review{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:22px;align-items:start}.pp-review-side{display:flex;flex-direction:column;gap:16px}.pp-review-check{padding:12px 0;border-bottom:1px solid var(--line)}.pp-review-check:last-child{border:0}.pp-review-check strong{display:flex;align-items:center;gap:8px;font-size:13px}.pp-review-check p{margin:8px 0;font-size:12.5px;color:var(--mute)}.pp-threshold{position:relative;height:18px;background:var(--sunk);border-radius:4px;margin:14px 0 6px}.pp-threshold i{display:block;height:100%;background:var(--navy);border-radius:4px}.pp-threshold b{position:absolute;height:26px;top:-4px;border-left:2px solid var(--mustard);left:70%}.pp-review .seg{flex-wrap:wrap}.pp-map-counter{font:600 44px/1.1 var(--sans);margin:10px 0}.pp-cost-bars .bars{height:150px}.pp-queue-runs{display:flex;flex-direction:column;gap:14px}.pp-queue-run{padding:18px}.pp-queue-run .spread{margin-bottom:10px}.pp-queue-run .pp-meter{margin-bottom:8px}.pp-public{height:100dvh;overflow:auto;background:var(--page);display:flex;flex-direction:column}.pp-public header{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-bottom:1px solid var(--line);gap:20px;flex-wrap:wrap}.pp-public .pp-brand{display:flex;align-items:center;gap:12px}.pp-public .pp-brand small{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mute)}.pp-public .pp-brand small img{width:100px;height:auto}.pp-public main{width:100%;max-width:1100px;margin:auto;padding:48px 28px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.pp-connect-form{display:flex;flex-direction:column;gap:18px;min-width:0}.pp-connect-form h1{font:600 44px/1.15 var(--display);margin:0}.pp-connect-form p{margin:0}.pp-connect-art{border-radius:16px;overflow:hidden;background:var(--sunk);border:1px solid var(--line)}.pp-connect-art>img{width:100%;height:230px;object-fit:cover;display:block}.pp-connect-art .cb{padding:24px}.pp-connect-art h2{font:600 28px/1.2 var(--display);margin:0 0 16px}.pp-connect-art ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.pp-connect-art li{display:flex;gap:12px;font-size:13px}.pp-connect-art svg{flex:none;color:var(--navy);width:20px;height:20px}.pp-connect-form .btn{width:100%;justify-content:flex-start;padding:12px 16px}.pp-provider-mark{width:22px;height:22px;object-fit:contain;flex:none}.pp-public footer{padding:20px 40px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.pp-public .pp-state-icon{width:48px;height:48px;color:var(--navy)}.signin{height:100dvh;overflow:auto}.keybox,.code{overflow-wrap:anywhere}.pp-review iframe{max-width:100%}.legend{flex-wrap:wrap}.ch{flex-wrap:wrap}.ch span{color:var(--mute)}.bars .bar span{color:var(--mute)}.bar i{flex-shrink:1}.tb .crumb{min-width:0}.tb .crumb b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1000px){.pp-review{grid-template-columns:1fr}.pp-preview-frame{height:600px}.pp-client-table .hide-m{display:none}.audit-live .ph h1{font-size:28px}}
@media(max-width:899px){.pp-shell:not(.open) .sb{visibility:hidden}.pp-shell.open .sb{visibility:visible}.pp-mobile-close{display:flex}.pp-shell .page{padding:24px 16px 64px}.tb{padding:8px 16px}.pp-banner{padding:8px 16px}.pp-banner a{margin-left:0}.pp-live-grid{grid-template-columns:1fr}.pp-live-steps{max-height:360px;overflow:auto}.pp-public main{gap:24px}.pp-find{display:none}}
@media(max-width:640px){.pp-shell .page{gap:18px}.pagehead{align-items:flex-start}.pagehead>.row{width:100%}.pp-kinds{grid-template-columns:1fr}.pp-kind{min-height:0;display:grid;grid-template-columns:24px 1fr;gap:8px 12px}.pp-kind span{grid-column:2}.pp-sheet{padding:20px 16px}.pp-stages{gap:6px}.pp-stages li{font-size:11.5px}.pp-stages span{font-size:10.5px}.pp-client-table thead{display:none}.pp-client-table tr{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:14px;border-bottom:1px solid var(--line)}.pp-client-table td{padding:0;border:0}.pp-client-table td:first-child{grid-column:1/-1}.pp-client-table td:last-child{grid-column:1/-1}.pp-client-table .hide-m{display:block}.pp-client-table td:before{content:attr(data-label);display:block;font-size:10.5px;color:var(--mute);margin-bottom:5px}.pp-filters .seg{width:100%}.pp-search{width:100%}.audit-metrics{grid-template-columns:1fr 1fr;gap:16px}.audit-metrics strong{font-size:24px}.pp-public header{padding:20px 16px;min-height:76px}.pp-public main{padding:28px 16px;grid-template-columns:1fr}.pp-connect-form h1{font-size:30px}.pp-connect-art{order:2}.pp-connect-art>img{height:150px}.pp-connect-art .cb{padding:20px}.pp-public footer{padding:20px 16px}.pp-public header>.small{display:none}.pp-public .pp-partner-logo{max-width:120px}.pp-public .pp-brand{flex-wrap:wrap}.pp-live-steps{max-height:300px}.audit-live .ph h1{font-size:28px}.pp-stage-tiles{grid-template-columns:1fr 1fr}.pp-map-counter{font-size:30px}.pp-review{gap:18px}.pp-preview-frame{height:540px}.pp-jobs th:last-child,.pp-jobs td:last-child{width:38%}.pp-jobs .jn{gap:6px}.pp-jobs .ji{display:none}.pp-jobs td{padding:12px 10px}.pp-action{gap:8px}.pp-action .btn{padding:0 10px}.pp-shell .scope{max-width:145px;font-size:11.5px}.tb .crumb .lead,.tb .crumb>svg{display:none}.pp-week-bars{gap:8px}.kpis .kpi{padding:16px}.kpis .kpi b{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.pp-treemap{height:320px;min-height:320px}.pp-treemap .blk .bh{flex-wrap:wrap}.pp-treemap .blk .bh b{white-space:normal}.pp-treemap .blk .bh span{font-size:13px}.pp-treemap .blk{color:var(--card)}

/* Hit areas use the existing report type scale. */
button,.btn,.tab,.thread{min-width:0;min-height:0}.page a[href],.crumb a[href],.topbar a[href]{display:inline-flex;align-items:center;min-height:0;min-width:0}.page .pp-client-cell{display:flex}.pp-review-check strong svg{width:16px;height:16px;flex:none}.hr>.pp-meter{grid-column:1/-1;margin-top:0}.pp-public .pp-brand>a{display:flex;align-items:center;min-height:0}.pp-treemap .blk{min-width:0;min-height:0}.pp-connect-form .pp-provider-mark+svg{margin-left:auto}.pp-public footer img{height:20px;width:auto}

.pp-mobile-route{display:none}@media(max-width:899px){.pp-mobile-route{display:inline-flex}.tb .scope{display:none}.tb .crumb{flex:1}.tb .sp{display:none}.tb{gap:8px}.tb .crumb .lead,.tb .crumb>svg{display:none}}

.pp-workspace>a{display:flex;align-items:center;min-height:0;min-width:0}.hr{grid-template-columns:minmax(0,1fr) max-content}.pp-treemap .blk .bh b{overflow-wrap:anywhere;min-width:0;max-width:100%}@media(max-width:640px){.threads{flex-wrap:wrap;overflow:visible}}

.legend i.pp-started{background:var(--navy)}.legend i.pp-shared{background:var(--mustard)}

.pp-empty-art img{display:block;width:100%;height:110px;object-fit:cover;border-radius:8px}.pp-mobile-brand{display:none}.pp-sheet .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:899px){.pp-mobile-brand{display:flex;align-items:center;min-height:0;min-width:0;margin-right:auto}.pp-mobile-brand .pp-partner-logo{max-width:110px;height:28px}.tb .crumb{display:none}.pp-mobile-brand .pp-partner-name{font-size:12.5px;max-width:120px}.tb .btn.pp-mobile-route{padding:0 10px}}@media(max-width:640px){.pp-sheet .formgrid{grid-template-columns:1fr}}

.pp-day-axis{position:relative;height:18px;margin-top:8px;font:500 10.5px var(--mono);color:var(--mute)}.pp-day-axis span{position:absolute;top:0;white-space:nowrap}.pp-daily-bars{height:150px;padding-top:0}@media(max-width:640px){.pp-daily-bars{height:150px;grid-template-rows:150px}.pp-daily-bars .bar{grid-row:1}}

input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:0}

.pp-review .seg{order:0}.pp-connect-form>.chip{align-self:flex-start}

.pp-mobile-partner{display:flex;flex-direction:column;gap:2px}.pp-mobile-partner small{display:flex;align-items:center;gap:4px;font:400 9.5px var(--sans);color:var(--mute)}.pp-mobile-partner small img{width:70px;height:12px}@media(max-width:640px){.chat{grid-template-rows:auto minmax(300px,1fr)}.threads{align-items:center;align-content:start}.threads .thread{align-self:flex-start}.msg .meta{flex-wrap:wrap}}
.pp-banner{flex-shrink:0}.sbf button.ni{border:0;background:transparent;text-align:left}
.pp-scope select{height:30px;border:0;background:transparent;color:var(--ink);font:inherit;min-height:0;max-width:180px}.pp-scope{padding:0 8px}.pp-mobile-scope{display:none}.pp-treemap.tm2{height:320px;min-height:0;max-height:320px;flex:none}.pp-step-times{height:240px;overflow-y:auto;padding-right:8px}.pp-step-times .hr{padding:8px 0}.pp-presenter{height:100dvh;overflow-y:auto;background:var(--page)}.pp-presenter>header{padding:20px 28px;border-bottom:1px solid var(--line)}.pp-presenter .page{max-width:1240px;margin:auto;display:flex;flex-direction:column;gap:22px}.pp-presenter .pp-brand{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--mute)}.pp-presenter-steps{max-height:none;margin:0;padding:0;overflow:visible}.pp-presenter-steps .pp-live-step{grid-template-columns:32px minmax(0,1fr);align-items:start;padding:18px 0}.pp-presenter-steps p{margin:8px 0}.pp-presenter .ph h1{font-size:44px}.pp-presenter .btn-primary{align-self:flex-start}
@media(max-width:899px){.pp-mobile-scope{display:flex;flex-direction:column;gap:6px;padding:12px 10px}.pp-presenter>header{padding:16px}.pp-presenter .pp-live-grid{grid-template-columns:1fr}.pp-presenter .page{padding:24px 16px 64px}.pp-presenter .ph h1{font-size:30px}}

/* Desktop density follows report sizes; touch devices keep generous controls. */
.btn,.btn-sm{height:32px;min-height:0;white-space:nowrap}.input,.select{height:36px;border-color:var(--field)}.textarea{border-color:var(--field)}
.sb .ni{height:30px}.qf{height:32px}.tb{height:52px;min-height:52px}.scope{height:32px}.seg button{height:30px}.check{min-height:32px}.check input{width:16px;height:16px;accent-color:var(--navy)}
.tab{height:32px}.pp-find{display:none}.pp-kind.on{background:var(--card);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.error{color:var(--coral-ink)}.btn:disabled,[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn:disabled{border-color:var(--field)}
.pp-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink2);white-space:nowrap}.pp-state:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--warm);flex:none}
.pp-state.ready:before,.pp-state.held:before{background:var(--mustard)}.pp-state.reading:before{background:var(--navy2)}.pp-state.connected:before,.pp-state.shared:before{background:var(--navy)}.pp-state.stopped:before,.pp-state.broad:before{background:var(--coral)}
.pp-stopped{border-left:3px solid var(--coral)!important}.pp-live-step.stopped .pp-step-dot{border-color:var(--coral);color:var(--coral-ink)}
.pp-back{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:13px}.pp-back svg{width:14px}
.pp-skeleton{background:var(--sunk);border-radius:8px;min-height:20px}.pp-skeleton-bars{height:170px;display:flex;align-items:flex-end;gap:10px;padding:12px}.pp-skeleton-bars i{background:var(--navy3);opacity:.4;flex:1;border-radius:4px 4px 0 0}
.pp-loading .pp-skeleton{height:120px}.pp-loading .pp-skeleton:first-child{height:32px;width:50%}.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}
.pp-avatar{border-radius:7px;font-weight:600}.pp-week i{background:var(--navy3)}.pp-week.hot i:not(.pp-shared){background:var(--navy)}
.tbl th,.table th{position:sticky;top:0;background:var(--card);z-index:1}.pp-wide{max-width:1400px!important}.pp-ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.pp-paging{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px}.pp-paging .row{flex-wrap:nowrap}
.pp-technical{padding:16px 18px;border-top:1px solid var(--line)}summary{cursor:pointer;min-height:32px;display:flex;align-items:center;gap:8px;font-weight:500}summary:before{content:"+";color:var(--mute)}details[open]>summary:before{content:"−"}summary:focus-visible{outline:2px solid var(--navy)}
.pp-presenter>header{justify-content:flex-start;gap:16px}.pp-presenter{font-size:18px}.pp-presenter .page{max-width:1440px}.pp-presenter .ph h1{font-size:56px}.pp-presenter .pp-live-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.pp-presenter-steps strong{font-size:20px}.pp-presenter-steps .small{font-size:16px}.pp-presenter .ch h3{font-size:20px}.pp-presenter .ch span{font-size:15px}.pp-presenter .pp-map-counter{font-size:64px}.pp-presenter .kpi b{font-size:36px}.pp-presenter .kpi .kl{font-size:14px}
@media(pointer:coarse),(any-pointer:coarse),(max-width:899px){button,.btn,.btn-sm,.tab,.thread,input:not([type=checkbox]):not([type=radio]),select,textarea,.sb .ni,.qf,.seg button,.scope,.linkbtn,.pp-back,summary{min-height:44px}button,.btn,.tab,.thread{min-width:44px}.page a[href],.crumb a[href]{min-height:44px;min-width:44px}.btn{height:auto;white-space:normal}.input,.select{height:44px}.tb{height:auto;min-height:60px}.check{min-height:44px}.check input{width:20px;height:20px}.pp-sheet{height:calc(100dvh / var(--z));max-height:calc(100dvh / var(--z))}.pp-public .pp-brand>a{min-height:44px}.pp-scope select{min-height:44px}.pp-mobile-brand{min-height:44px;min-width:44px;display:inline-flex;align-items:center}}
@media(max-width:899px){.pp-presenter .pp-live-grid{grid-template-columns:1fr}.pp-presenter .ph h1{font-size:30px}.pp-presenter-steps strong{font-size:16px}.pp-presenter .pp-map-counter{font-size:36px}.pp-presenter .ch h3{font-size:16px}.pp-presenter .page{gap:18px}.pp-presenter .small{font-size:13px}}
@media(max-width:640px){.kpis .kpi b{font-size:clamp(22px,7.5vw,30px)}.pp-ellipsis{max-width:100%}.pp-paging{flex-wrap:wrap}.pp-public main.pp-connect-state{grid-template-columns:1fr;max-width:640px}.pp-presenter .kpis{grid-template-columns:1fr 1fr}}
.pp-people-table td{vertical-align:middle}.pp-menu{position:relative}.pp-menu>summary{justify-content:center;width:32px;border:1px solid var(--line2);border-radius:7px}.pp-menu>summary:before{display:none}.pp-menu-body{position:absolute;right:0;top:100%;z-index:8;background:var(--card);border:1px solid var(--field);border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent);padding:16px;width:300px;max-width:calc(100vw - 48px);max-height:460px;overflow:auto}.pp-menu svg{width:16px;height:16px}
@media(max-width:640px){.pp-people-table thead{display:none}.pp-people-table tr{display:grid;grid-template-columns:minmax(0,1fr) 44px;border-bottom:1px solid var(--line);padding:16px;gap:8px}.pp-people-table td{padding:0;border:0;min-width:0}.pp-people-table td:first-child{grid-column:1;grid-row:1}.pp-people-table td:nth-child(2),.pp-people-table td:nth-child(3){grid-column:1}.pp-people-table td:last-child{grid-column:2;grid-row:1/4}.pp-menu>summary{width:44px;min-height:44px}}
.pp-consent{padding:16px;border:1px solid var(--line2);border-radius:8px;background:var(--sunk)}.pp-consent svg{width:18px;height:18px;flex:none;color:var(--navy)}.pp-connect-form .pp-identity-edit{align-self:flex-start;text-align:left}.pp-public main.pp-connect-state{grid-template-columns:1fr;max-width:680px}.pp-connect-form details{padding:10px 0}.pp-connect-form .error{display:flex;gap:8px}.pp-connect-form .error svg{flex:none}.pp-connect-form button.btn{min-height:44px}.pp-connect-form .code{font-family:var(--sans)}
.h2,.h3{font-size:14.5px}.section>.ch h2{font-size:14.5px;font-weight:600}.pp-connect-art p{line-height:1.6}input[type=file]{height:auto;padding:8px;border:1px solid var(--field)}input[type=file]::file-selector-button{border:1px solid var(--field);border-radius:6px;background:var(--card);color:var(--ink);padding:6px 12px;margin-right:10px;font:inherit}

@media(max-width:640px){.kpis .kpi b.pp-long-number{font-size:22px}}

.pp-shell .qf kbd,.pp-shell .ni .ct,.pp-shell .nl{color:var(--mute)}.tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scroll-snap-type:x proximity}.tab{flex:none;border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;scroll-snap-align:start}.tab.on{background:transparent;color:var(--ink);border-color:var(--ink)}

@media(min-width:900px){.pp-presenter .hr span,.pp-presenter .hr em,.pp-presenter .pp-stage-tiles strong{font-size:16px}}
.pp-empty h3{font:600 28px/1.2 var(--display)}
/* Operator import command stays readable on phones. */
.pp-code { display:block; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.7; padding:16px; background:var(--sunk); border:1px solid var(--line2); border-radius:8px; }
.pp-shell .tabs{scroll-snap-type:none}
.pp-connect-art>video{width:100%;height:auto;aspect-ratio:16/9;display:block;object-fit:cover}.pp-consent.row{flex-wrap:nowrap;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5}
.pp-consent.row>span{flex:1;min-width:0}.pp-consent.row>svg{margin-top:2px}
/* Partner themes (lib/partner-themes.ts): the wrapper sets the tokens; these rules are shared by every partner. */
[data-palette]{font-family:var(--sans);color:var(--ink);background:var(--page)}
[data-palette] .pp-connect-form h1{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
[data-palette] .eyebrow{color:var(--accent);font-family:var(--mono)}
[data-palette] .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
[data-palette] .btn-primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}
[data-palette] .pp-consent{background:var(--card);border-color:var(--line);border-left:3px solid var(--mustard)}
[data-palette] .pp-consent svg{color:var(--mustard)}
[data-palette] .input:focus{outline:2px solid var(--accent);outline-offset:1px}
[data-palette] a,[data-palette] .linkbtn{color:var(--accent)}
[data-theme] .pp-partner-logo{height:36px;width:auto;max-width:200px}
[data-theme] .pp-brand small{opacity:.85}
/* Without the Lemonbrand video the page is one centered column. */
[data-video="off"] .pp-connect-art{display:none}
[data-video="off"] main{grid-template-columns:1fr;max-width:560px}
/* Free-audit client pages: one column, the next steps, the language switch. */
.pp-public main.pp-single{grid-template-columns:1fr;max-width:560px}
.pp-lang{font-size:13px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.pp-connect-form .pp-hint{margin-top:-6px}
.pp-steps{margin-top:8px;padding-top:20px;border-top:1px solid var(--line)}
.pp-steps h2{font:600 13px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:0 0 12px}
.pp-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
.pp-steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:14px;line-height:1.5;color:var(--ink2)}
.pp-steps li:before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--sunk);border:1px solid var(--line2);display:grid;place-items:center;font:600 12px/1 var(--sans);color:var(--ink)}
.pp-it{display:grid;gap:10px}.pp-it a{word-break:break-all}
.pp-start-links{margin-bottom:20px}.pp-start-link{display:grid;gap:8px}.pp-start-link .row{flex-wrap:nowrap;gap:10px}.pp-start-link .pp-ellipsis{flex:1;min-width:0;max-width:none;color:var(--ink)}.pp-start-link .chip{flex:none}
/* Partner portal v2: the partner's frame, Home, Start an audit, Your audits, Documents, Earnings.
   Tokens only. PartnerChrome sets the partner's palette; its logo and colours own the top bar, a
   strip of tape in the partner's accent is the one signature element on cards. */
.pp2{--tint:var(--accent,var(--mustard));--tint-soft:var(--mustard-soft)}
.pp-shell .pp2 .page{max-width:1040px}
.pp2-rule{border:0;border-top:1px solid var(--line);margin:10px 10px}
.ni .pp2-badge{margin-left:auto}
.pp2-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--mustard);color:var(--ink);font:600 11.5px var(--sans)}
.pp2-langswitch{display:inline-flex;align-self:flex-start;margin:0 0 10px 8px;padding:2px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.pp2-langswitch span{display:inline-grid;place-items:center;height:22px;line-height:1;padding:0 10px;border-radius:99px;font:600 11px var(--sans);color:var(--mute)}
.pp2-langswitch span.on{background:var(--ink);color:var(--card)}
.pp2 .field>span{font:500 12.5px var(--sans);color:var(--ink2)}
.pp2 .eyebrow{color:var(--tint)}
.pp2 h1.pp2-display{font-size:56px;line-height:1.04;letter-spacing:-.02em;margin:0}
.pp2-lede{font-size:16px;line-height:1.55;color:var(--ink2);max-width:620px;margin:14px 0 0}
/* motion */
@keyframes pp2-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pp2-breathe{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.6);opacity:0}}
.pp2-enter{animation:pp2-rise .22s cubic-bezier(.16,1,.3,1) both}
.pp2-enter>*{animation:pp2-rise .32s cubic-bezier(.16,1,.3,1) both}
.pp2-enter>*:nth-child(2){animation-delay:50ms}.pp2-enter>*:nth-child(3){animation-delay:100ms}.pp2-enter>*:nth-child(4){animation-delay:150ms}.pp2-enter>*:nth-child(5){animation-delay:200ms}
@media(prefers-reduced-motion:reduce){.pp2-enter,.pp2-enter>*{animation:none}.pp2-journey li.now i::after{animation:none}}
/* Home */
.pp2-home .pagehead{margin-bottom:36px}
.pp2-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.page a.pp2-action[href]{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:280px;padding:30px 30px 28px;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;overflow:hidden;box-shadow:0 1px 0 var(--line),0 18px 40px -28px rgba(26,26,28,.35);transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s}
.page a.pp2-action[href]:hover{transform:translateY(-3px);box-shadow:0 1px 0 var(--line),0 26px 50px -26px rgba(26,26,28,.45)}
.page a.pp2-action[href]:active{transform:translateY(1px)}
.pp2-action strong{font:600 30px/1.1 var(--display);letter-spacing:-.01em;margin-top:auto;max-width:12ch}
.pp2-action>span{font-size:15px;line-height:1.5;color:var(--ink2);max-width:34ch;padding-right:56px}
.page a.pp2-action.primary[href]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.pp2-action.primary>span{color:var(--card);opacity:.78}
.page a.pp2-action[href] .pp2-obj{position:absolute;right:-6px;top:-4px;width:auto;height:130px;max-width:62%;object-fit:contain;transform:rotate(-6deg);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.page a.pp2-action[href]:hover .pp2-obj{transform:rotate(-2deg) translateY(4px)}
.pp2-tape{position:absolute;left:26px;top:-7px;width:74px;height:22px;background:var(--tint);opacity:.85;transform:rotate(-4deg);border-radius:2px}
.pp2-go{position:absolute;right:26px;bottom:24px;width:44px;height:44px;border-radius:99px;display:grid;place-items:center;background:var(--tint);color:var(--ink)}
.pp2[data-palette] .pp2-go{color:var(--on-accent)}
.pp2-action.primary .pp2-go{background:var(--card);color:var(--ink)}
.pp2-go svg{width:20px;height:20px}
.pp2-needs{margin-top:40px}
.pp2-quiet{display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:14px;border:1px dashed var(--line2);color:var(--ink2);font-size:16px}
.pp2-quiet img{width:56px;height:56px;object-fit:contain}
.pp2-quiet p{margin:0}
.pp2-morelink{display:inline-block;margin-top:12px;font-size:14px;color:var(--ink)}
/* Groups and story rows */
.pp2-list .pagehead{margin-bottom:22px;align-items:flex-end}
.pp2-group{margin-top:26px}
.pp2-group-title{display:flex;align-items:center;gap:10px;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
.pp2-group-title span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--sunk);color:var(--ink);letter-spacing:0}
.pp2-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pp2-row{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) 210px;gap:24px;align-items:center;padding:20px 22px;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:transform .15s,border-color .15s,box-shadow .15s}
.pp2-row:hover{border-color:var(--line2);box-shadow:0 12px 28px -24px rgba(26,26,28,.5)}
.pp2-row.compact{grid-template-columns:220px minmax(0,1fr) 210px}
.page a.pp2-who[href]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--ink);text-decoration:none;min-width:0;position:static}
.pp2-who::after{content:"";position:absolute;inset:0;border-radius:14px}
.pp2-who strong{font:600 20px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pp2-story{display:flex;flex-direction:column;gap:8px;min-width:0}
.pp2-sentence{margin:0;font-size:15.5px;line-height:1.45;color:var(--ink)}
.pp2-story .small{margin:0}
.pp2-next-action{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center}
.pp2-chevron{width:20px;height:20px;color:var(--mute);pointer-events:none}
.pp2-row.s-attention{background:var(--page);border-style:dashed}
/* The journey: four labelled stops */
.pp2-journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:440px}
.pp2-journey li{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--mute);min-width:0}
.pp2-journey li i{position:relative;display:block;height:5px;border-radius:99px;background:var(--line)}
.pp2-journey li.done i{background:var(--ink)}
.pp2-journey li.now i{background:var(--tint)}
.pp2-journey li.now i::after{content:"";position:absolute;right:-3px;top:-3px;width:11px;height:11px;border-radius:99px;background:var(--tint);animation:pp2-breathe 1.8s ease-out infinite}
.pp2-journey li.done,.pp2-journey li.now{color:var(--ink)}
.pp2-journey li.now span{font-weight:600}
.pp2-journey small{font-size:11.5px;color:var(--ink2);white-space:nowrap}
.s-attention .pp2-journey li.now i,.s-attention .pp2-journey li.now i::after{background:var(--mustard-soft);animation:none}
.pp2-copy{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:300px}
.pp2-url{display:block;font:400 12px var(--mono);color:var(--mute);overflow-wrap:anywhere}
.pp2-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:56px 20px;color:var(--ink2);font-size:16px}
.pp2-empty .pp2-obj{width:120px;height:120px;object-fit:contain}
/* Start an audit */
.pp2-flow{max-width:800px!important}
.pp2-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}
.pp2-rail{height:4px;border-radius:99px;background:var(--sunk);overflow:hidden;max-width:220px}
.pp2-rail i{display:block;height:100%;background:var(--tint);border-radius:99px;transition:width .4s cubic-bezier(.16,1,.3,1)}
.pp2-flow .stack{gap:18px}
.pp2-flow h1.pp2-display,.pp2-hero h1.pp2-display{font-size:44px;margin-bottom:6px}
.pp2-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pp2-choice{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;padding:0 0 20px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);overflow:hidden;min-height:360px;transition:border-color .15s,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s}
.pp2-choice:hover{border-color:var(--line2);transform:translateY(-2px)}
.pp2-choice .pp2-obj{display:block;width:100%;height:150px;object-fit:contain;padding:22px 18px 10px;background:var(--sunk);margin:0 0 8px}
.pp2-choice strong,.pp2-choice>span,.pp2-choice small{margin-left:22px;margin-right:22px}
.pp2-choice strong{font:600 24px/1.2 var(--display)}
.pp2-choice>span{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.pp2-choice small{font-size:12.5px;line-height:1.5;color:var(--mute);margin-top:auto}
.pp2-choice.on{border:2px solid var(--tint);transform:translateY(-4px);box-shadow:0 0 0 4px var(--tint-soft),0 22px 40px -26px rgba(26,26,28,.45)}
.pp2-choice.on::after{content:"✓";position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:99px;display:grid;place-items:center;background:var(--tint);color:var(--ink);font:600 14px var(--sans)}
.pp2[data-palette] .pp2-choice.on::after{color:var(--on-accent)}
.pp2-choice-small{grid-column:1/-1;min-height:0;padding:16px 0}
.pp2-choice-small strong{font-size:16px}
.pp2-tiers{display:flex;flex-wrap:wrap;gap:6px}
.pp2-tier{display:inline-flex;flex-direction:column;gap:1px;padding:6px 10px;border-radius:10px;background:var(--page);border:1px solid var(--line);font-size:12.5px;color:var(--ink);line-height:1.25}
.pp2-tier b{font:500 10.5px var(--mono);color:var(--mute)}
.pp2-next{font-size:14px;color:var(--mute);margin:6px 0 0}
.pp2-next::before{content:"";display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--tint);margin-right:10px;vertical-align:1px}
.pp2-person{border:0;border-top:1px solid var(--line);margin:0;padding:16px 0 4px;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;min-width:0}
.pp2-person legend{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:0}
.pp2-price{font-size:15px;padding:14px 16px;border-radius:10px;background:var(--tint-soft);color:var(--ink);margin:0}
.pp2-low{color:var(--ink)!important}
.pp2-narrow{max-width:280px}
.pp2-success{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pp2-success .pp2-obj{width:96px;height:96px;object-fit:contain}
.pp2-send{gap:12px}
.pp2-message{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.6 var(--sans);color:var(--ink2);background:var(--page);border-radius:10px;padding:14px 16px;border:1px dashed var(--line2)}
.pp2-linklist li{align-items:flex-start}
.pp2-permsg summary{cursor:pointer;font-size:12.5px;color:var(--ink2);margin-top:6px}
.pp2-permsg .pp2-message{margin-top:8px}
.pp2-timeline{list-style:none;margin:16px 0 0;padding:0;display:grid}
.pp2-timeline li{position:relative;padding:0 0 18px 40px;display:flex;flex-direction:column;gap:3px;counter-increment:s}
.pp2-timeline li::before{content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:99px;display:grid;place-items:center;font:500 12px var(--mono);border:1.5px solid var(--line2);background:var(--card);color:var(--mute)}
.pp2-timeline li::after{content:"";position:absolute;left:12.5px;top:28px;bottom:2px;border-left:1.5px dashed var(--line2)}
.pp2-timeline li:last-child::after{display:none}
.pp2-timeline li.done::before{content:"✓";background:var(--ink);border-color:var(--ink);color:var(--card)}
.pp2-timeline li.now::before{background:var(--tint);border-color:var(--tint);color:var(--ink)}
.pp2-timeline strong{font-size:15px}
.pp2-timeline span{font-size:13.5px;color:var(--ink2)}
/* One audit */
.pp2-detail{display:flex;flex-direction:column;gap:18px}
.page a.pp2-back[href]{display:inline-flex;align-self:flex-start;font-size:13.5px;color:var(--mute);text-decoration:none}
.pp2-hero{display:flex;flex-direction:column;gap:10px;padding:6px 0 10px}
.pp2-hero p{margin:0}
.pp2-status.big{font-size:20px;font-weight:500;margin-top:6px}
.pp2-people{list-style:none;margin:0;padding:0}
.pp2-people li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.pp2-people li:last-child{border:0}
.pp2-people li>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pp2-pip{width:10px;height:10px;border-radius:99px;border:2px solid var(--line2);flex:none}
.pp2-pip.on{background:var(--tint);border-color:var(--tint)}
.pp2-notes{list-style:none;margin:0;padding:0}
.pp2-notes li{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.pp2-notes li.open{border-left:3px solid var(--tint);padding-left:12px}
.pp2-notes p{margin:0 0 4px;white-space:pre-wrap;font-size:14px}
.pp2-admin-extra{padding-top:0;display:flex;flex-direction:column;gap:18px}
/* Documents */
.pp2-doclist{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.pp2-doclist li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px;border-radius:14px}
.pp2-doclist strong{font-size:16px}
.pp2-doclist p{margin:2px 0}
.pp2-doc-icon{width:56px;height:56px;object-fit:contain}
.pp2-security{display:flex;gap:18px;align-items:flex-start;margin-top:22px}
.pp2-security .pp2-obj{width:72px;height:72px;object-fit:contain;flex:none}
.pp2-security ul{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink2)}
/* Earnings */
.pp2-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 18px}
.pp2-figures .card{display:flex;flex-direction:column;gap:8px}
.pp2-figures b{font:600 36px/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pp2-share{background:var(--ink)!important;color:var(--card);border-color:var(--ink)!important}
.pp2-share .eyebrow,.pp2-share .small{color:var(--card);opacity:.8}
.pp2-table{width:100%}
/* Admin documents matrix */
.pp2-matrix-wrap{overflow-x:auto}
.pp2-matrix th[scope=row]{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:200px}
.pp2-matrix th[scope=row],.pp2-matrix th[scope=row] *{text-transform:none;letter-spacing:0}
.pp2-matrix th[scope=row] strong{font-size:14px;color:var(--ink)}
.pp2-matrix td{vertical-align:top;min-width:150px}
.pp2-cell{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.pp2-matrix tr.archived{opacity:.55}
@media(max-width:760px){
  .pp2 h1.pp2-display{font-size:36px}
  .pp2-flow h1.pp2-display,.pp2-hero h1.pp2-display{font-size:30px}
  .pp2-actions,.pp2-choices,.pp2-figures{grid-template-columns:1fr}
  .page a.pp2-action[href]{min-height:210px;padding:24px 22px}
  .pp2-action strong{font-size:24px}
  .page a.pp2-action[href] .pp2-obj{height:96px}
  .pp2-choice{min-height:0}
  .pp2-choice .pp2-obj{height:120px}
  .pp2-person{grid-template-columns:1fr}
  .pp2-row,.pp2-row.compact{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;padding:18px}
  .pp2-story{grid-column:1/-1;grid-row:2}
  .pp2-next-action{grid-column:2;grid-row:1}
  .pp2-row.has-action .pp2-next-action{grid-column:1/-1;grid-row:3;justify-content:flex-start}
  .pp2-copy{align-items:flex-start}
  .pp2-doclist li{grid-template-columns:44px minmax(0,1fr)}
  .pp2-doclist li .btn{grid-column:1/-1}
  .pp2-doc-icon{width:44px;height:44px}
  .pp2-linklist li{flex-wrap:wrap}
  .pp2-matrix thead{display:none}
  .pp2-matrix tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}
  .pp2-matrix th[scope=row],.pp2-matrix td{display:block;min-width:0;border:0;padding:6px 14px}
  .pp2-matrix td::before{content:attr(data-label);display:block;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
}
.pp2-actions-pair{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pp2-actions-pair .stack{gap:0}
.pp2-only-phone-inline{display:none!important}
@media(max-width:760px){.pp2-only-phone-inline{display:inline-flex!important}.pp2-actions-pair{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(min-width:900px){.pp2-tb{display:none}}
.sbf .pp2-langswitch{min-height:0;height:auto;width:auto}
.main>.pp2{flex:1 0 auto;min-height:100%;background:var(--page)}
