/* Customer tools: hub, acquisition plan, lead-response test and results review (spec 5.4). Owner: customer tools.
   Tokens only (spec 2). Layout follows each tool's own width through the `tool` container, not only the viewport. */

/* ------------------------------------------------------------------ page */
.tool-page{container:tool/inline-size;display:flex;flex-direction:column;gap:24px;width:100%;max-width:1120px;margin:0 auto;min-width:0;color:var(--text-1)}
.tool-page h1,.tool-page h2,.tool-page h3,.tool-page p{margin:0}
.tool-page :where(ul,ol){margin:0}
.tool-page [hidden]{display:none!important}

/* Legacy classes the tests read (.status-chip, .metric-card) load after the kit in styles.css; keep the kit look here. */
.tool-page .uk-pill.status-chip,.uk-sheet .uk-pill.status-chip{display:inline-flex;margin:0;padding:0 10px;border:0;border-radius:var(--r-full);background:var(--pill-bg);color:var(--pill-text);font:500 13px/16px var(--font-sans)}
.tool-page .uk-pill--sm.status-chip{padding:0 8px;font-size:12px}
.tool-page .uk-pill.status-chip:has(>.uk-icon){padding-left:7px}
.tool-page .uk-pill--sm.status-chip:has(>.uk-icon){padding-left:6px}
.tool-page .uk-kpi.metric-card{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.tool-page .demo-banner{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 12px 12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-1);font:inherit}
.tool-page .demo-banner .uk-banner__actions{margin-left:auto}
.tool-page__foot .storage-note{margin:0;padding-top:16px;border-top:1px solid var(--border);font:400 12px/18px var(--font-sans);color:var(--text-3)}
.tool-page__foot .storage-note a{color:var(--link)}

.tool-plate{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-md);background:var(--green-50);color:var(--green-600);box-shadow:inset 0 0 0 1px var(--green-100)}
.tool-plate--lg{width:48px;height:48px;border-radius:12px}
.tool-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:var(--r-full);background:var(--neutral-solid)}
.tool-dot--success{background:var(--success-solid)}.tool-dot--warning{background:var(--warning-solid)}.tool-dot--danger{background:var(--danger-solid)}.tool-dot--neutral{background:var(--gray-400)}
.tool-banner{margin:0}
.tool-error{align-items:center}
.tool-footnote{display:flex;align-items:flex-start;gap:6px;font:400 13px/18px var(--font-sans);color:var(--text-3)}
.tool-footnote .uk-icon{margin-top:2px;flex:none}
/* KPI labels are the answer's own words: they wrap, never cut off ("Contribution after s…"). */
.tool-page .uk-kpi__label{height:auto;min-height:18px;align-items:flex-start;white-space:normal}
.tool-page .uk-kpi__label>span:first-child{overflow:visible;white-space:normal;text-wrap:pretty}
/* In the example, the "Example" badge shares the label row and was drawing over the tail of the label
   ("Contributi… change"). Give the label the row to itself and let the badge wrap under it. */
.tool-page .uk-kpi.is-sample .uk-kpi__label{flex-wrap:wrap;row-gap:2px}
.tool-page .uk-kpi.is-sample .uk-kpi__label>span:first-child{flex:1 1 100%}
.tool-page .uk-kpi.is-sample .uk-kpi__label>.uk-pill{margin-left:0}
.tool-page .uk-kpi__label>.uk-kpi__info{margin-top:-1px}
@container tool (max-width:640px){
  /* Phone and narrow panes: 2-up tiles, not a sideways carousel that slices the third tile. An odd last tile spans both. */
  .tool-page .uk-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;margin:0;padding:0;-webkit-mask-image:none;mask-image:none;--kpi-gap:10px}
  .tool-page .uk-kpi-strip>.uk-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .tool-page .uk-kpi-strip>.uk-kpi.metric-card{padding:14px}
}
.tool-inline-error{margin:6px 0 0}
/* The import panels open instantly: an opened panel is where the next click goes, and the kit's height transition can
   leave its controls drawn under the content below for a moment when the panel is opened from script. */
.tool-page .uk-disclosure::details-content{transition:none}

/* ------------------------------------------------------------------ head */
/* The head itself is the kit's one page header (uk-page-head): same eyebrow, title and 640px description measure as
   every other route, so a title never moves sideways when the customer changes page. */
/* The head's action cluster is empty on desktop and tablet: the page bar's #page-actions slot holds them there (spec 4.2). */
.tool-head__actions{display:flex;align-items:center;gap:8px}
.tool-head__actions:empty{display:none}
.tool-empty__lede{margin-top:4px!important;font:400 15px/24px var(--font-sans);letter-spacing:-.006em;color:var(--text-2);max-width:68ch;text-wrap:pretty}

/* --------------------------------------------------------------- context */
.tool-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:48px;padding:8px 8px 8px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken)}
.tool-context__biz{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text-3)}
.tool-context__name{font:600 14px/20px var(--font-sans);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}
.tool-context__source{display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--font-sans);color:var(--text-3)}
.tool-context__confirm{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px 0 8px;border-radius:var(--r-full);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border);color:var(--warning-text);font:600 12px/16px var(--font-sans);text-decoration:none;transition:background-color var(--dur-2) var(--ease-out)}
.tool-context__confirm:hover{background:var(--warning-border)}
.tool-context__link{display:inline-flex;align-items:center;gap:2px;margin-left:auto;height:32px;padding:0 8px 0 10px;border-radius:var(--r-sm);font:500 13px/18px var(--font-sans);color:var(--text-2);text-decoration:none}
.tool-context__link:hover{background:var(--hover);color:var(--text-1)}

/* ================================================================== hub */
.tool-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 24px 24px 27px;box-shadow:inset 3px 0 0 var(--green-500),var(--shadow-card)}
.tool-hero__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tool-hero__eyebrow{display:flex;align-items:center;gap:8px;font:500 13px/18px var(--font-sans);color:var(--link)}
.tool-hero__title{font:var(--t-h2);letter-spacing:-.015em;font-variation-settings:"opsz" 32;text-wrap:balance}
.tool-hero__reason{font:400 15px/24px var(--font-sans);color:var(--text-2);max-width:68ch;text-wrap:pretty}
.tool-hero__measure{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px!important;font:400 14px/20px var(--font-sans);color:var(--text-2)}
.tool-hero__measure span{font-weight:600;color:var(--text-1)}
.tool-hero__actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}

.tool-hub .tool-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 16px}
.tool-section{display:flex;flex-direction:column;gap:12px;min-width:0}
.tool-section--plan{grid-column:span 4}.tool-section--build{grid-column:span 2}.tool-section--prove,.tool-section--measure{grid-column:span 3}
.tool-section__label{font:500 13px/18px var(--font-sans);color:var(--text-3)}
.tool-section__cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;flex:1}
.tool-card{display:flex;flex-direction:column;gap:6px;min-width:0;height:100%;padding:20px;text-decoration:none;color:inherit}
.tool-card__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.tool-card__chev{color:var(--gray-400);transition:transform var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}
.tool-card:hover .tool-card__chev{color:var(--text-1);transform:translateX(2px)}
.tool-card__title{font:600 18px/24px var(--font-sans);letter-spacing:-.01em;color:var(--text-1)}
.tool-card__job{font:400 14px/20px var(--font-sans);color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.tool-card__status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font:500 13px/18px var(--font-sans);color:var(--text-2);min-height:48px}
.tool-card__status .uk-pill{flex:none}
.tool-card__sep,.tool-card__when{color:var(--text-3)}
.tool-business{display:none}

