/* ==========================================================================
   Ask Cezar — app pages (login, dashboard, shared report)
   Builds on /styles.css (tokens, nav, buttons, report components).
   Everything here is prefixed ac- so it never collides with the landing page.
   ========================================================================== */

:root{
  --ac-top-h:64px;
  --ac-card-pad:var(--space-5);
  --ac-ring:0 0 0 3px rgba(182,82,31,.18);
}

/* ---------- Shared bits ---------- */
.ac-muted{color:var(--fg-secondary);font-size:var(--text-sm);line-height:var(--lh-normal)}
.ac-mono{font-family:var(--font-mono);font-size:12px;line-height:1.6;word-break:break-all;color:var(--fg-primary)}
.ac-label{
  font-size:var(--text-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;color:var(--fg-secondary);margin:0 0 6px;
}
.ac-gap{height:var(--space-3)}
.ac-strong{color:var(--fg-primary)!important}

.ac-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--space-3)!important}
.ac-chip{
  display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--fw-bold);
  padding:3px 10px;border-radius:var(--radius-pill);background:var(--gray-100);color:var(--gray-600);
}
.ac-chip--accent{background:var(--accent-050);color:var(--accent-text)}

.ac-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-bold);
  padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;
}
.ac-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.ac-pill--queued,.ac-pill--running{background:var(--info-100);color:var(--info-600)}
.ac-pill--running::before{animation:ac-pulse 1.2s var(--ease-standard) infinite}
.ac-pill--done{background:var(--good-100);color:var(--good-600)}
.ac-pill--failed{background:var(--bad-100);color:var(--bad-600)}
.ac-pill--shared{background:var(--accent-050);color:var(--accent-text)}
@keyframes ac-pulse{50%{opacity:.25}}

/* Score badge (small number in a coloured square) */
.ac-score{
  display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 6px;
  border-radius:12px;font-weight:var(--fw-extrabold);font-size:var(--text-md);letter-spacing:var(--ls-tight);
  background:var(--gray-100);color:var(--gray-600);font-variant-numeric:tabular-nums;
}
.ac-score--good{background:var(--good-100);color:var(--good-600)}
.ac-score--needs_work{background:var(--warn-100);color:#8A5A0F}
.ac-score--poor{background:var(--bad-100);color:#B03A27}
.ac-score--sm{min-width:34px;height:30px;border-radius:8px;font-size:var(--text-sm)}

/* Gauges */
.ac-gauge .ac-gauge-track{stroke:var(--gray-100)}
.ac-gauge .ac-gauge-arc{stroke:var(--gray-500);transition:stroke-dashoffset .8s var(--ease-standard)}
.ac-gauge .ac-gauge-num{font-family:var(--font-display);font-weight:var(--fw-extrabold);font-size:34px;fill:var(--fg-primary)}
.ac-band--good .ac-gauge-track{stroke:var(--good-100)}     .ac-band--good .ac-gauge-arc{stroke:var(--good-600)}
.ac-band--needs_work .ac-gauge-track{stroke:var(--warn-100)} .ac-band--needs_work .ac-gauge-arc{stroke:var(--warn-600)}
.ac-band--poor .ac-gauge-track{stroke:var(--bad-100)}      .ac-band--poor .ac-gauge-arc{stroke:var(--bad-600)}

/* Form fields */
.ac-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ac-field > span{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--fg-primary)}
.ac-field > span small{font-weight:var(--fw-regular);color:var(--fg-secondary);margin-left:4px}
.ac-input{
  font:inherit;font-size:var(--text-body);color:var(--fg-primary);
  background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);
  padding:12px 14px;min-height:48px;width:100%;
  transition:border-color var(--duration-fast),box-shadow var(--duration-fast);
}
.ac-input::placeholder{color:var(--gray-500)}
.ac-input:hover{border-color:var(--gray-400)}
.ac-input:focus{outline:none;border-color:var(--accent-700);box-shadow:var(--ac-ring)}
.ac-input[aria-invalid="true"]{border-color:var(--bad-600)}
.ac-input--code{font-family:var(--font-mono);font-size:24px;letter-spacing:.4em;text-align:center;padding-left:calc(14px + .4em)}
.ac-error{color:var(--bad-600);font-size:var(--text-sm);margin:0;min-height:1.2em}
.ac-error:empty{min-height:0}
.ac-hint{color:var(--fg-secondary);font-size:var(--text-sm);margin:0}