@container tool (max-width:900px){
  .tool-hub .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool-section--plan,.tool-section--measure{grid-column:span 2}
  .tool-section--build,.tool-section--prove{grid-column:span 1}
  .tool-hero{grid-template-columns:auto minmax(0,1fr)}
  .tool-hero__actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
}
@container tool (max-width:600px){
  .tool-hub .tool-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .tool-section--plan,.tool-section--build,.tool-section--prove,.tool-section--measure{grid-column:auto}
  .tool-section__cards{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);gap:8px}
  .tool-card{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;grid-template-areas:"plate title chev" "plate status status";column-gap:12px;row-gap:2px;align-items:center;min-height:72px;padding:14px 14px}
  .tool-card__top{display:contents}
  .tool-card__top .tool-plate{grid-area:plate}
  .tool-card__chev{grid-area:chev}
  .tool-card__title{grid-area:title;font-size:16px;line-height:22px}
  .tool-card__job{display:none}
  .tool-card__status{grid-area:status;margin:0;padding:0;border:0;min-height:0;font-size:13px}
  .tool-business{display:flex;flex-direction:column;gap:8px}
  .tool-business__row{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;gap:12px;align-items:center;min-height:64px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:inherit;text-decoration:none}
  .tool-business__row strong{display:block;font:600 15px/20px var(--font-sans)}
  .tool-business__row small{display:block;font:400 13px/18px var(--font-sans);color:var(--text-3)}
  .tool-business__row>.uk-icon{color:var(--gray-400)}
  .tool-hero{grid-template-columns:minmax(0,1fr);padding:20px 18px 20px 21px}
  .tool-hero>.tool-plate{display:none}
  .tool-hero__actions{flex-direction:column}
}

/* ---------------------------------------------------------- empty per tool */
.tool-empty{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:32px;align-items:center;padding:32px}
.tool-empty__title{font:var(--t-h3);letter-spacing:-.01em;font-variation-settings:"opsz" 24;text-wrap:balance}
.tool-empty__points{display:flex;flex-direction:column;gap:10px;margin-top:16px!important;padding:0;list-style:none}
.tool-empty__points li{display:flex;align-items:flex-start;gap:10px;font:400 15px/22px var(--font-sans);color:var(--text-2)}
.tool-empty__points .uk-icon{flex:none;margin-top:3px;color:var(--green-500)}
.tool-empty__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tool-empty__art{min-width:0}
.tool-art{display:block;width:100%;height:auto}
.tool-art .art-card{fill:var(--surface-sunken);stroke:var(--border)}
.tool-art .art-ink{fill:var(--gray-800)}
.tool-art .art-muted{fill:var(--gray-150)}
.tool-art .art-muted-dot{fill:var(--gray-300)}
.tool-art .art-ok{fill:var(--green-500)}
.tool-art .art-bad{fill:var(--danger-solid)}
.tool-art .art-check{fill:none;stroke:var(--on-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.tool-art .art-track{fill:var(--gray-150)}
.tool-art .art-good{fill:var(--green-200)}
.tool-art .art-warn{fill:var(--warning-border)}
.tool-art .art-dot{fill:var(--surface);stroke:var(--gray-900);stroke-width:2}
.tool-art .art-tile{fill:var(--surface);stroke:var(--border)}
.tool-art .art-track-ring{fill:none;stroke:var(--gray-150);stroke-width:10}
.tool-art .art-ring{fill:none;stroke:var(--green-500);stroke-width:10;stroke-linecap:round}
.tool-art .art-neutral{fill:var(--chart-neutral)}
.tool-art .art-spend{fill:var(--chart-spend)}
.tool-art .art-connector{fill:none;stroke:var(--border-strong);stroke-dasharray:3 3}
@container tool (max-width:680px){
  .tool-empty{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px}
  .tool-empty__art{order:-1;max-width:280px}
}

/* How this works sheet */
.tool-how{display:flex;flex-direction:column;margin:0}
.tool-how__row{padding:14px 0;border-top:1px solid var(--border)}
.tool-how__row:first-child{border-top:0;padding-top:0}
.tool-how dt{font:600 14px/20px var(--font-sans);color:var(--text-1)}
.tool-how dd{margin:4px 0 0;font:400 14px/22px var(--font-sans);color:var(--text-2)}

/* ------------------------------------------------------------- save bar */
.tool-savebar{position:sticky;bottom:calc(var(--tabbar-offset,0px) + 12px);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:10px 10px 10px 16px;border:1px solid var(--frost-border);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:var(--frost-filter);backdrop-filter:var(--frost-filter);box-shadow:var(--shadow-raised)}
.tool-savebar__status{display:flex;align-items:center;gap:8px;min-width:0;font:500 13px/18px var(--font-sans);color:var(--text-3)}
.tool-savebar__status .uk-icon{flex:none;color:var(--success-solid)}
.tool-savebar__status.is-dirty{color:var(--text-2)}
.tool-savebar__status.is-warning{color:var(--warning-text)}
.tool-savebar__status.is-warning .uk-icon{color:var(--warning-solid)}
.tool-savebar__actions{display:flex;align-items:center;gap:8px;flex:none}
/* Toasts rise above the sticky save bar so a confirmation never covers the next Save. */
@media (min-width:768px){body:has(.tool-page .tool-savebar) #notice.uk-toasts{bottom:92px}}
/* A field tabbed to, or scrolled to by the browser, never comes to rest under the sticky save bar. */
html:has(.tool-page .tool-savebar){scroll-padding-bottom:96px}
@media (max-width:767px){html:has(.tool-page .tool-savebar){scroll-padding-bottom:calc(56px + env(safe-area-inset-bottom) + 78px)}}

/* ===================================================== acquisition plan */
.acq-answer{display:flex;flex-direction:column;gap:12px}
.acq-verdict{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,380px);grid-template-areas:"icon text chart";gap:20px 24px;align-items:start;padding:24px}
.acq-verdict__icon{grid-area:icon;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-full);background:var(--neutral-bg);color:var(--neutral-solid)}
.acq-verdict--success .acq-verdict__icon{background:var(--success-bg);color:var(--success-solid)}
.acq-verdict--danger .acq-verdict__icon{background:var(--danger-bg);color:var(--danger-solid)}
.acq-verdict--warning .acq-verdict__icon{background:var(--warning-bg);color:var(--warning-solid)}
.acq-verdict__text{grid-area:text;display:flex;flex-direction:column;gap:8px;min-width:0}
.acq-verdict__meta{display:flex;flex-wrap:wrap;gap:6px}
.acq-verdict__title{display:flex;align-items:center;gap:10px;font:var(--t-h2);letter-spacing:-.015em;font-variation-settings:"opsz" 32}
.acq-verdict__inline-icon{display:none;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--r-full);background:var(--neutral-bg);color:var(--neutral-solid)}
.acq-verdict--success .acq-verdict__inline-icon{background:var(--success-bg);color:var(--success-solid)}
.acq-verdict--danger .acq-verdict__inline-icon{background:var(--danger-bg);color:var(--danger-solid)}
.acq-verdict--warning .acq-verdict__inline-icon{background:var(--warning-bg);color:var(--warning-solid)}
.acq-verdict__sentence{font:400 15px/24px var(--font-sans);color:var(--text-2);max-width:60ch;text-wrap:pretty}
.acq-verdict__capacity{display:flex;align-items:center;gap:8px;font:500 14px/20px var(--font-sans);color:var(--text-2)}
.acq-verdict__capacity .uk-icon{flex:none}
.acq-verdict__capacity--success .uk-icon{color:var(--success-solid)}
.acq-verdict__capacity--warning{color:var(--warning-text)}
.acq-verdict__capacity--warning .uk-icon{color:var(--warning-solid)}
.acq-verdict__capacity--neutral .uk-icon{color:var(--text-3)}
.acq-needs{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.acq-needs__chip{cursor:pointer}
.acq-needs__chip .uk-icon{color:var(--link)}
.acq-verdict__chart{grid-area:chart;display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border-radius:var(--r-md);background:var(--surface-sunken);border:1px solid var(--border)}
.acq-verdict__chart-title{font:500 13px/18px var(--font-sans);color:var(--text-3)}
.acq-verdict__chart .uk-chart{margin:0}
.acq-tiles .uk-kpi-strip{--kpi-min:180px}
.acq-capacity{margin-top:10px}
.acq-capacity .uk-meter__label{font-size:12px;color:var(--text-3)}
.acq-capacity .uk-meter__value{font-size:12px}
@container tool (max-width:880px){
  .acq-verdict{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text" "chart chart"}
}
@container tool (max-width:560px){
  .acq-verdict{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "chart";gap:16px;padding:18px}
  .acq-verdict__icon{display:none}
  .acq-verdict__inline-icon{display:inline-grid}
  .acq-verdict__title{font-size:22px;line-height:28px}
  .acq-verdict__sentence{font-size:14px;line-height:22px}
}

.acq-answer-end{height:0;margin-top:-24px;pointer-events:none}
.acq-vbar{position:sticky;top:calc(var(--sticky-top) + 8px);z-index:var(--z-sticky);display:flex;justify-content:center;height:0;margin-top:-24px;pointer-events:none}
.acq-vbar__button{display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 16px);height:44px;padding:0 12px 0 6px;border:1px solid var(--frost-border);border-radius:var(--r-full);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-filter);backdrop-filter:var(--frost-filter);box-shadow:var(--shadow-raised);font:500 14px/20px var(--font-sans);color:var(--text-1);cursor:pointer;opacity:0;transform:translateY(-8px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out);white-space:nowrap;overflow:hidden}
.acq-vbar.is-visible .acq-vbar__button{opacity:1;transform:none;pointer-events:auto}
.acq-vbar__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-full);background:var(--neutral-bg);color:var(--neutral-solid);flex:none}
.acq-vbar__icon--success{background:var(--success-bg);color:var(--success-solid)}
.acq-vbar__icon--danger{background:var(--danger-bg);color:var(--danger-solid)}
.acq-vbar__icon--warning{background:var(--warning-bg);color:var(--warning-solid)}
.acq-vbar__detail{color:var(--text-2);overflow:hidden;text-overflow:ellipsis}
.acq-vbar__jump{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding-left:10px;border-left:1px solid var(--border);color:var(--text-3);font-size:13px}

.acq-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
/* With nothing to save the bar waits at the end of the form instead of floating over the field the page is asking you
   to fill (it was covering the lead-to-customer rate). The first change makes it follow you again. */
@media (min-width:768px){#acquisition-savebar:not(:has(.is-dirty,.is-warning)){position:static}}
.acq-inputs{display:flex;flex-direction:column;gap:16px;min-width:0}
.acq-side{position:sticky;top:calc(var(--sticky-top) + 24px);display:flex;flex-direction:column;gap:16px;min-width:0}
.acq-side__body{display:flex;flex-direction:column;gap:16px}
/* Split layout: the answer rides at the top of the sticky side column, so the floating verdict bar isn't needed. */
@container tool (min-width:961px){.acq-vbar{display:none}}
.acq-decision{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-areas:"icon text" "track track";gap:10px 12px;align-items:center;margin:-4px -4px 16px;padding:12px;border-radius:var(--r-md);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border)}
.acq-decision__icon{grid-area:icon;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-full);background:var(--neutral-bg);color:var(--neutral-solid)}
.acq-decision--success .acq-decision__icon{background:var(--success-bg);color:var(--success-solid)}
.acq-decision--danger .acq-decision__icon{background:var(--danger-bg);color:var(--danger-solid)}
.acq-decision--warning .acq-decision__icon{background:var(--warning-bg);color:var(--warning-solid)}
.acq-decision__text{grid-area:text;min-width:0}
.acq-decision__title{font:600 15px/20px var(--font-sans);letter-spacing:-.006em;color:var(--text-1)}
.acq-decision__detail{font:500 13px/18px var(--font-sans);color:var(--text-2)}
.acq-decision__track{grid-area:track;position:relative;display:block;height:6px;border-radius:var(--r-full);background:var(--gray-150)}
.acq-decision__track>span{position:absolute;inset:0 auto 0 0;width:var(--pct);border-radius:inherit;background:var(--success-solid);transition:width var(--dur-3) var(--ease-out)}
.acq-decision__track--danger>span{background:var(--danger-solid)}
.acq-decision__track>i{position:absolute;left:var(--at);top:-4px;width:2px;height:14px;margin-left:-1px;border-radius:1px;background:var(--text-1)}
@container tool (max-width:960px){
  .acq-split{grid-template-columns:minmax(0,1fr)}
  .acq-side{position:static}
  .acq-decision{display:none}
  /* Stacked order (spec 5.4 P0-2 phone): limits and funnel first, the what-if last. */
  .acq-whatif{order:2}
}
.acq-section{padding:0}
.acq-section__head{padding:20px 20px 0}
.acq-section__title{font:600 16px/24px var(--font-sans);letter-spacing:-.006em}
.acq-section__hint{margin-top:2px!important;font:400 13px/18px var(--font-sans);color:var(--text-3)}
.acq-section__body{display:flex;flex-direction:column;gap:20px;padding:16px 20px 20px}
.acq-section .uk-field--slider{width:100%}
/* An empty money field reads "Not sure", not "$Not sure": the currency sign shows once there is an amount. */
.tool-page .uk-input-group:has(>input:placeholder-shown)>.uk-affix--prefix{display:none}
.tool-page .uk-input-group:has(>input:placeholder-shown)>input{padding-left:12px}
.acq-section .uk-input-group:has(>input[data-uk-number]:placeholder-shown){border-style:dashed;background:var(--surface-sunken);box-shadow:none}
.acq-section .uk-input-group:has(>input[data-uk-number]:placeholder-shown):focus-within{border-style:solid;background:var(--surface)}
.acq-grid{display:grid;gap:16px;min-width:0}
.acq-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.acq-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.acq-grid--1{grid-template-columns:minmax(0,1fr)}
@container tool (max-width:640px){.acq-grid--3,.acq-grid--2{grid-template-columns:minmax(0,1fr)}}
.acq-grid .uk-field--number .uk-input-group{max-width:none}

.acq-card{padding:20px}
.acq-card__title{margin-bottom:12px!important;font:600 15px/22px var(--font-sans);letter-spacing:-.006em}
.acq-card__caption{margin-top:10px!important;font:400 13px/18px var(--font-sans);color:var(--text-3)}
.acq-limits{padding:0;list-style:none}
.acq-limit{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:12px;align-items:center;min-height:48px;border-top:1px solid var(--border)}
.acq-limit:first-child{border-top:0;min-height:40px}
.acq-limit__label{font:400 14px/20px var(--font-sans);color:var(--text-2)}
.acq-limit__value{font:600 15px/20px var(--font-sans);color:var(--text-1);white-space:nowrap}
.acq-limit__spacer{width:28px}