.pp-btn{gap:8px}
.pp-btn[aria-busy="true"]{cursor:progress}
.pp-btn[aria-busy="true"]::before{
  content:"";width:14px;height:14px;border-radius:50%;
  border:2px solid currentColor;border-right-color:transparent;animation:ac-spin .7s linear infinite;
}
@keyframes ac-spin{to{transform:rotate(360deg)}}
.ac-linkbtn{
  font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--accent-text);
  background:none;border:0;padding:6px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}
.ac-linkbtn:hover{color:var(--accent-700)}
.ac-linkbtn--danger{color:var(--bad-600)}
.ac-iconbtn{
  display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);
  border:1px solid var(--border-default);background:var(--surface-card);color:var(--fg-primary);cursor:pointer;
}
.ac-iconbtn:hover{background:var(--gray-50)}
.ac-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

/* Toast */
.ac-toast{
  position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,16px);opacity:0;pointer-events:none;
  background:var(--ink-950);color:var(--fg-on-dark);font-size:var(--text-sm);font-weight:var(--fw-semibold);
  padding:12px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px);
  transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard);
}
.ac-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.ac-toast[data-kind="error"]{background:#7A2416}

/* Skeletons */
.ac-skel{
  border-radius:var(--radius-md);min-height:20px;
  background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);
  background-size:200% 100%;animation:ac-shimmer 1.4s linear infinite;
}
@keyframes ac-shimmer{to{background-position:-200% 0}}

@media (prefers-reduced-motion:reduce){
  .ac-skel,.ac-pill--running::before,.pp-btn[aria-busy="true"]::before{animation:none}
  .ac-gauge .ac-gauge-arc,.ac-toast{transition:none}
}

/* ==========================================================================
   LOGIN
   ========================================================================== */
.ac-auth{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--surface-page)}
.ac-auth-side{
  position:relative;overflow:hidden;background:var(--ink-950);color:var(--fg-on-dark);
  padding:var(--space-7) var(--space-8);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-7);
}
.ac-auth-side .pp-logo{color:var(--fg-on-dark)}
.ac-auth-side h1{
  font-size:clamp(32px,3.6vw,48px);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);
  line-height:var(--lh-tight);margin:0 0 var(--space-5);max-width:14ch;
}
.ac-auth-side h1 em{font-style:normal;color:var(--accent-400)}
.ac-auth-side p{color:rgba(245,244,240,.72);line-height:var(--lh-loose);max-width:42ch;margin:0}
.ac-auth-points{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-3)}
.ac-auth-points li{display:flex;gap:12px;align-items:flex-start;color:rgba(245,244,240,.86);font-size:var(--text-sm);line-height:var(--lh-normal)}
.ac-auth-points .ac-icon{color:var(--accent-400);margin-top:1px}

/* The little live-looking report card on the dark side */
.ac-auth-card{
  background:rgba(245,244,240,.06);border:1px solid var(--border-on-dark);border-radius:var(--radius-lg);
  padding:var(--space-5);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center;max-width:420px;
}
.ac-auth-card .ac-gauge .ac-gauge-num{fill:var(--fg-on-dark)}
.ac-auth-card .ac-gauge .ac-gauge-track{stroke:rgba(245,244,240,.12)}
.ac-auth-card b{display:block;font-size:var(--text-body);margin-bottom:2px}
.ac-auth-card span{font-size:var(--text-sm);color:rgba(245,244,240,.65)}
.ac-auth-spark{grid-column:1/-1;height:44px;width:100%}
.ac-auth-spark path{fill:none;stroke:var(--accent-400);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ac-auth-spark .area{fill:rgba(240,150,79,.14);stroke:none}

.ac-auth-main{display:flex;flex-direction:column;justify-content:center;padding:var(--space-7) var(--gutter)}
.ac-auth-box{width:100%;max-width:420px;margin:0 auto}
.ac-auth-box h2{font-size:var(--text-xl);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);margin:0 0 var(--space-2)}
.ac-auth-box > p{color:var(--fg-secondary);margin:0 0 var(--space-6);line-height:var(--lh-normal)}
.ac-auth-form{display:grid;gap:var(--space-4)}
.ac-auth-form .pp-btn{min-height:48px}
.ac-auth-alt{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between}
.ac-auth-legal{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--fg-secondary);line-height:var(--lh-normal)}
.ac-auth-sent{
  display:flex;gap:12px;align-items:flex-start;background:var(--surface-card);
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-5);
}
.ac-auth-sent .ac-icon{color:var(--good-600);margin-top:2px}
.ac-auth-sent p{margin:0;font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--fg-secondary)}
.ac-auth-sent b{color:var(--fg-primary);word-break:break-all}
.ac-auth-back{margin-top:var(--space-7);font-size:var(--text-sm)}