/* ===================================================== lead-response test */
.rt-report{display:flex;flex-direction:column;gap:12px}
.rt-first{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;padding:24px}
.rt-first__title{font:var(--t-h3);letter-spacing:-.01em;font-variation-settings:"opsz" 24}
.rt-first__steps{display:flex;flex-direction:column;gap:8px;margin-top:12px!important;padding:0;list-style:none;counter-reset:rt}
.rt-first__steps li{display:flex;gap:12px;align-items:flex-start;font:400 15px/22px var(--font-sans);color:var(--text-2);counter-increment:rt}
.rt-first__steps li::before{content:counter(rt);display:grid;place-items:center;flex:none;width:22px;height:22px;margin-top:0;border-radius:var(--r-full);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-strong);font:600 12px/16px var(--font-sans);color:var(--text-2);font-variant-numeric:tabular-nums}

.rt-split{display:grid;grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:24px;align-items:stretch}
.rt-side{min-width:0}
.rt-side>.rt-live{position:sticky;top:calc(var(--sticky-top) + 24px)}
@container tool (max-width:960px){
  .rt-split{grid-template-columns:minmax(0,1fr)}
  .rt-side>.rt-live{position:static}
}
.rt-form{display:flex;flex-direction:column;gap:12px;min-width:0}

.rt-step{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-3) var(--ease-out)}
.rt-step.is-current:not(.is-collapsed){box-shadow:0 0 0 1px var(--border-strong),var(--shadow-raised)}
.rt-step__head{margin:0;font:inherit}
.rt-step__toggle{display:grid;grid-template-columns:28px minmax(0,auto) minmax(0,1fr) 16px;gap:14px;align-items:center;width:100%;min-height:64px;padding:12px 16px;border:0;border-radius:var(--r-lg);background:none;color:inherit;text-align:left;cursor:pointer}
.rt-step__toggle:hover{background:var(--gray-25)}
.rt-step__node{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-full);box-shadow:inset 0 0 0 1px var(--border-strong);font:600 13px/16px var(--font-sans);color:var(--text-2);font-variant-numeric:tabular-nums;transition:background-color var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}
.rt-step.is-current .rt-step__node{box-shadow:inset 0 0 0 2px var(--green-500);color:var(--green-700)}
.rt-step.is-done .rt-step__node{background:var(--green-500);box-shadow:none;color:var(--on-accent)}
.rt-step__label{display:flex;flex-direction:column;min-width:0}
.rt-step__count{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-step__title{font:600 16px/22px var(--font-sans);letter-spacing:-.006em;white-space:nowrap}
.rt-step__summary{justify-self:end;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px/18px var(--font-sans);color:var(--text-3)}
.rt-step__chev{color:var(--text-3);transition:transform var(--dur-3) var(--ease-out)}
.rt-step.is-collapsed .rt-step__chev{transform:rotate(-90deg)}
.rt-step__body{display:flex;flex-direction:column;gap:18px;padding:4px 20px 20px 58px}
.rt-step__foot{display:flex;justify-content:flex-end;padding-top:4px}
.rt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.rt-routes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:-8px}
.rt-routes__label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-target{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.rt-target .uk-field__hint{position:absolute;top:100%;white-space:nowrap}
.rt-target .uk-field{padding-bottom:22px}
.rt-target__chips{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:26px}
.tool-page .uk-chip.is-on{background:var(--selected-bg);box-shadow:inset 0 0 0 1px var(--green-500);color:var(--green-900);font-weight:600}

.rt-clock{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding:20px 24px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken)}
.rt-ring{position:relative;width:196px;height:196px;flex:none}
.rt-ring svg{display:block}
.rt-ring__track{fill:none;stroke:var(--gray-150)}
.rt-ring__arc{fill:none;stroke:var(--gray-300);transition:stroke-dashoffset 250ms linear,stroke var(--dur-3) var(--ease-out)}
.rt-ring--ok .rt-ring__arc{stroke:var(--green-500)}
.rt-ring--warn .rt-ring__arc{stroke:var(--warning-solid)}
.rt-ring--over .rt-ring__arc{stroke:var(--danger-solid)}
.rt-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.rt-ring__time{font:650 44px/48px var(--font-sans);letter-spacing:-.03em;font-variation-settings:"opsz" 32;color:var(--text-1)}
.rt-ring--over .rt-ring__time{color:var(--danger-text)}
.rt-ring--noreply .rt-ring__time{font-size:28px;line-height:34px;letter-spacing:-.02em}
.rt-no-reply{display:contents}
.rt-ring__target{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-clock__panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.rt-clock__text{font:500 16px/24px var(--font-sans);color:var(--text-1);text-wrap:pretty}
.rt-clock__sub{font:600 13px/18px var(--font-sans);color:var(--text-2)}
.rt-ring--over~.rt-clock__panel .rt-clock__sub{color:var(--danger-text)}
.rt-clock__times{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0}
.rt-clock__times div{display:flex;gap:6px;align-items:baseline}
.rt-clock__times dt{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-clock__times dd{margin:0;font:600 13px/18px var(--font-sans);color:var(--text-1)}
.rt-clock__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rt-clock__actions:empty{display:none}
.rt-clock__panel .uk-chart{width:100%;margin:0}
.rt-go{appearance:none;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 24px 0 20px;border:0;border-radius:var(--r-full);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--green-200);color:var(--green-800);font:600 16px/20px var(--font-sans);letter-spacing:-.006em;cursor:pointer;transition:background-color var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.rt-go .uk-icon{color:var(--green-600)}
.rt-go:hover{background:var(--green-100);box-shadow:inset 0 0 0 1px var(--green-300)}
.rt-go:active{transform:scale(.97)}
.rt-go:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}
.rt-manual>summary{width:max-content}

.rt-checks{display:flex;flex-direction:column}
.rt-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}
.rt-check:first-child{border-top:0;padding-top:0}
.rt-check__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.rt-check__title{font:600 14px/20px var(--font-sans);color:var(--text-1)}
.rt-check__hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}
.rt-check__note{grid-column:1/-1}
.rt-check__suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px!important;font:500 12px/16px var(--font-sans);color:var(--text-2)}
.rt-check__suggest .uk-icon{color:var(--text-3)}
.rt-check .uk-seg__item[data-value="Passed"]:has(input:checked){color:var(--green-600)}
.rt-check .uk-seg__item[data-value="Failed"]:has(input:checked){color:var(--danger-text)}
.rt-check[data-invalid] .rt-check__title{color:var(--danger-text)}
.rt-check>.tool-inline-error{grid-column:1/-1;margin:0}
.rt-repair{display:flex;flex-direction:column;gap:14px;padding:16px 16px 16px 19px;border-radius:var(--r-lg);background:var(--surface-sunken);box-shadow:inset 3px 0 0 var(--danger-solid),inset 0 0 0 1px var(--border)}
.rt-repair__title{display:flex;align-items:center;gap:8px;font:600 15px/22px var(--font-sans)}
.rt-repair__title .uk-icon{color:var(--danger-solid)}
.rt-retest .uk-chips{gap:8px}

.rt-savebar .tool-savebar__status{font-variant-numeric:tabular-nums}
.rt-savebar #rt-bar-next{display:none}