@media (max-width:900px){
  .ac-auth{grid-template-columns:1fr}
  .ac-auth-side{padding:var(--space-5) var(--gutter) var(--space-6);gap:var(--space-5)}
  .ac-auth-side h1{font-size:clamp(26px,7vw,34px);margin-bottom:var(--space-3)}
  .ac-auth-card,.ac-auth-points{display:none}
  .ac-auth-main{justify-content:flex-start;padding-top:var(--space-6)}
}

/* ==========================================================================
   DASHBOARD SHELL
   ========================================================================== */
.ac-app{min-height:100svh;display:flex;flex-direction:column}
.ac-top{
  position:sticky;top:0;z-index:20;background:rgba(243,242,237,.92);
  backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--border-subtle);
}
.ac-top-inner{
  max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);min-height:var(--ac-top-h);
  display:flex;align-items:center;gap:var(--space-5);
}
.ac-top .pp-logo{flex:0 0 auto}
.ac-tabs{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.ac-tab{
  display:block;padding:8px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm);
  font-weight:var(--fw-semibold);color:var(--fg-secondary);
}
.ac-tab:hover{color:var(--fg-primary);background:var(--gray-100);text-decoration:none}
.ac-tab[aria-current="page"]{color:var(--fg-primary);background:var(--surface-card);box-shadow:var(--shadow-sm)}
.ac-top-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-3);min-width:0}
.ac-usage{display:flex;align-items:center;gap:10px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--fg-secondary);white-space:nowrap}
.ac-usage-bar{width:72px;height:6px;border-radius:var(--radius-pill);background:var(--gray-200);overflow:hidden}
.ac-usage-bar span{display:block;height:100%;background:var(--accent-600);border-radius:inherit;transition:width .4s var(--ease-standard)}
.ac-usage[data-full="true"] .ac-usage-bar span{background:var(--bad-600)}
.ac-account{
  display:inline-flex;align-items:center;gap:8px;max-width:220px;font:inherit;font-size:var(--text-sm);
  font-weight:var(--fw-semibold);color:var(--fg-primary);background:var(--surface-card);
  border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:4px 12px 4px 4px;cursor:pointer;
}
.ac-account:hover{border-color:var(--border-default)}
.ac-avatar{
  display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  background:var(--ink-950);color:var(--fg-on-dark);font-size:13px;font-weight:var(--fw-bold);text-transform:uppercase;
}
.ac-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-menu{position:relative}
.ac-menu-list{
  position:absolute;right:0;top:calc(100% + 8px);min-width:220px;z-index:30;
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);padding:6px;list-style:none;margin:0;
}
.ac-menu-list[hidden]{display:none}
.ac-menu-list a,.ac-menu-list button{
  display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);
  font:inherit;font-size:var(--text-sm);color:var(--fg-primary);background:none;border:0;cursor:pointer;text-align:left;
}
.ac-menu-list a:hover,.ac-menu-list button:hover,.ac-menu-list a:focus-visible,.ac-menu-list button:focus-visible{background:var(--gray-50);text-decoration:none}
.ac-menu-head{padding:8px 12px 10px;border-bottom:1px solid var(--border-subtle);margin-bottom:6px;font-size:var(--text-xs);color:var(--fg-secondary);word-break:break-all}

.ac-demo-bar{background:var(--warn-100);color:#6B4A0C;font-size:var(--text-sm);text-align:center;padding:8px var(--gutter)}

.ac-main{flex:1 0 auto;width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--space-7) var(--gutter) var(--space-9)}
.ac-main:focus{outline:none}
.ac-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin:0 0 var(--space-6)}
.ac-page-head h1{font-size:clamp(26px,3vw,34px);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);margin:0;word-break:break-word}
.ac-page-head p{margin:6px 0 0;color:var(--fg-secondary)}
.ac-crumb{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--fg-secondary);margin-bottom:var(--space-3)}
.ac-crumb:hover{color:var(--fg-primary)}
.ac-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}

.ac-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-5);align-items:start}
.ac-stack{display:grid;gap:var(--space-5)}
.ac-card{
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);padding:var(--ac-card-pad);min-width:0;
}
.ac-card > h2,.ac-card-head h2{font-size:var(--text-md);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);margin:0}
.ac-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4);flex-wrap:wrap}
.ac-card-head p{margin:0;font-size:var(--text-sm);color:var(--fg-secondary)}
.ac-card--dark{background:var(--ink-950);color:var(--fg-on-dark);border-color:var(--ink-950)}
.ac-card--dark .ac-field > span{color:var(--fg-on-dark)}
.ac-card--dark .ac-field > span small,.ac-card--dark .ac-hint{color:rgba(245,244,240,.65)}
.ac-card--dark .ac-input{background:rgba(245,244,240,.06);border-color:rgba(245,244,240,.22);color:var(--fg-on-dark)}
.ac-card--dark .ac-input::placeholder{color:rgba(245,244,240,.45)}
.ac-card--dark .ac-input:focus{border-color:var(--accent-400);box-shadow:0 0 0 3px rgba(240,150,79,.25)}
.ac-card--dark .ac-error{color:#FF9E8A}
.ac-card--dark h2{color:var(--fg-on-dark)}

/* Run-a-report form */
.ac-run{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:var(--space-3);align-items:end}
.ac-run .pp-btn{min-height:48px;padding-left:22px;padding-right:22px}
.ac-run-foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between;margin-top:var(--space-3)}

/* Stats row */
.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin:0 0 var(--space-5)}
.ac-stat{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
.ac-stat p{margin:0}
.ac-stat-value{font-size:var(--text-xl);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:1.1;margin-top:4px!important;font-variant-numeric:tabular-nums}
.ac-stat-value small{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--fg-secondary);margin-left:4px}
.ac-stat-note{font-size:var(--text-xs);color:var(--fg-secondary);margin-top:4px!important}

/* Site cards */
.ac-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}
.ac-site{
  position:relative;display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-3);
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  padding:var(--space-4) var(--space-5);color:inherit;
  transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast);
}
.ac-site:hover{border-color:var(--border-default);box-shadow:var(--shadow-md);text-decoration:none;color:inherit}
.ac-site:active{transform:translateY(1px)}
.ac-site-host{font-weight:var(--fw-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.ac-site-client{font-size:var(--text-sm);color:var(--fg-secondary);margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-site-spark{grid-column:1/-1;height:40px;width:100%}
.ac-site-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--fg-secondary)}

.ac-delta{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}
.ac-delta--up{color:var(--good-600)}
.ac-delta--down{color:var(--bad-600)}
.ac-delta--flat{color:var(--fg-secondary)}

/* Sparkline + trend chart */
.ac-spark path.line{fill:none;stroke:var(--accent-600);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ac-spark path.area{fill:var(--accent-050);stroke:none}
.ac-spark circle{fill:var(--accent-600)}
.ac-spark-empty{grid-column:1/-1;height:40px;display:flex;align-items:center;font-size:var(--text-xs);color:var(--fg-secondary);border-top:1px dashed var(--border-subtle)}

.ac-trend{width:100%;height:auto;display:block;overflow:visible}
.ac-trend .grid line{stroke:var(--gray-200);stroke-width:1}
.ac-trend .grid text,.ac-trend .xlab{font-size:11px;fill:var(--fg-secondary);font-family:var(--font-body)}
.ac-trend .band-good{fill:var(--good-100);opacity:.45}
.ac-trend .line{fill:none;stroke:var(--accent-600);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ac-trend .area{fill:url(#ac-trend-fill)}
.ac-trend .dot{fill:var(--surface-card);stroke:var(--accent-600);stroke-width:2.5}
.ac-trend .dot-label{font-size:11px;font-weight:700;fill:var(--fg-primary);font-family:var(--font-body)}
.ac-trend-summary{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--fg-secondary)}

/* Report rows */
.ac-rows{list-style:none;margin:0;padding:0}
.ac-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;
  padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);
}
.ac-row:first-child{border-top:0}
.ac-row-main{min-width:0}
.ac-row-title{display:block;font-weight:var(--fw-semibold);color:var(--fg-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.ac-row-title:hover{color:var(--accent-text)}
.ac-row-sub{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--text-xs);color:var(--fg-secondary);margin-top:2px}
.ac-row-end{display:flex;align-items:center;gap:var(--space-2)}
.ac-row-fail{font-size:var(--text-xs);color:var(--bad-600);margin-top:2px}

/* Metric comparison */
.ac-compare{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.ac-compare th,.ac-compare td{text-align:left;padding:10px 8px;border-top:1px solid var(--border-subtle);vertical-align:middle}
.ac-compare thead th{border-top:0;font-size:var(--text-xs);color:var(--fg-secondary);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em}
.ac-compare td{font-variant-numeric:tabular-nums}
.ac-compare th[scope="row"]{font-weight:var(--fw-semibold)}

/* Empty state */
.ac-empty{text-align:center;padding:var(--space-7) var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--surface-page-alt)}
.ac-empty .ac-icon{width:32px;height:32px;color:var(--accent-600);margin-bottom:var(--space-3)}
.ac-empty h3{margin:0 0 var(--space-2);font-size:var(--text-md)}
.ac-empty p{margin:0 auto;max-width:44ch;color:var(--fg-secondary);font-size:var(--text-sm);line-height:var(--lh-normal)}

/* Report toolbar + share panel */
.ac-report-bar{
  position:sticky;top:var(--ac-top-h);z-index:10;background:var(--surface-page);
  border-bottom:1px solid var(--border-subtle);
}
.ac-report-bar-inner{max-width:900px;margin:0 auto;padding:var(--space-3) var(--gutter);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between}
.ac-share{
  background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  padding:var(--space-5);margin:0 0 var(--space-7);box-shadow:var(--shadow-sm);
}
.ac-share-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}
.ac-share-head h2{font-size:var(--text-md);margin:0 0 4px}
.ac-share-head p{margin:0;font-size:var(--text-sm)}
.ac-share-link{display:flex;gap:var(--space-2);margin-top:var(--space-4)}
.ac-share-link .ac-input{font-family:var(--font-mono);font-size:13px;min-height:44px}
.ac-share-meta{display:flex;flex-wrap:wrap;gap:4px var(--space-4);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--fg-secondary)}

/* Switch */
.ac-switch{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer}
.ac-switch input{appearance:none;-webkit-appearance:none;margin:0;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--gray-300);position:relative;cursor:pointer;transition:background var(--duration-normal)}
.ac-switch input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-standard)}
.ac-switch input:checked{background:var(--accent-cta)}
.ac-switch input:checked::after{transform:translateX(18px)}
.ac-switch input:disabled{opacity:.5;cursor:not-allowed}