.rt-live{display:flex;flex-direction:column;gap:16px;padding:20px}
.rt-live__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rt-live__eyebrow{font:500 13px/18px var(--font-sans);color:var(--text-3)}
.rt-live__id{margin-top:2px!important;color:var(--text-1);font-weight:600}
.rt-live .uk-chart{margin:0}
.rt-live .uk-timeline{margin:0}
.rt-live__value{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px 8px;align-items:start;padding-top:14px;border-top:1px solid var(--border);font:400 13px/18px var(--font-sans);color:var(--text-2)}
.rt-live__value .uk-icon{grid-column:1;margin-top:1px;color:var(--text-3)}
.rt-live__value>span{grid-column:2}
.rt-live__value>.uk-pill{grid-column:2;justify-self:start}
.rt-ai .uk-disclosure__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rt-ai .uk-field{width:100%}
.rt-ai__body{font:400 14px/20px var(--font-sans);color:var(--text-2)}
.tool-ai__provider{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px 8px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-1);text-decoration:none;transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}
.tool-ai__provider:hover{background:var(--gray-25);border-color:var(--border-strong)}
.tool-ai__provider-text{display:flex;flex-direction:column;min-width:0}
.tool-ai__provider-text strong{font:600 14px/20px var(--font-sans)}
.tool-ai__provider-text small{font:400 12px/16px var(--font-sans);color:var(--text-3)}
.tool-ai__provider>.uk-icon{margin-left:auto;flex:none;color:var(--text-3)}
.tool-ai__works{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font:500 12px/16px var(--font-sans);color:var(--text-3)}