/* Report extras (rendered by report-render.js) */
.ac-scorecard-row{display:flex;gap:var(--space-6);align-items:center}
.ac-scorecard-row p{margin:0}
.ac-score-line{font-size:var(--text-lg);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);color:var(--fg-primary)!important;margin:2px 0 8px!important}
.pp-opp-title{margin:0;font-size:var(--text-body);line-height:var(--lh-snug)}
.ac-issue-part{margin-top:var(--space-3)}
.ac-issue-part p{margin:0!important}
.ac-evidence{margin-top:var(--space-4);background:var(--surface-page-alt);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:10px 14px}
.ac-evidence summary{cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-secondary)}
.ac-evidence p{margin:8px 0 0!important}
.ac-evidence ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.ac-evidence code{display:block;font-family:var(--font-mono);font-size:12px;color:var(--fg-primary);word-break:break-all}
.ac-evidence li span{font-size:12px;color:var(--fg-secondary)}
.ac-panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);margin:0 0 var(--space-4)}
.ac-panel h3{margin:0 0 4px;font-size:var(--text-body)}
.ac-panel > p{font-size:var(--text-sm)!important}
.ac-metric-rows{margin:var(--space-3) 0 0;display:grid}
.ac-metric-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:10px 0;border-top:1px solid var(--border-subtle)}
.ac-metric-row dt{font-size:var(--text-sm);font-weight:var(--fw-semibold)}
.ac-metric-row dt span{display:block;font-weight:var(--fw-regular);font-size:var(--text-xs);color:var(--fg-secondary)}
.ac-metric-row dd{margin:0;display:flex;gap:10px;align-items:center;white-space:nowrap}
.ac-failed{background:var(--surface-card);border:1px solid var(--border-subtle);border-left:4px solid var(--bad-600);border-radius:var(--radius-md);padding:var(--space-6)}

/* Shared report page */
.ac-public-note{
  max-width:900px;margin:0 auto;padding:var(--space-3) var(--gutter);font-size:var(--text-xs);color:var(--fg-secondary);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);
}
.ac-public-foot{border-top:1px solid var(--border-subtle);padding:var(--space-6) var(--gutter);text-align:center;font-size:var(--text-sm);color:var(--fg-secondary)}
.ac-public-foot .pp-logo{justify-content:center;margin-bottom:var(--space-2)}
.ac-notfound{max-width:560px;margin:0 auto;padding:var(--space-10) var(--gutter);text-align:center}
.ac-notfound h1{font-size:var(--text-2xl);letter-spacing:var(--ls-tight);margin:0 0 var(--space-3)}
.ac-notfound p{color:var(--fg-secondary);line-height:var(--lh-loose)}

/* Dialog */
.ac-dialog{border:0;border-radius:var(--radius-lg);padding:0;max-width:min(440px,calc(100vw - 32px));box-shadow:var(--shadow-lg);color:var(--fg-primary)}
.ac-dialog::backdrop{background:rgba(20,23,27,.45)}
.ac-dialog-body{padding:var(--space-6)}
.ac-dialog h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}
.ac-dialog p{margin:0;color:var(--fg-secondary);line-height:var(--lh-normal)}
.ac-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}
.pp-btn--danger{background:var(--bad-600);color:#fff}

/* Settings */
.ac-settings{display:grid;gap:var(--space-5);max-width:760px}
.ac-settings form{display:grid;gap:var(--space-4)}
.ac-settings-row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}
.ac-settings-row .ac-field{flex:1 1 260px}
.ac-kv{display:grid;grid-template-columns:auto 1fr;gap:10px var(--space-5);margin:0;font-size:var(--text-sm)}
.ac-kv dt{color:var(--fg-secondary)}
.ac-kv dd{margin:0;font-weight:var(--fw-semibold);overflow-wrap:anywhere}
.ac-soon{display:inline-block;margin-left:8px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-050);padding:2px 8px;border-radius:var(--radius-pill);vertical-align:middle}
.ac-locked{opacity:.6}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .ac-grid{grid-template-columns:1fr}
  .ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .ac-top-inner{flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:10px;padding-bottom:10px}
  .ac-tabs{order:3;width:100%}
  .ac-usage-bar{display:none}
  .ac-account-name{display:none}
  .ac-account{padding:3px}
  .ac-run{grid-template-columns:1fr}
  .ac-main{padding-top:var(--space-5)}
  .ac-report-bar{position:static}
  .ac-scorecard-row{flex-direction:column;text-align:center}
  .ac-share-link{flex-direction:column}
}
@media (max-width:400px){
  .ac-stats{grid-template-columns:1fr}
  .ac-usage{display:none}
}

/* ---------- Print / PDF ---------- */
@media print{
  .ac-top,.ac-report-bar,.ac-share,.ac-demo-bar,.ac-toast,.ac-public-note,.pp-skip,.no-print{display:none!important}
  body{background:#fff}
  .ac-main{padding:0;max-width:none}
  .pp-report-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pp-opp,.ac-panel,.pp-vital{break-inside:avoid}
  .ac-evidence[open] summary,.ac-evidence summary{list-style:none}
  a[href]::after{content:none}
}

.ac-skel--page{height:320px}

/* .pp-vital p (13px) in styles.css outranks .pp-vital-value; restore the big number. */
.pp-vital .pp-vital-value{font-size:var(--text-xl);color:var(--fg-primary);line-height:1;margin:0 0 var(--space-2)}
/* Report header inside the dashboard sits in a card-width column. */
.ac-main--report .pp-report-head{border-radius:var(--radius-lg)}
.ac-main--report .pp-report{padding-top:var(--space-6)}

.ac-auth-side .pp-logo{order:-1;align-self:flex-start}
/* styles.css reorders .pp-logo inside its nav on small screens; keep it first here. */
.ac-top .pp-logo{order:-1}
@media (max-width:400px){
  .ac-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
  .ac-stat{padding:var(--space-3) var(--space-4)}
  .ac-stat-value{font-size:var(--text-lg)}
}
@media (max-width:760px){
  .ac-top nav{order:3;width:100%}
  .ac-top-right{margin-left:auto}
}
/* Turnstile widget (sign-in). Empty until Cloudflare decides to show it. */
.ac-captcha{display:flex;justify-content:center;margin-top:var(--space-4)}
.ac-captcha:empty{margin-top:0}