.rt-history{display:flex;flex-direction:column;gap:10px}
.rt-history__head{display:flex;align-items:center;gap:8px}
.rt-history__title{font:var(--t-h3);letter-spacing:-.01em;font-variation-settings:"opsz" 24}
.rt-history__empty{padding:20px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);font:400 14px/20px var(--font-sans);color:var(--text-3);text-align:center}
.rt-history__cols,.rt-row__summary{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(0,1.4fr) 112px minmax(120px,150px) 72px 104px 16px;gap:12px;align-items:center}
.rt-history__cols{padding:0 56px 0 17px;font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-history__cols span:last-child{grid-column:span 2}
.rt-history__list{display:flex;flex-direction:column;gap:8px;padding:0;list-style:none}
.rt-row{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.rt-row__summary{min-height:60px;padding:10px 56px 10px 16px;list-style:none;cursor:pointer;border-radius:var(--r-lg);font:400 14px/20px var(--font-sans)}
.rt-row__summary::-webkit-details-marker{display:none}
.rt-row__summary:hover{background:var(--gray-25)}
.rt-row__test{display:flex;flex-direction:column;min-width:0}
.rt-row__id{font-weight:600;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-row__retest{display:inline-flex;align-items:center;gap:4px;font:500 12px/16px var(--font-sans);color:var(--text-3);white-space:nowrap}
.rt-row__route{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-row__time{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--text-1);font-weight:500}
.rt-row__muted,.rt-row__brief,.rt-row__date{color:var(--text-3);font-size:13px;white-space:nowrap}
.rt-row__chev{color:var(--text-3);transition:transform var(--dur-3) var(--ease-out)}
.rt-row__details[open] .rt-row__chev{transform:rotate(180deg)}
.rt-row__menu{position:absolute;top:12px;right:10px}
.rt-row.is-voided .rt-row__id{text-decoration:line-through;color:var(--text-3)}
.rt-row.is-voided .rt-row__route,.rt-row.is-voided .rt-row__time{opacity:.6}
.rt-row.is-retest{margin-left:24px}
.rt-row.is-retest::before{content:"";position:absolute;left:-16px;top:-9px;width:12px;height:39px;border-left:1.5px solid var(--border-strong);border-bottom:1.5px solid var(--border-strong);border-bottom-left-radius:8px}
.rt-row__body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px 24px;padding:4px 16px 16px;border-top:1px solid var(--border);padding-top:14px}
.rt-row__voided{grid-column:1/-1;display:flex;align-items:center;gap:6px;font:500 13px/18px var(--font-sans);color:var(--text-2)}
.rt-row__checks{display:flex;flex-direction:column;gap:8px;padding:0;list-style:none}
.rt-row__check{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:8px;font:400 13px/18px var(--font-sans)}
.rt-row__check .uk-icon{grid-row:span 2;margin-top:1px;color:var(--text-3)}
.rt-row__check--success .uk-icon{color:var(--success-solid)}
.rt-row__check--danger .uk-icon{color:var(--danger-solid)}
.rt-row__check-title{color:var(--text-1);font-weight:500}
.rt-row__check-note{color:var(--text-3)}
.rt-row__facts{display:flex;flex-direction:column;gap:10px;margin:0}
.rt-row__facts dt{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rt-row__facts dd{margin:2px 0 0;font:400 13px/18px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}
.rt-minibar{position:relative;display:inline-block;width:56px;height:6px;border-radius:var(--r-full);background:var(--gray-150);flex:none}
.rt-minibar>span{position:absolute;left:0;top:0;bottom:0;width:var(--pct);border-radius:inherit;background:var(--gray-400)}
.rt-minibar--success>span{background:var(--success-solid)}
.rt-minibar--warning>span{background:var(--warning-solid)}
.rt-minibar--danger>span{background:var(--danger-solid)}
.rt-minibar>i{position:absolute;left:var(--at);top:-3px;width:1.5px;height:12px;border-radius:1px;background:var(--text-1)}

@container tool (max-width:860px){
  .rt-history__cols{display:none}
  .rt-row__summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"test result" "route route" "time date";row-gap:6px;padding:12px 52px 12px 14px}
  .rt-row__test{grid-area:test}.rt-row__result{grid-area:result;justify-self:end}.rt-row__route{grid-area:route}.rt-row__time{grid-area:time}.rt-row__date{grid-area:date;justify-self:end}
  .rt-row__brief,.rt-row__chev{display:none}
  .rt-row__body{grid-template-columns:minmax(0,1fr)}
  .rt-row.is-retest{margin-left:14px}
  .rt-row.is-retest::before{left:-10px;width:8px}
}
@container tool (max-width:640px){
  .rt-step__body{padding:0 16px 16px}
  .rt-step__toggle{grid-template-columns:28px minmax(0,1fr) 16px;gap:12px;padding:12px 14px}
  .rt-step__summary{grid-column:2;grid-row:2;justify-self:start;margin-top:-4px}
  .rt-step:not(.is-collapsed) .rt-step__summary{display:none}
  .rt-step__chev{grid-column:3;grid-row:1}
  .rt-grid{grid-template-columns:minmax(0,1fr)}
  .rt-clock{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:20px 16px}
  .rt-clock__panel{align-items:center}
  .rt-clock__actions{flex-direction:column;align-items:stretch;width:100%}
  .rt-go{justify-content:center;width:100%;padding:0 16px;font-size:15px}
  .rt-check{grid-template-columns:minmax(0,1fr)}
  .rt-check__control{min-width:0}
  .rt-check__control .uk-seg--block,.rt-check__control .uk-seg{width:100%}
  .rt-first{grid-template-columns:minmax(0,1fr);padding:20px}
  .rt-first>.tool-plate{display:none}
}

/* ========================================================= results review */
.rv-layout{display:grid;grid-template-columns:minmax(220px,3fr) minmax(0,9fr);gap:24px;align-items:start}
.rv-layout--solo{grid-template-columns:minmax(0,1fr)}
.rv-main{min-width:0}
.rv-rail{position:sticky;top:calc(var(--sticky-top) + 24px);display:flex;flex-direction:column;gap:10px;min-width:0}
.rv-rail__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}
.rv-rail__title{display:flex;align-items:center;gap:8px;font:600 14px/20px var(--font-sans);color:var(--text-2)}
.rv-list{display:flex;flex-direction:column;gap:4px;padding:0;list-style:none}
.rv-item{appearance:none;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;padding:10px 12px;border:0;border-radius:var(--r-md);background:none;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-2) var(--ease-out)}
.rv-item:hover{background:var(--hover)}
.rv-item.is-active{background:var(--selected-bg);box-shadow:inset 0 0 0 1px var(--green-100)}
.rv-item__name{font:500 14px/20px var(--font-sans);color:var(--text-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-item.is-active .rv-item__name{font-weight:600;color:var(--green-900)}
.rv-item__meta{font:400 12px/16px var(--font-sans);color:var(--text-3)}
.rv-item__chip{margin-top:4px}
.rv-rail__csv{appearance:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:none;color:var(--text-2);font:500 13px/18px var(--font-sans);cursor:pointer}
.rv-rail__csv:hover{background:var(--hover);color:var(--text-1)}
@container tool (max-width:860px){
  .rv-layout{grid-template-columns:minmax(0,1fr);gap:16px}
  .rv-rail{position:static;flex-direction:row;align-items:center;gap:8px;overflow:hidden}
  .rv-rail__head{flex:none}
  .rv-rail__title{display:none}
  .rv-list{flex-direction:row;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px;margin:-2px;-webkit-mask-image:linear-gradient(90deg,black calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,black calc(100% - 24px),transparent)}
  .rv-list::-webkit-scrollbar{display:none}
  .rv-item{display:flex;align-items:center;gap:8px;width:auto;max-width:260px;height:36px;padding:0 6px 0 12px;border-radius:var(--r-full);box-shadow:inset 0 0 0 1px var(--border);scroll-snap-align:start;white-space:nowrap}
  .rv-item.is-active{box-shadow:inset 0 0 0 1px var(--green-500)}
  .rv-item__name{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px}
  .rv-item__meta{display:none}
  .rv-item__chip{margin:0}
  .rv-rail__csv{flex:none;height:36px}
  .rv-rail__csv span{display:none}
}

.rv-report{display:flex;flex-direction:column;gap:16px;scroll-margin-top:calc(var(--sticky-top) + 16px)}
.rv-report__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.rv-report__heading{display:flex;flex-direction:column;gap:4px;min-width:0}
.rv-report__eyebrow{display:flex;align-items:center;gap:6px;font:500 13px/18px var(--font-sans);color:var(--text-3)}
.rv-report__title{font:var(--t-h2);letter-spacing:-.015em;font-variation-settings:"opsz" 32;text-wrap:balance}
.rv-report__recorded{font:400 12px/16px var(--font-sans);color:var(--text-3)}
.rv-report__actions{display:flex;align-items:center;gap:8px}
.rv-verdict{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 20px;align-items:start;padding:24px}
.rv-verdict__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-full);background:var(--neutral-bg);color:var(--text-2)}
.rv-verdict--success .rv-verdict__icon{background:var(--success-bg);color:var(--success-solid)}
.rv-verdict--danger .rv-verdict__icon{background:var(--danger-bg);color:var(--danger-solid)}
.rv-verdict__text{display:flex;flex-direction:column;gap:8px;min-width:0}
.rv-verdict__meta{display:flex;flex-wrap:wrap;gap:6px}
.rv-verdict__title{font:var(--t-h2);letter-spacing:-.015em;font-variation-settings:"opsz" 32;text-wrap:balance}
/* The arithmetic behind the headline, so the tile's contribution change and this net figure read as one sum. */
.rv-verdict__math{margin-top:2px!important;font:500 14px/20px var(--font-sans);color:var(--text-2)}
.rv-meter{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:4px}
.rv-meter__segs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:min(280px,100%)}
.rv-seg{height:6px;border-radius:var(--r-full);background:var(--gray-150)}
.rv-seg.is-on{background:var(--green-500)}
.rv-meter__label{font:600 13px/18px var(--font-sans);color:var(--text-2)}
.rv-missing{display:flex;flex-direction:column;margin-top:8px!important;padding:0;list-style:none;border-top:1px solid var(--border)}
.rv-missing li{display:flex;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid var(--border);font:400 14px/20px var(--font-sans);color:var(--text-2)}
.rv-missing li>span{flex:1;min-width:0}
.rv-missing .uk-icon{flex:none;color:var(--text-3)}
.rv-tiles .uk-kpi-strip{--kpi-min:160px}
.rv-charts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.rv-card--paired .uk-paired{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px}
@container tool (max-width:760px){.rv-card--paired .uk-paired{grid-template-columns:minmax(0,1fr)}}
.rv-bridge{display:none;flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.rv-bridge__row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:10px;align-items:center;font:500 13px/18px var(--font-sans)}
.rv-bridge__label{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-bridge__track{position:relative;height:14px;border-radius:4px;background:var(--surface-sunken)}
.rv-bridge__bar{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--chart-neutral)}
.rv-bridge__row--outcome .rv-bridge__bar{background:var(--green-500)}
/* Same colour as the kit waterfall for a cost step (spend grey), so both views of one report agree. */
.rv-bridge__row--negative .rv-bridge__bar{background:var(--chart-spend)}
.rv-bridge__row--total .rv-bridge__label,.rv-bridge__row--total .rv-bridge__value{color:var(--text-1);font-weight:600}
.rv-bridge__row--total{padding-top:10px;border-top:1px solid var(--border)}
.rv-bridge__value{min-width:64px;text-align:right;color:var(--text-1)}
@container tool (max-width:600px){
  .rv-waterfall-wide{display:none}
  .rv-bridge{display:flex}
}
.rv-card{padding:20px;min-width:0}
.rv-card__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}
.rv-card__title{font:600 15px/22px var(--font-sans);letter-spacing:-.006em}
.rv-card__note{display:flex;align-items:center;gap:6px;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.rv-card .uk-chart{margin:0}
.rv-table-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}
.rv-table{width:100%;border-collapse:collapse;font:400 14px/20px var(--font-sans)}
.rv-table th,.rv-table td{padding:10px 12px;border-top:1px solid var(--border);text-align:right;white-space:nowrap}
.rv-table thead th{padding-top:0;border-top:0;font:500 12px/16px var(--font-sans);color:var(--text-3)}
.rv-table th:first-child{padding-left:0;text-align:left;font-weight:500;color:var(--text-2)}
.rv-table td:last-child,.rv-table th:last-child{padding-right:0}
.rv-table td{color:var(--text-1)}
.rv-change{display:inline-flex;flex-direction:column;align-items:flex-end;font:600 14px/18px var(--font-sans)}
.rv-change__pct{font:500 12px/16px var(--font-sans);opacity:.85}
.rv-change--success{color:var(--success-text)}
.rv-change--danger{color:var(--danger-text)}
.rv-change--neutral{color:var(--text-3)}
.rv-next{display:flex;align-items:flex-start;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken);font:400 14px/20px var(--font-sans);color:var(--text-2)}
.rv-next strong{color:var(--text-1);font-weight:600}
.rv-next .uk-icon{flex:none;margin-top:2px;color:var(--green-500)}
@container tool (max-width:600px){
  .rv-verdict{grid-template-columns:minmax(0,1fr);padding:20px}
  .rv-verdict__icon{width:40px;height:40px}
  .rv-table thead{display:none}
  .rv-table,.rv-table tbody{display:block}
  .rv-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;padding:12px 0;border-top:1px solid var(--border)}
  .rv-table th,.rv-table td{padding:0;border:0;text-align:left;white-space:normal}
  .rv-table th:first-child{grid-column:1/-1;margin-bottom:4px;font-weight:600;color:var(--text-1)}
  .rv-table td::before{content:attr(data-label);display:block;font:500 11px/14px var(--font-sans);color:var(--text-3)}
  .rv-change{align-items:flex-start}
}

.rv-editor{display:flex;flex-direction:column;gap:16px}
.rv-intro{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(160px,220px);gap:20px;align-items:center;padding:24px}
.rv-intro__text{display:flex;flex-direction:column;gap:10px;min-width:0}
.rv-intro__title{font:var(--t-h3);letter-spacing:-.01em;font-variation-settings:"opsz" 24}
.rv-intro__steps{display:flex;flex-direction:column;gap:6px;padding:0 0 0 20px;font:400 14px/22px var(--font-sans);color:var(--text-2)}
.rv-intro__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
@container tool (max-width:760px){
  .rv-intro{grid-template-columns:minmax(0,1fr);padding:20px}
  .rv-intro>.tool-plate,.rv-intro__art{display:none}
}
.rv-fill{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
@container tool (max-width:860px){.rv-fill{grid-template-columns:minmax(0,1fr)}}
.rv-fill__panel--wide{grid-column:1/-1}
.rv-fill__panel .uk-disclosure__body{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.rv-fill__panel .uk-disclosure__body>.uk-btn{align-self:flex-start}
.rv-fill__actions{display:flex;flex-wrap:wrap;gap:8px}
.rv-fill__body{font:400 14px/20px var(--font-sans);color:var(--text-2)}
.rv-section{padding:20px;min-width:0}
.rv-section__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:16px}
.rv-section__title{font:600 16px/24px var(--font-sans);letter-spacing:-.006em}
.rv-section__hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}
.rv-section__toggle{display:none}
@container tool (max-width:640px){
  /* Phone: the review editor is an accordion. The whole header is the toggle; a folded section shows its one-line state. */
  .rv-section{padding:0}
  .rv-section__head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;margin:0;padding:14px 16px;min-height:56px}
  .rv-section__head>.rv-section__hint{grid-column:1/-1;grid-row:3}
  .rv-section__toggle{display:contents}
  .rv-section__toggle::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
  .rv-section__toggle:focus-visible::after{outline:2px solid var(--green-600);outline-offset:-2px}
  .rv-section__summary{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px/18px var(--font-sans);color:var(--text-3)}
  .rv-section:not(.is-collapsed) .rv-section__summary{display:none}
  .rv-section__chev{grid-column:2;grid-row:1;align-self:center;color:var(--text-3);transition:transform var(--dur-3) var(--ease-out);transform:rotate(180deg)}
  .rv-section.is-collapsed .rv-section__chev{transform:none}
  .rv-section.is-collapsed .rv-section__head>.rv-section__hint{display:none}
  .rv-section__body{padding:0 16px 16px}
  .rv-section.is-collapsed .rv-section__body{display:none}
}
.rv-grid{display:grid;gap:16px;min-width:0}
.rv-grid--change{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.rv-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rv-grid .uk-field--number .uk-input-group{max-width:none}
.rv-section .rv-grid+.uk-field{margin-top:16px}
@container tool (max-width:700px){.rv-grid--change,.rv-grid--2{grid-template-columns:minmax(0,1fr)}}
.rv-presets.uk-chips{gap:8px;margin-bottom:16px}
.rv-presets .uk-icon{color:var(--text-3)}
.rv-presets .uk-chip:has(input:checked) .uk-icon{color:var(--green-600)}
.rv-lengths{display:flex;align-items:center;gap:6px;margin-top:12px!important;font:500 13px/18px var(--font-sans);color:var(--text-3)}
.rv-lengths .uk-icon{flex:none}
.rv-future{margin-top:6px}
.rv-edit-wrap{min-width:0}
.rv-edit{width:100%;border-collapse:collapse}
.rv-edit thead th{padding:0 8px 8px;font:500 12px/16px var(--font-sans);color:var(--text-3);text-align:left}
.rv-edit thead th:last-child{text-align:right}
.rv-edit tbody th{width:28%;padding:6px 12px 6px 0;font:500 14px/20px var(--font-sans);color:var(--text-2);text-align:left}
.rv-edit td{padding:6px 8px;vertical-align:middle}
.rv-edit td:last-child{width:120px;padding-right:0;text-align:right}
.rv-edit .uk-field__label,.rv-edit .uk-field__hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rv-edit .uk-field{gap:0}
.rv-edit__total th,.rv-edit__total td{border-top:1px solid var(--border);padding-top:12px;font:600 14px/20px var(--font-sans);color:var(--text-1)}
.rv-edit__total td{padding-left:20px}
@container tool (max-width:640px){
  .rv-edit thead{display:none}
  .rv-edit,.rv-edit tbody{display:block}
  .rv-edit tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:10px 0;border-top:1px solid var(--border)}
  .rv-edit tr:first-child{border-top:0;padding-top:0}
  .rv-edit tbody th{grid-column:1/-1;width:auto;padding:0;color:var(--text-1);font-weight:600}
  .rv-edit td,.rv-edit td:last-child{width:auto;padding:0;text-align:left}
  .rv-edit td::before{content:attr(data-label);display:block;margin-bottom:4px;font:500 11px/14px var(--font-sans);color:var(--text-3)}
  .rv-edit td.rv-edit__change,.rv-edit tr>td:last-child{grid-column:1/-1}
  .rv-edit td:last-child .rv-change{flex-direction:row;gap:6px;align-items:baseline}
  .rv-edit__total th,.rv-edit__total td{border:0;padding:0}
  .rv-edit__total td{padding-left:0}
}
.rv-confirm{display:flex;flex-direction:column}
.rv-confirm__row{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;padding:12px 0;border-top:1px solid var(--border)}
.rv-confirm__row:first-child{border-top:0;padding-top:0}
.rv-confirm__label{font:400 14px/20px var(--font-sans);color:var(--text-1);min-width:0}
.rv-confirmed{display:inline-flex;align-items:center;gap:10px;font:500 13px/18px var(--font-sans);color:var(--text-2)}
.rv-confirmed__meter{width:72px}
@container tool (max-width:640px){.rv-confirm__row{flex-direction:column;align-items:flex-start}.rv-confirm__row .uk-seg{width:100%}}

.rv-csv{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-top:4px;padding-top:16px;border-top:1px solid var(--border)}
.rv-csv__lead{display:flex;align-items:center;gap:8px;font:600 15px/22px var(--font-sans);color:var(--text-1)}
.rv-csv__lead .uk-icon{color:var(--green-600)}
.rv-csv__title{font:600 14px/20px var(--font-sans);color:var(--text-1)}
.rv-csv__hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}
.rv-csv__note{display:flex;align-items:center;gap:6px;margin-bottom:8px!important;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.rv-map__head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.rv-map__missing{display:flex;align-items:center;gap:6px;margin-bottom:10px!important;font:500 13px/18px var(--font-sans);color:var(--warning-text)}
.rv-map__missing .uk-icon{color:var(--warning-solid);flex:none}
.rv-map__list{display:flex;flex-direction:column;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}
.rv-map__row{display:grid;grid-template-columns:minmax(120px,200px) 16px minmax(0,1fr);gap:8px 12px;align-items:center;min-height:48px;padding:8px 12px;border-top:1px solid var(--border)}
.rv-map__row:first-child{border-top:0}
.rv-map__row.is-editing{align-items:start;background:var(--gray-25)}
.rv-map__row.is-editing .rv-map__arrow{margin-top:6px}
.rv-map__col{display:flex;flex-direction:column;min-width:0}
.rv-map__header{font:600 13px/18px var(--font-sans);color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-map__sample{font:400 12px/16px var(--font-sans);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-map__arrow{display:grid;place-items:center;color:var(--text-3)}
.rv-map__to{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}
.rv-map__match{display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--font-sans);color:var(--text-1)}
.rv-map__match .uk-icon{color:var(--success-solid)}
.rv-map__chips.uk-chips{gap:6px}
.rv-csv__scroll{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md)}
.rv-csv__table{width:100%;border-collapse:collapse;font:400 13px/18px var(--font-sans);white-space:nowrap}
.rv-csv__table th,.rv-csv__table td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}
.rv-csv__table tbody tr:last-child>*{border-bottom:0}
.rv-csv__table thead th{background:var(--surface-sunken);vertical-align:bottom}
.rv-csv__header{display:block;font:600 12px/16px var(--font-sans);color:var(--text-1)}
.rv-csv__key{display:block;font:500 11px/14px var(--font-sans);color:var(--green-700)}
.rv-csv__key.is-unused,.rv-csv__table td.is-unused{color:var(--text-3)}
.rv-csv__table tr.is-ignored td{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border-strong)}
.rv-csv__foot{display:flex;justify-content:flex-end}
@container tool (max-width:640px){
  .rv-map__row{grid-template-columns:minmax(0,1fr);gap:6px}
  .rv-map__arrow{display:none}
  .rv-csv__foot .uk-btn{width:100%}
}

/* ------------------------------------------------------------- phone */
@media (max-width:767px){
  .tool-page{gap:16px;--tabbar-offset:calc(56px + env(safe-area-inset-bottom))}
  body:has(.tool-savebar){--toast-offset:140px}
  /* No page bar on a phone, so the page's actions sit under the description, full width, with their labels. */
  .tool-head__actions{flex-wrap:wrap;margin-top:12px}
  /* One row: business, brief state, and Prepared work as a chevron link. */
  .tool-context{flex-wrap:nowrap;gap:8px;min-height:48px;padding:4px 4px 4px 12px}
  .tool-context__biz{flex:1 1 auto;min-width:0}
  .tool-context__name{max-width:none}
  .tool-context .uk-pill,.tool-context__confirm{flex:none}
  .tool-context__source{display:none}
  .tool-context__link{width:44px;height:40px;padding:0;justify-content:center}
  .tool-context__link>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  /* Save bars are fixed above the tab bar on phone: a sticky bar can't rise above its own form, which starts below the fold. */
  .tool-page:has(.tool-savebar){padding-bottom:88px}
  .tool-savebar{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-offset) + 10px);min-height:56px;padding:6px 6px 6px 14px}
  .tool-savebar__status{font-size:12px}
  .acq-vbar{top:calc(var(--sticky-top) + 6px)}
  .acq-vbar__jump{display:none}
  /* Response test: the bar carries the open step's next action; Save shows on the last step. */
  .rt-savebar #rt-bar-next{display:inline-flex}
  .rt-savebar:not(.is-final) #rt-save,.rt-savebar.is-final #rt-bar-next{display:none}
  .rt-savebar #rt-start-over .uk-btn__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .rt-savebar #rt-start-over{width:44px;padding:0;justify-content:center}
  /* 44px touch targets (spec 2.3): small controls keep their look and grow their hit area. */
  .tool-page .uk-kpi__info::before{inset:-12px}
  .tool-page .rv-missing .uk-link,.tool-page .rt-check__suggest .uk-link,.tool-page .rv-map__change{position:relative}
  .tool-page .rv-missing .uk-link::before,.tool-page .rt-check__suggest .uk-link::before,.tool-page .rv-map__change::before{content:"";position:absolute;inset:-13px -12px}
  .tool-page .uk-chip--sm{height:36px;padding:0 12px;font-size:14px}
  .tool-page .uk-chip--sm::before{content:"";position:absolute;inset:-4px 0}
  .tool-page .uk-seg--sm .uk-seg__track{height:40px}
  .tool-page .acq-limit{grid-template-columns:minmax(0,1fr) auto 44px;min-height:52px}
  .tool-page .acq-limit .uk-btn--icon{justify-self:end}
}

/* Touch: every control a tool offers is at least 44px tall, including the ones that start a job (New review,
   Import a CSV), the saved-review rows and the Prepared work link. Icon-only buttons keep the kit's 44px ::before. */
@media (max-width:767px),(pointer:coarse){
  .tool-page .uk-btn--sm:not(.uk-btn--icon),.tool-page .uk-btn--md:not(.uk-btn--icon){--btn-h:44px}
  .tool-page .rv-item{min-height:44px}
  .tool-page .rv-rail__csv{height:44px}
  .tool-page .tool-context__link{height:44px}
}

/* ------------------------------------------------------------- print */
/* The handoff document lives in body > #tool-print, built just before printing (tools-ui.js preparePrint). */
.tool-print{display:none}
@media print{
  body:has(>.tool-print:not(:empty))>:not(.tool-print){display:none!important}
  .tool-print:not(:empty){display:block}
  .tool-print-page{max-width:none;gap:16px;padding:0}
  .tool-print__head{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--border)}
  .tool-print__business{font:600 13px/18px var(--font-sans);color:var(--text-2)}
  .tool-print__title{font:700 26px/32px var(--font-sans);letter-spacing:-.015em;color:var(--text-1)}
  .tool-print__meta{font:400 12px/16px var(--font-sans);color:var(--text-3)}
  .tool-print__example{margin-top:6px!important;font:600 12px/16px var(--font-sans);color:var(--text-1)}
  .tool-print__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
  .tool-print__cols .acq-side__body{display:flex;flex-direction:column;gap:16px}
  .tool-print__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0}
  .acq-card .tool-print__facts{grid-template-columns:minmax(0,1fr)}
  .tool-print__facts div{break-inside:avoid}
  .tool-print__facts dt{font:500 11px/14px var(--font-sans);color:var(--text-3)}
  .tool-print__facts dd{margin:2px 0 0;font:500 13px/18px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}
  .tool-print__result{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);font:600 15px/22px var(--font-sans)}
  .tool-print__result--danger{box-shadow:inset 3px 0 0 var(--danger-solid)}
  .tool-print__result--success{box-shadow:inset 3px 0 0 var(--success-solid)}
  .tool-print__h2{font:600 15px/22px var(--font-sans)}
  .tool-print__checks{display:flex;flex-direction:column;gap:6px;padding:0;list-style:none}
  .tool-print__check{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;font:400 13px/18px var(--font-sans);color:var(--text-1);break-inside:avoid}
  .tool-print__check strong{font-weight:600;color:var(--text-2)}
  .tool-print__check--success strong{color:var(--success-text)}
  .tool-print__check--danger strong{color:var(--danger-text)}
  .tool-print svg{max-width:100%;height:auto}
  .tool-print .acq-verdict__inline-icon{display:none}
  .tool-print .rv-waterfall-wide{display:block!important}
  /* Fallback when nothing was prepared (the browser's print dialog opened another way): the page's report blocks. */
  body:not(:has(>.tool-print:not(:empty))) *{visibility:hidden!important}
  body:not(:has(>.tool-print:not(:empty))) .tool-page .tool-report,body:not(:has(>.tool-print:not(:empty))) .tool-page .tool-report *{visibility:visible!important}
  body:not(:has(>.tool-print:not(:empty))) .tool-page .tool-report{position:absolute;left:0;top:0;width:100%}
  .tool-head__actions,.rv-report__actions,.uk-kpi__info,.uk-kpi__needs,.acq-needs,.uk-chart__table-toggle{display:none!important}
  .tool-page .uk-card,.tool-page .uk-kpi{box-shadow:none!important;break-inside:avoid}
}
