/* Verunel "Načrt Signal" foundation: self-hosted fonts and --vx-* tokens (light on :root; dark
   for data-color-scheme sites and for standalone pages that follow the system or data-theme).
   packages/web-ui/build.ts prepends this file to public.css (public site) and portal-signal.css
   (customer portal), so both layers and design-system/public-components.html share one source. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/newsreader-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/newsreader-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/atkinson-hyperlegible-next-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/atkinson-hyperlegible-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --vx-display:'Newsreader',Georgia,'Times New Roman',serif;
  --vx-sans:'Atkinson Hyperlegible Next','Segoe UI',Arial,sans-serif;
  --vx-mono:'Atkinson Hyperlegible Mono',ui-monospace,Menlo,Consolas,monospace;
  --vx-canvas:#FFFFFF;--vx-band:#F4F6F8;--vx-surface:#FFFFFF;--vx-surface-2:#F7F9FC;
  --vx-ink:#0B1B2E;--vx-muted:#4A5A6B;--vx-line:#E1E6EC;--vx-line-strong:#C3CDD8;
  --vx-blue:#1E4FA3;--vx-blue-2:#2F64C4;--vx-blue-hover:#183F84;--vx-blue-text:#1E4FA3;--vx-blue-tint:#EEF3FB;--vx-on-blue:#FFFFFF;
  --vx-signal:#3FC1DB;--vx-signal-text:#0B6F82;--vx-signal-ring:rgba(63,193,219,.22);--vx-proof:#1E4FA3;
  --vx-pass:#1F7A4D;--vx-pass-tint:#E6F2EB;--vx-warn:#8F5A00;--vx-warn-tint:#FBF0DC;--vx-crit:#B42318;--vx-crit-tint:#FBE9E7;
  --vx-plate:#0B1B2E;--vx-plate-2:#12253B;--vx-on-plate:#F4F6F8;--vx-on-plate-muted:#AFBCCB;--vx-on-plate-accent:#7FD6E8;
  --vx-stripe:linear-gradient(118deg,#183F84 0%,#1E4FA3 22%,#3767BC 44%,#3FC1DB 72%,#B7E8F2 100%);
  --vx-glow-a:rgba(138,169,223,.55);--vx-glow-b:rgba(63,193,219,.30);--vx-glow-c:rgba(30,79,163,.16);
  --vx-grid:rgba(30,79,163,.07);
  --vx-shadow:0 1px 2px rgba(11,27,46,.06),0 8px 24px -10px rgba(11,27,46,.16);
  --vx-shadow-lg:0 1px 2px rgba(11,27,46,.06),0 30px 60px -24px rgba(11,27,46,.32),0 12px 30px -18px rgba(30,79,163,.22);
  --vx-radius:10px;--vx-radius-lg:16px;
  --vx-chevron-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%231E4FA3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vx-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html[data-color-scheme=dark],:root[data-theme=dark]:not([data-color-scheme]){
  --vx-canvas:#0B1B2E;--vx-band:#0F2238;--vx-surface:#12253B;--vx-surface-2:#162B44;
  --vx-ink:#F4F6F8;--vx-muted:#B2BFCD;--vx-line:#253A52;--vx-line-strong:#36506E;
  --vx-blue:#8AA9DF;--vx-blue-2:#A9C1EA;--vx-blue-hover:#B7CBEC;--vx-blue-text:#A9C1EA;--vx-blue-tint:#16304F;--vx-on-blue:#0B1B2E;
  --vx-signal-text:#7FD6E8;--vx-signal-ring:rgba(63,193,219,.28);--vx-proof:#3FC1DB;
  --vx-pass:#7FD4A4;--vx-pass-tint:#143A2A;--vx-warn:#F2C46B;--vx-warn-tint:#3A2E14;--vx-crit:#FF9C8F;--vx-crit-tint:#45201E;
  --vx-plate:#081626;--vx-plate-2:#12253B;
  --vx-stripe:linear-gradient(118deg,#133266 0%,#1E4FA3 28%,#2F64C4 52%,#0B6F82 78%,#3FC1DB 100%);
  --vx-glow-a:rgba(30,79,163,.55);--vx-glow-b:rgba(63,193,219,.20);--vx-glow-c:rgba(138,169,223,.14);
  --vx-grid:rgba(138,169,223,.07);
  --vx-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -10px rgba(0,0,0,.5);
  --vx-shadow-lg:0 1px 2px rgba(0,0,0,.3),0 30px 60px -24px rgba(0,0,0,.65),0 12px 30px -18px rgba(63,193,219,.12);
  --vx-chevron-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%23A9C1EA' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root:not([data-color-scheme]):not([data-theme=light]){
  --vx-canvas:#0B1B2E;--vx-band:#0F2238;--vx-surface:#12253B;--vx-surface-2:#162B44;
  --vx-ink:#F4F6F8;--vx-muted:#B2BFCD;--vx-line:#253A52;--vx-line-strong:#36506E;
  --vx-blue:#8AA9DF;--vx-blue-2:#A9C1EA;--vx-blue-hover:#B7CBEC;--vx-blue-text:#A9C1EA;--vx-blue-tint:#16304F;--vx-on-blue:#0B1B2E;
  --vx-signal-text:#7FD6E8;--vx-signal-ring:rgba(63,193,219,.28);--vx-proof:#3FC1DB;
  --vx-pass:#7FD4A4;--vx-pass-tint:#143A2A;--vx-warn:#F2C46B;--vx-warn-tint:#3A2E14;--vx-crit:#FF9C8F;--vx-crit-tint:#45201E;
  --vx-plate:#081626;--vx-plate-2:#12253B;
  --vx-stripe:linear-gradient(118deg,#133266 0%,#1E4FA3 28%,#2F64C4 52%,#0B6F82 78%,#3FC1DB 100%);
  --vx-glow-a:rgba(30,79,163,.55);--vx-glow-b:rgba(63,193,219,.20);--vx-glow-c:rgba(138,169,223,.14);
  --vx-grid:rgba(138,169,223,.07);
  --vx-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -10px rgba(0,0,0,.5);
  --vx-shadow-lg:0 1px 2px rgba(0,0,0,.3),0 30px 60px -24px rgba(0,0,0,.65),0 12px 30px -18px rgba(63,193,219,.12);
  --vx-chevron-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%23A9C1EA' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme:dark;
}}
/* Verunel customer-portal layer "Načrt Signal" (ALE-16). Portal routes only; the build writes
   signal-tokens.css + this file to sites/verunel-portal/assets/signal.css, which loads after
   nacrt.css. customer-portal.css keeps the document base and behaviour hooks; this layer owns the
   look of every cp-* component, so design-system/public-components.html renders the same
   specimens. Concept: a calm workspace on the light band, product windows for data, the Signal
   stripe for brand moments, Signal cyan only for live states and Pass green for ready results.
   Selectors start with [data-customer-portal] to outrank customer-portal.css and the legacy cp-*
   rules in nacrt.css; components adapt to their container (cp-frame, cp-main, cp-entry, cp-dialog). */

/* Aliases: the legacy --cp-* and action tokens follow the Signal palette inside the portal, so the
   rules in customer-portal.css and nacrt.css that still read them agree with this layer. */
[data-customer-portal],[data-native-callback]{
  --cp-bg:var(--vx-band);--cp-surface:var(--vx-surface);--cp-text:var(--vx-ink);--cp-muted:var(--vx-muted);
  --cp-border:var(--vx-line);--cp-control:var(--cp-field);--cp-brand:var(--vx-blue);--cp-tint:var(--vx-blue-tint);
  --cp-ready:var(--vx-pass);--cp-ready-bg:var(--vx-pass-tint);--cp-danger:var(--vx-crit);
  --action:var(--vx-blue);--action-hover:var(--vx-blue-hover);--on-action:var(--vx-on-blue);
  --cp-field:color-mix(in srgb,var(--vx-muted) 80%,var(--vx-surface));
  --cp-live-tint:color-mix(in srgb,var(--vx-signal) 14%,var(--vx-surface));
  --cp-icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --cp-icon-report:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 1.8h5.2l3.3 3.3v9.1H4zM9 1.8v3.4h3.4M6.3 8.4h3.8M6.3 11h3.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --cp-icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color:var(--vx-ink);font:400 16px/1.55 var(--vx-sans);-webkit-font-smoothing:antialiased
}
body:has(>[data-site-router] :is([data-customer-portal],[data-native-callback])){background:var(--vx-band)}

/* Base elements inside the portal. The embedded private report keeps the shared renderer's own
   element styles, so every element rule here skips .cp-embedded-report. */
[data-customer-portal] :is(h1,h2,h3,p):not(:is(.cp-embedded-report,.rx-download) *){margin:0}
[data-customer-portal] h1:not(:is(.cp-embedded-report,.rx-download) *){font:500 34px/1.1 var(--vx-display);letter-spacing:-.02em}
[data-customer-portal] h2:not(:is(.cp-embedded-report,.rx-download) *){font:500 22px/1.25 var(--vx-display);letter-spacing:-.01em}
[data-customer-portal] h3:not(:is(.cp-embedded-report,.rx-download) *){font:700 16px/1.35 var(--vx-sans);letter-spacing:0}
[data-customer-portal] a:not(:is(.cp-embedded-report,.rx-download) *){color:var(--vx-blue-text);text-decoration-thickness:1px;text-underline-offset:4px}
[data-customer-portal] :is(button,a,input,select,textarea,summary):not(:is(.cp-embedded-report,.rx-download) *):focus-visible{outline:2px solid var(--vx-blue);outline-offset:3px}
[data-customer-portal] button:not(:is(.cp-embedded-report,.rx-download) *){min-height:44px;padding:9px 16px;border:1px solid var(--vx-line-strong);border-radius:var(--vx-radius);background:var(--vx-surface);color:var(--vx-ink);font:600 14.5px/1.25 var(--vx-sans);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}
[data-customer-portal] button:not(:is(.cp-embedded-report,.rx-download) *):hover{border-color:var(--vx-blue);background:var(--vx-blue-tint);color:var(--vx-ink)}
[data-customer-portal] button:not(:is(.cp-embedded-report,.rx-download) *):disabled{opacity:.55}
[data-customer-portal] button:not(:is(.cp-embedded-report,.rx-download) *):disabled:hover{border-color:var(--vx-line-strong);background:var(--vx-surface)}
[data-customer-portal] :is(input:not([type=checkbox]),select,textarea):not(:is(.cp-embedded-report,.rx-download) *){width:100%;min-width:0;min-height:46px;padding:10px 14px;border:1px solid var(--cp-field);border-radius:var(--vx-radius);background-color:var(--vx-surface);color:var(--vx-ink);font:400 16px/1.4 var(--vx-sans);transition:border-color .15s,box-shadow .15s}
[data-customer-portal] :is(input:not([type=checkbox]),select,textarea):not(:is(.cp-embedded-report,.rx-download) *):hover{border-color:var(--vx-blue)}
[data-customer-portal] :is(input:not([type=checkbox]),select,textarea):not(:is(.cp-embedded-report,.rx-download) *):focus-visible{border-color:var(--vx-blue);outline-offset:1px;box-shadow:0 0 0 5px var(--vx-signal-ring)}
[data-customer-portal] :is(input:not([type=checkbox]),select,textarea):not(:is(.cp-embedded-report,.rx-download) *)[readonly]{background-color:var(--vx-surface-2);font:400 14px/1.4 var(--vx-mono)}
[data-customer-portal] select:not(:is(.cp-embedded-report,.rx-download) *){-webkit-appearance:none;appearance:none;padding-right:42px;background-image:var(--vx-chevron-img);background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
[data-customer-portal] input:not(:is(.cp-embedded-report,.rx-download) *)::placeholder{color:var(--vx-muted);opacity:.85}
[data-customer-portal] input[type=checkbox]:not(:is(.cp-embedded-report,.rx-download) *){width:20px;height:20px;accent-color:var(--vx-blue)}
[data-customer-portal] summary:not(:is(.cp-embedded-report,.rx-download) *){display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;font:700 15px/1.3 var(--vx-sans);color:var(--vx-ink);cursor:pointer;list-style:none}
[data-customer-portal] summary:not(:is(.cp-embedded-report,.rx-download) *)::-webkit-details-marker{display:none}
[data-customer-portal] summary:not(:is(.cp-embedded-report,.rx-download) *)::before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--cp-icon-chevron) center/contain no-repeat;mask:var(--cp-icon-chevron) center/contain no-repeat;transform:rotate(-90deg);transition:transform .2s}
[data-customer-portal] details[open]>summary:not(:is(.cp-embedded-report,.rx-download) *)::before{transform:none}
[data-customer-portal] .report-icon:not(:is(.cp-embedded-report,.rx-download) *){display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.15em}
[data-customer-portal] .cp-muted{color:var(--vx-muted);font-size:14.5px}

/* Primary action: the same gradient button as the public layer. */
[data-customer-portal] :is(.cp-primary,button.cp-primary){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--vx-blue);border-radius:var(--vx-radius);background:linear-gradient(135deg,var(--vx-blue),var(--vx-blue-2));color:var(--vx-on-blue);font:700 15px/1.2 var(--vx-sans);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px -12px rgba(30,79,163,.9)}
[data-customer-portal] :is(.cp-primary,button.cp-primary):hover{border-color:var(--vx-blue-hover);background:var(--vx-blue-hover);color:var(--vx-on-blue);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 28px -10px rgba(30,79,163,.85)}
[data-customer-portal] button.cp-primary:disabled:hover{border-color:var(--vx-blue);background:linear-gradient(135deg,var(--vx-blue),var(--vx-blue-2));box-shadow:none}
[data-customer-portal] .cp-primary .report-icon{width:16px;height:16px}

/* Frame and header. The frame is a size container: the header switches to a two-row layout with a
   segmented navigation when the workspace is narrow (phone frame or catalog column). */
[data-customer-portal] .cp-frame{container:cp-frame/inline-size;position:relative;isolation:isolate;min-height:100dvh;background:radial-gradient(900px 360px at 92% -80px,var(--vx-glow-b),transparent 70%),radial-gradient(760px 320px at 0 -120px,var(--vx-glow-c),transparent 70%),var(--vx-band)}
[data-customer-portal] .cp-frame::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:440px;background-image:linear-gradient(var(--vx-grid) 1px,transparent 1px),linear-gradient(90deg,var(--vx-grid) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);pointer-events:none}
[data-customer-portal] .cp-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;height:68px;padding:0 max(24px,calc((100% - 1132px)/2));background:color-mix(in srgb,var(--vx-surface) 84%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--vx-line)}
[data-customer-portal] .cp-header::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--vx-stripe)}
[data-customer-portal] :is(a,strong).cp-logo{display:inline-flex;align-items:center;gap:8px;font:700 20px/1 var(--vx-sans);letter-spacing:-.02em;color:var(--vx-ink);text-decoration:none}
[data-customer-portal] .cp-logo img{width:24px;height:24px;object-fit:contain;flex-shrink:0}
[data-customer-portal] .cp-header nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
[data-customer-portal] .cp-header nav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:10px;color:var(--vx-muted);font:600 14.5px/1.2 var(--vx-sans);text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s}
[data-customer-portal] .cp-header nav a:hover{color:var(--vx-ink);background:color-mix(in srgb,var(--vx-blue-tint) 70%,transparent)}
[data-customer-portal] .cp-header nav a[aria-current=page]{color:var(--vx-blue-text);background:var(--vx-blue-tint)}
[data-customer-portal] .cp-header nav a[aria-current=page]::after{content:"";position:absolute;left:14px;right:14px;bottom:-12px;height:2px;border-radius:2px;background:var(--vx-stripe)}
[data-customer-portal] .cp-account{position:relative;margin-left:auto}
/* customer-portal.css styles the avatar with !important declarations; this ring needs the same weight. */
[data-customer-portal] .cp-avatar{display:grid;place-items:center;width:40px;height:40px;min-height:40px!important;padding:0!important;border:2px solid transparent!important;border-radius:50%!important;background:linear-gradient(var(--vx-surface),var(--vx-surface)) padding-box,var(--vx-stripe) border-box!important;color:var(--vx-ink)!important;font:500 12px/1 var(--vx-mono)!important;letter-spacing:.04em}
[data-customer-portal] .cp-avatar:is(:hover,[aria-expanded=true]){box-shadow:0 0 0 4px var(--vx-signal-ring)}
[data-customer-portal] .cp-popover{position:absolute;right:0;top:calc(100% + 12px);z-index:50;width:272px;padding:6px;border:1px solid var(--vx-line);border-radius:14px;background:var(--vx-surface);box-shadow:var(--vx-shadow-lg);transform-origin:top right;animation:cp-pop .16s ease-out}
[data-customer-portal] .cp-popover p{margin:0 0 6px;padding:10px 12px 12px;border-bottom:1px solid var(--vx-line);font:400 12.5px/1.45 var(--vx-mono);color:var(--vx-muted);overflow-wrap:anywhere}
[data-customer-portal] .cp-popover :is(a,button){display:flex;align-items:center;width:100%;min-height:42px;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--vx-ink);font:500 14.5px/1.3 var(--vx-sans);text-align:left;text-decoration:none}
[data-customer-portal] .cp-popover :is(a,button):hover{background:var(--vx-blue-tint)}
[data-customer-portal] .cp-popover [data-action=logout]{margin-top:6px;box-shadow:0 -7px 0 -6px var(--vx-line)}
@container cp-frame (max-width:760px){
  [data-customer-portal] .cp-header{flex-wrap:wrap;height:auto;gap:10px 16px;padding:12px 16px 10px}
  [data-customer-portal] .cp-header>.cp-logo{flex:1}
  [data-customer-portal] .cp-account{order:1;margin-left:0}
  [data-customer-portal] .cp-header nav{order:2;flex:1 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;padding:4px;border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-surface-2)}
  [data-customer-portal] .cp-header nav a{min-height:40px;padding:8px 6px;border-radius:9px;font-size:13.5px}
  [data-customer-portal] .cp-header nav a[aria-current=page]{background:var(--vx-surface);box-shadow:var(--vx-shadow)}
  [data-customer-portal] .cp-header nav a[aria-current=page]::after{left:30%;right:30%;bottom:3px}
}

/* Workspace column, view heading and notices. */
[data-customer-portal] .cp-main{container:cp-main/inline-size;max-width:1180px;min-height:70vh;margin:0 auto;padding:44px 24px 88px;outline:none}
[data-customer-portal] .cp-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin:0 0 8px;padding:0}
[data-customer-portal] .cp-heading>:is(h1,h2){font:500 clamp(30px,4.4cqi,44px)/1.05 var(--vx-display);letter-spacing:-.025em;outline:none}
[data-customer-portal] .cp-heading>:is(h1,h2)::before{content:"";display:block;width:32px;height:3px;margin-bottom:16px;border-radius:3px;background:var(--vx-stripe)}
[data-customer-portal] [data-view-outlet]>.cp-muted{margin-top:28px}
[data-customer-portal] p.cp-notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--vx-pass) 30%,transparent);border-radius:var(--vx-radius);background:var(--vx-pass-tint);color:var(--vx-pass);font-weight:600}
[data-customer-portal] .cp-notice::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
[data-customer-portal] p.cp-notice.error{border-color:color-mix(in srgb,var(--vx-crit) 35%,transparent);background:var(--vx-crit-tint);color:var(--vx-crit)}
[data-customer-portal] .cp-error{color:var(--vx-crit);font-weight:600}
[data-customer-portal] .checkout-return{display:grid;justify-items:start;gap:8px;margin:0 0 24px;padding:20px 22px;border:1px solid var(--vx-line);border-left:4px solid var(--vx-signal);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
[data-customer-portal] .checkout-return.fulfilled{border-left-color:var(--vx-pass)}
[data-customer-portal] .checkout-return p{color:var(--vx-muted)}
[data-customer-portal] .cp-skeleton{display:grid;gap:14px;padding:6px 0 40px;color:var(--vx-muted);font:500 12px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase}
[data-customer-portal] .cp-skeleton::before,[data-customer-portal] .cp-skeleton::after{content:"";border-radius:12px;background:linear-gradient(90deg,var(--vx-surface-2) 0%,var(--vx-line) 45%,var(--vx-surface-2) 90%) 0 0/220% 100%;animation:cp-shimmer 1.4s linear infinite}
[data-customer-portal] .cp-skeleton::before{order:-1;width:min(280px,60%);height:44px}
[data-customer-portal] .cp-skeleton::after{height:132px;border-radius:16px}

/* Review meters: four tiles with a coloured top rule and large tabular numbers. */
[data-customer-portal] .cp-credit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 0}
[data-customer-portal] .cp-credit-summary>div{position:relative;display:grid;align-content:start;gap:6px;min-width:0;padding:20px 20px 18px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);overflow:hidden}
[data-customer-portal] .cp-credit-summary>div::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--vx-blue)}
[data-customer-portal] .cp-credit-summary>div:nth-child(2)::before{background:var(--vx-signal)}
[data-customer-portal] .cp-credit-summary>div:nth-child(3)::before{background:var(--vx-pass)}
[data-customer-portal] .cp-credit-summary>div:nth-child(4)::before{background:var(--vx-stripe)}
[data-customer-portal] .cp-credit-summary span{font:500 11.5px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted)}
[data-customer-portal] .cp-credit-summary strong{display:block;margin:4px 0 0;font:500 clamp(32px,4cqi,42px)/1 var(--vx-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--vx-ink);overflow-wrap:anywhere}
[data-customer-portal] .cp-credit-summary small{display:block;margin:2px 0 0;font-size:13px;line-height:1.45;color:var(--vx-muted)}
[data-customer-portal] .cp-credit-summary+p[role=status]{margin-top:14px;padding:12px 16px;border-radius:var(--vx-radius);background:var(--vx-warn-tint);color:var(--vx-warn);font-weight:600}
@container cp-main (max-width:860px){[data-customer-portal] .cp-credit-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@container cp-main (max-width:300px){[data-customer-portal] .cp-credit-summary{grid-template-columns:1fr}}

/* Live reviews: a Signal rule sweeps the panel while a review runs; each row states its step. */
[data-customer-portal] .cp-active{position:relative;display:grid;gap:0;margin-top:20px;padding:4px 0;border:1px solid color-mix(in srgb,var(--vx-signal) 45%,var(--vx-line));border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);overflow:hidden}
[data-customer-portal] .cp-active::before{content:"";position:absolute;top:0;left:0;width:40%;height:3px;background:linear-gradient(90deg,transparent,var(--vx-signal),transparent);animation:cp-sweep 1.8s linear infinite}
[data-customer-portal] .cp-active>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 20px;border-top:1px solid var(--vx-line)}
[data-customer-portal] .cp-active>div:first-child{border-top:0}
[data-customer-portal] .cp-active strong{font:700 15px/1.35 var(--vx-sans);overflow-wrap:anywhere}
[data-customer-portal] .cp-active>div>span:not(.cp-pulse){padding:2px 10px;border-radius:999px;background:var(--cp-live-tint);color:var(--vx-signal-text);font:500 12.5px/1.6 var(--vx-sans)}
[data-customer-portal] .cp-active>div[data-state=failed]>span:not(.cp-pulse){background:var(--vx-crit-tint);color:var(--vx-crit)}
[data-customer-portal] .cp-active>div[data-state=awaiting_configuration]>span:not(.cp-pulse){background:var(--vx-warn-tint);color:var(--vx-warn)}
[data-customer-portal] .cp-active a{margin-left:auto;font-weight:700;font-size:14.5px}
[data-customer-portal] .cp-pulse{flex:none;width:10px;height:10px;border-radius:50%;background:var(--vx-signal);animation:cp-pulse 1.8s ease-out infinite}
[data-customer-portal] .cp-active>div:is([data-state=failed],[data-state=awaiting_configuration]) .cp-pulse{background:var(--vx-line-strong);animation:none}

/* Report and website lists: one product window, rows with an icon tile, a status chip and actions.
   A report title stretches over its row, so the whole row opens the report. */
[data-customer-portal] .cp-list{margin-top:16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);overflow:hidden}
[data-customer-portal] .cp-row{position:relative;display:flex;align-items:center;gap:12px 18px;min-height:0;padding:16px 20px;border-bottom:1px solid var(--vx-line);transition:background-color .15s}
[data-customer-portal] .cp-row:last-child{border-bottom:0}
[data-customer-portal] .cp-list--reports .cp-row:hover{background:var(--vx-surface-2)}
[data-customer-portal] .cp-row-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--vx-blue-tint);color:var(--vx-blue-text)}
[data-customer-portal] .cp-row-icon .report-icon{width:20px;height:20px}
[data-customer-portal] .cp-list--sites .cp-row-icon{background:var(--cp-live-tint);color:var(--vx-signal-text)}
[data-customer-portal] .cp-row>div:not(.cp-row-actions){display:grid;gap:3px;flex:1;min-width:0}
[data-customer-portal] a.cp-row-title{font:700 16px/1.35 var(--vx-sans);color:var(--vx-ink);text-decoration:none;overflow-wrap:anywhere}
[data-customer-portal] .cp-row-title::after{content:"";position:absolute;inset:0}
[data-customer-portal] .cp-row-title:hover{text-decoration:underline}
[data-customer-portal] .cp-row h2{font:700 16px/1.35 var(--vx-sans);overflow-wrap:anywhere}
[data-customer-portal] .cp-row p{margin:0;font-size:14px;color:var(--vx-muted);font-variant-numeric:tabular-nums}
[data-customer-portal] .cp-row p:has(.cp-badge){margin:2px 0}
[data-customer-portal] .cp-row-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;font-size:14px}
[data-customer-portal] .cp-row-actions>:is(a,button){display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:40px;padding:8px 14px;border:1px solid var(--vx-line-strong);border-radius:999px;background:var(--vx-surface);color:var(--vx-ink);font:600 14px/1.1 var(--vx-sans);text-decoration:none;white-space:nowrap}
[data-customer-portal] .cp-row-actions>:is(a,button):hover{border-color:var(--vx-blue);background:var(--vx-blue-tint);color:var(--vx-blue-text)}
[data-customer-portal] .cp-row-actions>a .report-icon{transition:transform .15s}
[data-customer-portal] .cp-row-actions>a:hover .report-icon{transform:translateX(2px)}
[data-customer-portal] .cp-row-actions>[data-action=report-details]{justify-content:center;width:40px;padding:0;border-color:transparent;background:transparent}
[data-customer-portal] .cp-row-actions>[data-action=report-details] .report-icon{width:18px;height:18px;stroke-width:2.8}
[data-customer-portal] .cp-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;background:var(--vx-surface-2);box-shadow:inset 0 0 0 1px var(--vx-line);color:var(--vx-muted);font:600 12.5px/1.45 var(--vx-sans);white-space:nowrap}
[data-customer-portal] .cp-badge::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
[data-customer-portal] .cp-badge.ready{background:var(--vx-pass-tint);box-shadow:none;color:var(--vx-pass)}
[data-customer-portal] .cp-badge.info{background:var(--vx-blue-tint);box-shadow:none;color:var(--vx-blue-text)}
[data-customer-portal] .cp-badge.attention{background:var(--vx-warn-tint);box-shadow:none;color:var(--vx-warn)}
[data-customer-portal] .cp-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font:700 14.5px/1.3 var(--vx-sans);color:var(--vx-blue-text);text-decoration:none}
[data-customer-portal] .cp-more:hover{text-decoration:underline}
[data-customer-portal] .cp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin:10px 0 0}
[data-customer-portal] .cp-toolbar p{max-width:none}
[data-customer-portal] .cp-toolbar button{white-space:nowrap}
@container cp-main (max-width:640px){
  [data-customer-portal] .cp-row{flex-wrap:wrap;align-items:flex-start;padding:14px 16px}
  [data-customer-portal] .cp-row>div:not(.cp-row-actions){flex:1 1 calc(100% - 64px)}
  [data-customer-portal] .cp-list--reports .cp-badge{margin-left:56px}
  [data-customer-portal] .cp-row-actions{gap:4px;margin-left:auto}
  [data-customer-portal] .cp-list--reports .cp-row-actions>a{min-height:36px;padding:6px 12px}
  [data-customer-portal] .cp-row-actions>[data-action=report-details]{width:36px;min-height:36px}
  [data-customer-portal] .cp-list--sites .cp-row-actions{justify-content:flex-start;margin-left:56px}
}

/* Empty state: blueprint grid, the Signal tile and one action. */
[data-customer-portal] .cp-empty{position:relative;display:grid;justify-items:center;gap:12px;margin:20px 0;padding:56px 24px 48px;border:1px dashed var(--vx-line-strong);border-radius:var(--vx-radius-lg);background:linear-gradient(var(--vx-grid) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,var(--vx-grid) 1px,transparent 1px) 0 0/24px 24px,var(--vx-surface);text-align:center}
[data-customer-portal] .cp-empty::before{content:"";width:56px;height:56px;margin-bottom:6px;border-radius:16px;background:var(--vx-stripe);box-shadow:0 12px 24px -12px rgba(30,79,163,.7)}
[data-customer-portal] .cp-empty::after{content:"";position:absolute;top:72px;left:50%;width:24px;height:24px;margin-left:-12px;background:var(--vx-on-plate);-webkit-mask:var(--cp-icon-report) center/contain no-repeat;mask:var(--cp-icon-report) center/contain no-repeat}
[data-customer-portal] .cp-empty h2{font:500 26px/1.15 var(--vx-display)}
[data-customer-portal] .cp-empty p{max-width:44ch;color:var(--vx-muted)}

/* Search, filters and saved free checks. */
[data-customer-portal] .cp-search{display:grid;gap:8px;max-width:none;margin-top:24px;padding:16px 18px 6px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
[data-customer-portal] .cp-search>label{display:block;margin:0;font:500 11.5px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted)}
[data-customer-portal] .cp-inline{display:flex;gap:8px}
[data-customer-portal] .cp-inline button{flex:none}
[data-customer-portal] .cp-search details{margin:0;font-size:14px;color:var(--vx-ink)}
[data-customer-portal] .cp-search details>button{margin-bottom:12px}
[data-customer-portal] .cp-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 14px}
[data-customer-portal] .cp-filter-grid label{display:grid;gap:6px;font:600 13.5px/1.3 var(--vx-sans)}
[data-customer-portal] .cp-filter-grid label:last-child{grid-column:auto}
[data-customer-portal] .cp-filter-grid :is(input,select){margin:0}
@container cp-main (max-width:640px){[data-customer-portal] .cp-filter-grid{grid-template-columns:1fr 1fr}[data-customer-portal] .cp-filter-grid label:last-child{grid-column:1/-1}}
[data-customer-portal] .cp-saved{margin-top:28px;padding:2px 18px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);color:var(--vx-muted);font-size:14px}
[data-customer-portal] .cp-saved[open]{padding-bottom:10px}

/* Billing: section windows, the plan tile and history rows with values on the right. */
[data-customer-portal] .cp-section{margin-top:20px;padding:22px 24px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
[data-customer-portal] .cp-section>h2{margin:0 0 10px}
[data-customer-portal] .cp-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 10px}
[data-customer-portal] .cp-section>.cp-muted{margin-top:14px;font-size:14px}
[data-customer-portal] .cp-section>p:not([class]){margin-top:6px}
[data-customer-portal] .cp-plan{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 20px;margin-top:6px;padding:20px 20px 20px 24px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:linear-gradient(135deg,var(--vx-blue-tint),var(--vx-surface) 62%);overflow:hidden}
[data-customer-portal] .cp-plan::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--vx-stripe)}
[data-customer-portal] .cp-plan+.cp-plan{margin-top:12px}
[data-customer-portal] .cp-plan>div:first-child{display:grid;gap:3px;min-width:0}
[data-customer-portal] .cp-plan h3{font:500 26px/1.1 var(--vx-display);letter-spacing:-.01em}
[data-customer-portal] .cp-plan p{margin:0;font-size:14px;color:var(--vx-muted);font-variant-numeric:tabular-nums}
[data-customer-portal] .cp-plan-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
[data-customer-portal] .cp-plan-actions button{font-size:14px}
[data-customer-portal] .cp-plan-actions :is([data-action=cancel-plan],[data-action=cancel-credit-plan]){border-color:transparent;background:transparent;color:var(--vx-muted)}
[data-customer-portal] .cp-plan-actions :is([data-action=cancel-plan],[data-action=cancel-credit-plan]):hover{border-color:var(--vx-line-strong);background:var(--vx-surface);color:var(--vx-ink)}
[data-customer-portal] .cp-history{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:14px 0;border-bottom:1px solid var(--vx-line)}
[data-customer-portal] .cp-history:last-child{border-bottom:0;padding-bottom:4px}
[data-customer-portal] .cp-history>div:first-child{flex:1 1 220px;min-width:0}
[data-customer-portal] .cp-history strong{font:700 15px/1.35 var(--vx-sans);overflow-wrap:anywhere}
[data-customer-portal] .cp-history p{margin-top:2px;font-size:13.5px;color:var(--vx-muted);font-variant-numeric:tabular-nums}
[data-customer-portal] .cp-history>span{font:600 14px/1.3 var(--vx-sans);font-variant-numeric:tabular-nums;color:var(--vx-ink);white-space:nowrap}
[data-customer-portal] .cp-history>span small{display:block;font:400 12px/1.4 var(--vx-sans);color:var(--vx-muted);text-align:right}
[data-customer-portal] .cp-history>.cp-state{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;background:var(--vx-surface-2);box-shadow:inset 0 0 0 1px var(--vx-line);color:var(--vx-muted);font:600 12.5px/1.45 var(--vx-sans)}
[data-customer-portal] .cp-history>.cp-state::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
[data-customer-portal] .cp-history>.cp-state:is([data-state=consumed],[data-state=paid],[data-state=fulfilled],[data-state=completed],[data-state=active]){background:var(--vx-pass-tint);box-shadow:none;color:var(--vx-pass)}
[data-customer-portal] .cp-history>.cp-state:is([data-state=reserved],[data-state=open],[data-state=dispatching],[data-state=queued],[data-state=queued_for_run],[data-state=running]){background:var(--cp-live-tint);box-shadow:none;color:var(--vx-signal-text)}
[data-customer-portal] .cp-history>.cp-state:is([data-state=eligibility_review],[data-state=awaiting_configuration],[data-state=past_due],[data-state=unpaid]){background:var(--vx-warn-tint);box-shadow:none;color:var(--vx-warn)}
[data-customer-portal] .cp-history>.cp-state:is([data-state=failed]){background:var(--vx-crit-tint);box-shadow:none;color:var(--vx-crit)}
[data-customer-portal] .cp-history>a{display:inline-flex;align-items:center;gap:6px;font:700 14px/1.3 var(--vx-sans);overflow-wrap:anywhere}
[data-customer-portal] .cp-history>button{min-height:40px;font-size:14px}
[data-customer-portal] .cp-credit-kind{font:500 11px/1.4 var(--vx-mono);letter-spacing:.04em}
@container cp-main (max-width:640px){
  [data-customer-portal] .cp-section{padding:18px 16px}
  [data-customer-portal] .cp-plan{padding:18px 16px 18px 20px}
  [data-customer-portal] .cp-plan-actions{justify-content:flex-start}
}

/* Profile settings. */
[data-customer-portal] .cp-settings{display:grid;gap:10px;max-width:560px;margin-top:24px;padding:24px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
[data-customer-portal] .cp-settings>div{margin:0 0 8px;padding-bottom:16px;border-bottom:1px solid var(--vx-line)}
[data-customer-portal] .cp-settings>div p{margin-top:4px;font:400 14px/1.5 var(--vx-mono);color:var(--vx-muted);overflow-wrap:anywhere}
[data-customer-portal] .cp-settings label{margin-top:6px;font:700 14px/1.3 var(--vx-sans)}
[data-customer-portal] .cp-settings>p.cp-muted{margin-top:6px;font-size:13.5px}

/* Dialogs: a product window with the Signal rule; the new-report dialog fills a phone screen. */
[data-customer-portal] .cp-dialog{container:cp-dialog/inline-size;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:32px;border:1px solid var(--vx-line);border-radius:20px;background:var(--vx-surface);color:var(--vx-ink);box-shadow:var(--vx-shadow-lg);overflow:auto}
[data-customer-portal] .cp-dialog[open]{animation:cp-rise .2s ease-out}
[data-customer-portal] .cp-dialog::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--vx-stripe)}
[data-customer-portal] .cp-dialog::backdrop{background:rgba(11,27,46,.52);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
[data-customer-portal] .cp-dialog h1{margin:0 0 20px;padding-right:44px;font:500 30px/1.1 var(--vx-display);letter-spacing:-.02em}
[data-customer-portal] .cp-dialog h2{padding-right:44px;font:500 22px/1.25 var(--vx-display)}
[data-customer-portal] .cp-dialog :is([data-new-report],[data-details-content]) h2~h2{padding-right:0}
[data-customer-portal] .cp-dialog p{font-size:14.5px;color:var(--vx-muted)}
[data-customer-portal] .cp-dialog :is([data-details-content],[data-new-report]){display:grid;gap:16px}
[data-customer-portal] .cp-dialog :is(form,.cp-proof){display:grid;gap:10px}
[data-customer-portal] .cp-dialog :is(label,summary){font-size:14.5px}
[data-customer-portal] .cp-dialog label{font-weight:700}
/* customer-portal.css clears the close button background with !important; the sticky close button
   in a long dialog needs an opaque surface. */
[data-customer-portal] button.cp-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:40px;min-height:40px;padding:0;border:0;border-radius:999px;background:var(--vx-surface)!important;color:var(--vx-muted);box-shadow:inset 0 0 0 1px var(--vx-line)}
[data-customer-portal] button.cp-close:hover{color:var(--vx-ink);box-shadow:inset 0 0 0 1px var(--vx-blue),0 0 0 4px var(--vx-signal-ring)}
/* The new-report title row stays pinned with the stripe and close button while the scope list scrolls. */
[data-customer-portal] .cp-report-dialog::before{display:none}
[data-customer-portal] .cp-dialog-head{position:sticky;top:-32px;z-index:3;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:16px;margin:-32px -32px 18px;padding:26px 32px 14px;border-bottom:1px solid var(--vx-line);background:var(--vx-surface)}
[data-customer-portal] .cp-dialog-head::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--vx-stripe)}
[data-customer-portal] .cp-dialog .cp-dialog-head>:is(h1,h2){margin:0;padding:0;font:500 30px/1.1 var(--vx-display);letter-spacing:-.02em}
[data-customer-portal] .cp-dialog-head button.cp-close{position:static;flex:none;float:none;margin:0}
[data-customer-portal] [data-new-report]>p.cp-muted:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface-2);font:500 14px/1.4 var(--vx-mono);color:var(--vx-ink);overflow-wrap:anywhere}
[data-customer-portal] [data-new-report]>p.cp-muted:first-child button{min-height:34px;margin-left:auto;padding:4px 12px;border-radius:999px;font:600 13px/1.2 var(--vx-sans)}
@media (max-width:700px){
  [data-customer-portal] .cp-report-dialog{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:24px 18px;border:0;border-radius:0}
  [data-customer-portal] .cp-dialog-head{top:-24px;margin:-24px -18px 16px;padding:18px 18px 12px}
}
@media (max-width:520px){[data-customer-portal] .cp-dialog:not(.cp-report-dialog){padding:26px 18px}}

/* Plan choice: selectable cards with a radio indicator (aria-pressed). */
[data-customer-portal] .cp-offers{display:grid;gap:10px}
[data-customer-portal] .cp-offers button{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:16px 18px;border:1px solid var(--vx-line-strong);border-radius:var(--vx-radius-lg);background:var(--vx-surface);font-weight:400;text-align:left}
[data-customer-portal] .cp-offers button::before{content:"";grid-row:1/3;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--cp-field);transition:box-shadow .15s}
[data-customer-portal] .cp-offers button[aria-pressed=true]{border-color:var(--vx-blue);background:var(--vx-blue-tint);box-shadow:0 0 0 3px var(--vx-signal-ring)}
[data-customer-portal] .cp-offers button[aria-pressed=true]::before{box-shadow:inset 0 0 0 6px var(--vx-blue)}
[data-customer-portal] .cp-offers strong{font:500 20px/1.2 var(--vx-display)}
[data-customer-portal] .cp-offers span{font:700 15px/1.2 var(--vx-sans);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
[data-customer-portal] .cp-offers small{grid-column:2/-1;color:var(--vx-muted);font-size:13.5px}
@container cp-dialog (max-width:420px){[data-customer-portal] .cp-offers button{grid-template-columns:auto minmax(0,1fr)}[data-customer-portal] .cp-offers span{grid-column:2;text-align:left}[data-customer-portal] .cp-offers button::before{grid-row:1/4}}

/* Consent, quote and proof. */
[data-customer-portal] .cp-consent{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface-2);font:400 14.5px/1.5 var(--vx-sans)}
[data-customer-portal] .cp-dialog .cp-consent{font-weight:400}
[data-customer-portal] .cp-consent input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:var(--vx-blue)}
[data-customer-portal] .cp-consent a{text-decoration:underline;text-underline-offset:3px}
[data-customer-portal] .cp-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;margin:0;padding:4px 16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface-2);font-size:14.5px}
[data-customer-portal] .cp-quote :is(dt,dd){padding:10px 0;border-bottom:1px dashed var(--vx-line)}
[data-customer-portal] .cp-quote :is(dt,dd):nth-last-child(-n+2){border-bottom:0}
[data-customer-portal] .cp-quote dt{color:var(--vx-muted)}
[data-customer-portal] .cp-quote dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
@container cp-dialog (max-width:420px){[data-customer-portal] .cp-quote{grid-template-columns:1fr}[data-customer-portal] .cp-quote dt{padding-bottom:0;border-bottom:0}[data-customer-portal] .cp-quote dd{text-align:left;padding-top:2px}}
[data-customer-portal] .cp-proof{padding-top:16px;border-top:1px solid var(--vx-line)}
[data-customer-portal] .cp-proof pre{padding:14px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface-2);font:400 13px/1.5 var(--vx-mono);white-space:pre-wrap;overflow-wrap:anywhere}
[data-customer-portal] .cp-target{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--vx-line);overflow-wrap:anywhere}
[data-customer-portal] .cp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Review scope: numbered page cards; the entry page (first, deeper review) carries the stripe. */
[data-customer-portal] .cp-dialog p[data-page-count]{display:table;padding:3px 12px;border-radius:999px;background:var(--cp-live-tint);color:var(--vx-signal-text);font:500 13px/1.5 var(--vx-mono)}
[data-customer-portal] .cp-page-selection{counter-reset:cp-page;display:grid;gap:8px;margin:16px 0;padding:0;list-style:none}
[data-customer-portal] .cp-page-selection li{counter-increment:cp-page;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:10px 10px 10px 12px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface)}
[data-customer-portal] .cp-page-selection li::before{content:counter(cp-page,decimal-leading-zero);display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--vx-surface-2);box-shadow:inset 0 0 0 1px var(--vx-line);font:500 12px/1 var(--vx-mono);color:var(--vx-muted)}
[data-customer-portal] .cp-page-selection li:first-child{border-color:color-mix(in srgb,var(--vx-blue) 45%,var(--vx-line));background:linear-gradient(135deg,var(--vx-blue-tint),var(--vx-surface) 70%)}
[data-customer-portal] .cp-page-selection li:first-child::before{background:var(--vx-stripe);box-shadow:none;color:var(--vx-on-plate)}
[data-customer-portal] .cp-page-selection li>span{display:grid;gap:2px;min-width:0}
[data-customer-portal] .cp-page-selection li>span .cp-muted{font:500 11px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-blue-text)}
[data-customer-portal] .cp-page-selection code,[data-customer-portal] .cp-page-suggestions code{display:block;font:400 13px/1.45 var(--vx-mono);white-space:normal;overflow-wrap:anywhere}
[data-customer-portal] .cp-page-selection li button,[data-customer-portal] .cp-page-suggestions li button{min-height:36px;margin:0;padding:4px 12px;border-radius:999px;font-size:13px}
[data-customer-portal] .cp-page-suggestions{margin-block:16px}
[data-customer-portal] .cp-page-suggestions ul{max-height:20rem;overflow:auto;margin:8px 0;padding:4px 10px;list-style:none;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface-2)}
[data-customer-portal] .cp-page-suggestions li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--vx-line)}
[data-customer-portal] .cp-page-suggestions li:last-child{border-bottom:0}
[data-customer-portal] [data-review-pages]>button{margin:8px 8px 0 0}
@container cp-dialog (max-width:420px){[data-customer-portal] .cp-page-selection li{grid-template-columns:auto minmax(0,1fr)}[data-customer-portal] .cp-page-selection li button{grid-column:2;justify-self:start}}

/* Embedded private report: the shared renderer keeps its own layout; the way back is a pill. */
[data-customer-portal] .cp-report-back{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 24px;font-size:14px}
[data-customer-portal] .cp-report-back>a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px 8px 12px;border:1px solid var(--vx-line-strong);border-radius:999px;background:var(--vx-surface);color:var(--vx-ink);font:600 14px/1 var(--vx-sans);text-decoration:none;box-shadow:var(--vx-shadow)}
[data-customer-portal] .cp-report-back>a:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint);color:var(--vx-blue-text)}
[data-customer-portal] .cp-report-back .report-icon{transition:transform .15s}
[data-customer-portal] .cp-report-back>a:hover .report-icon{transform:translateX(-2px)}

/* Entry: opening and sign-in on the blueprint band; on wide screens a sample-report showcase sits
   beside the sign-in card. The callback page uses the same card. */
[data-customer-portal] .cp-entry{container:cp-entry/inline-size;position:relative;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px clamp(48px,6vw,112px);min-height:100dvh;padding:32px 20px;background:radial-gradient(800px 420px at 85% 0,var(--vx-glow-b),transparent 70%),radial-gradient(700px 420px at 10% 100%,var(--vx-glow-c),transparent 70%),var(--vx-band);overflow:hidden}
[data-customer-portal] .cp-entry::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(var(--vx-grid) 1px,transparent 1px),linear-gradient(90deg,var(--vx-grid) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);pointer-events:none}
[data-customer-portal] .cp-entry-card,[data-native-callback]{position:relative;display:grid;gap:18px;width:100%;max-width:440px;padding:38px 32px 30px;border:1px solid var(--vx-line);border-radius:20px;background:var(--vx-surface);color:var(--vx-ink);box-shadow:var(--vx-shadow-lg);overflow:hidden}
[data-customer-portal] .cp-entry-card::before,[data-native-callback]::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--vx-stripe)}
[data-customer-portal] .cp-entry-card .cp-logo{justify-self:start;margin-bottom:4px}
[data-customer-portal] .cp-entry-card>:is(h1,h2){font:500 32px/1.1 var(--vx-display);letter-spacing:-.02em}
[data-customer-portal] .cp-entry-card>p{color:var(--vx-muted)}
[data-customer-portal] .cp-entry-card>p:empty{margin-top:-18px}
[data-customer-portal] .cp-entry-card form{display:grid;gap:10px}
[data-customer-portal] .cp-entry-card label{font:700 14px/1.3 var(--vx-sans)}
[data-customer-portal] .cp-entry-card form .cp-primary{margin-top:4px}
[data-customer-portal] [data-login-message]:not(:empty){padding:12px 14px;border-radius:var(--vx-radius);background:var(--cp-live-tint);color:var(--vx-ink);font-weight:600}
[data-customer-portal] .cp-entry-card>button{justify-self:start}
[data-customer-portal] .cp-entry-card>a:last-child{justify-self:start;font-size:14px}
[data-customer-portal] .cp-entry[data-stage=opening] .cp-entry-card{max-width:400px}
[data-customer-portal] .cp-entry[data-stage=opening] .cp-entry-card>:is(h1,h2){font-size:26px}
[data-customer-portal] .cp-entry[data-stage=opening] .cp-entry-card::after{content:"";order:5;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--vx-signal),transparent) 0 0/45% 100% no-repeat,var(--vx-surface-2);animation:cp-load 1.5s ease-in-out infinite}
[data-customer-portal] .cp-entry-aside{display:none;flex:0 1 480px;min-width:0}
@container cp-entry (min-width:1000px){[data-customer-portal] .cp-entry-aside{display:block}}
[data-customer-portal] .cp-showcase{position:relative;isolation:isolate;display:grid;gap:22px;padding:34px;border-radius:24px;background:var(--vx-plate);color:var(--vx-on-plate);box-shadow:var(--vx-shadow-lg);overflow:hidden}
[data-customer-portal] .cp-showcase::before{content:"";position:absolute;z-index:-1;top:-34%;right:-30%;width:110%;height:62%;background:var(--vx-stripe);opacity:.6;transform:skewY(-14deg)}
[data-customer-portal] .cp-showcase::after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(244,246,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,246,248,.05) 1px,transparent 1px);background-size:32px 32px}
[data-customer-portal] .cp-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font:500 12px/1.4 var(--vx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vx-on-plate-accent)}
[data-customer-portal] .cp-eyebrow::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--vx-signal);box-shadow:0 0 0 4px var(--vx-signal-ring)}
[data-customer-portal] .cp-mini{display:grid;gap:16px;padding:20px;border-radius:16px;background:var(--vx-surface);color:var(--vx-ink);box-shadow:0 24px 48px -24px rgba(0,0,0,.6)}
[data-customer-portal] .cp-mini-top{display:flex;align-items:center;gap:18px}
[data-customer-portal] .cp-mini-score{position:relative;display:grid;place-items:center;flex:none;width:84px;height:84px}
[data-customer-portal] .cp-mini-score svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
[data-customer-portal] .cp-mini-score circle{fill:none;stroke-width:10}
[data-customer-portal] .cp-mini-track{stroke:var(--vx-line)}
[data-customer-portal] .cp-mini-value{stroke:var(--vx-warn);stroke-linecap:round}
[data-customer-portal] .cp-mini-score strong{position:relative;font:500 30px/1 var(--vx-display);letter-spacing:-.02em}
[data-customer-portal] .cp-mini dl{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;border:1px solid var(--vx-line);border-radius:10px;overflow:hidden;background:var(--vx-line)}
[data-customer-portal] .cp-mini dl>div{min-width:0;padding:8px 10px;background:var(--vx-surface)}
[data-customer-portal] .cp-mini dt{font:500 10.5px/1.4 var(--vx-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--vx-muted)}
[data-customer-portal] .cp-mini dd{margin:2px 0 0;font:500 20px/1.1 var(--vx-display);font-variant-numeric:tabular-nums}
[data-customer-portal] .cp-mini-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
[data-customer-portal] .cp-mini-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--vx-line);border-radius:10px;font-size:14px;line-height:1.35}
[data-customer-portal] .cp-when{flex:none;padding:2px 9px;border-radius:999px;font:500 11px/1.6 var(--vx-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
[data-customer-portal] .cp-when--now{background:var(--vx-blue);color:var(--vx-on-blue)}
[data-customer-portal] .cp-when--next{background:var(--vx-blue-tint);color:var(--vx-blue-text)}
[data-customer-portal] .cp-when--later{background:var(--vx-surface-2);box-shadow:inset 0 0 0 1px var(--vx-line);color:var(--vx-muted)}
[data-customer-portal] .cp-showcase-points{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
[data-customer-portal] .cp-showcase-points li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border:1px solid rgba(244,246,248,.16);border-radius:999px;background:rgba(244,246,248,.04);color:var(--vx-on-plate);font-size:13.5px}
[data-customer-portal] .cp-showcase-points li::before{content:"";flex:none;width:14px;height:14px;background:var(--vx-on-plate-accent);-webkit-mask:var(--cp-icon-check) center/contain no-repeat;mask:var(--cp-icon-check) center/contain no-repeat}
@container cp-entry (max-width:480px){[data-customer-portal] .cp-entry-card{padding:32px 20px 24px}[data-customer-portal] .cp-entry-card>:is(h1,h2){font-size:28px}}

/* Sign-in callback (/auth/callback): the entry card with the wordmark and a Signal ring. */
[data-native-callback]{justify-items:start;width:min(440px,calc(100% - 32px));min-height:0;margin:clamp(40px,16vh,160px) auto;text-align:left;font:400 16px/1.55 var(--vx-sans)}
[data-native-callback] .loading-ring{width:36px;height:36px;margin:0;border:3px solid var(--vx-line);border-top-color:var(--vx-signal);border-radius:50%;animation:cp-spin .9s linear infinite}
[data-native-callback] :is(h1,h2){margin:0;font:500 30px/1.1 var(--vx-display);letter-spacing:-.02em;color:var(--vx-ink)}
[data-native-callback] p{margin:0;color:var(--vx-muted)}
[data-native-callback] a.button{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--vx-blue);border-radius:var(--vx-radius);background:linear-gradient(135deg,var(--vx-blue),var(--vx-blue-2));color:var(--vx-on-blue);font:700 15px/1.2 var(--vx-sans);text-decoration:none}
[data-native-callback] a:focus-visible{outline:2px solid var(--vx-blue);outline-offset:3px}

@keyframes cp-pulse{0%{box-shadow:0 0 0 0 rgba(63,193,219,.55)}80%,100%{box-shadow:0 0 0 9px rgba(63,193,219,0)}}
@keyframes cp-sweep{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
@keyframes cp-load{from{background-position:-80% 0,0 0}to{background-position:180% 0,0 0}}
@keyframes cp-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
@keyframes cp-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cp-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes cp-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  [data-customer-portal] *,[data-customer-portal] *::before,[data-customer-portal] *::after,[data-native-callback] *{animation:none!important;transition:none!important}
}
/* Verunel report layer "Načrt Signal". The shared report renderer (report-render.ts) emits
   `.rx-*` markup for the private portal report, the public sample and shared reports. The build
   appends this file to the portal layer (signal.css) and writes it as public report.css; both
   pages already carry the --vx-* tokens. Every rule is scoped to `.rx-shell` (plus the download
   control, which the portal places outside the report), so legacy site.css report rules and the
   Tailwind preflight cannot change it. Components adapt to the report width (container queries). */
.rx-shell,.rx-download{
  --rx-high:var(--vx-crit);--rx-high-tint:var(--vx-crit-tint);
  --rx-medium:var(--vx-warn);--rx-medium-tint:var(--vx-warn-tint);
  --rx-low:var(--vx-blue-text);--rx-low-tint:var(--vx-blue-tint);
  --rx-live-tint:color-mix(in srgb,var(--vx-signal) 14%,var(--vx-surface));
}
.rx-shell{--rx-sticky-top:24px;--tone:var(--vx-blue);position:relative;container:rx-shell/inline-size;display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 32px;color:var(--vx-ink);font:400 16px/1.6 var(--vx-sans);text-align:left}
[data-customer-portal] .rx-shell{--rx-sticky-top:92px}
/* Standalone sample and shared reports carry their own page gutter; the portal embeds the report in its column. */
[data-native-report]:not([data-embedded])>.rx-shell{max-width:1320px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-right,0px)) 72px max(16px,env(safe-area-inset-left,0px))}
.rx-shell *,.rx-shell *::before,.rx-shell *::after{box-sizing:border-box}
.rx-shell [hidden],.rx-download [hidden]{display:none!important}
.rx-shell :is(h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure){margin:0}
.rx-shell :is(ul,ol){padding:0;list-style:none}
.rx-shell a{color:var(--vx-blue-text);text-decoration-thickness:1px;text-underline-offset:3px}
.rx-shell :is(a,button,summary,input,select,[tabindex]):focus-visible,.rx-download :is(a,button):focus-visible{outline:2px solid var(--vx-blue);outline-offset:3px}
.rx-shell code{font:400 .86em/1.4 var(--vx-mono);overflow-wrap:anywhere}
.rx-shell img{display:block;max-width:100%}
.rx-shell .report-icon{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.15em}
.rx-shell button{font:inherit;color:inherit}
.rx-shell .rx-muted{color:var(--vx-muted)}
.rx-shell .rx-small{font-size:13.5px}
.rx-shell .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Shell: a sticky contents panel beside the report; it wraps above the report when narrow. */
.rx-shell .rx-nav{position:sticky;top:var(--rx-sticky-top);flex:1 1 200px;display:grid;gap:14px;padding:16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
.rx-shell .rx-brand{display:inline-flex;align-items:center;gap:8px;color:var(--vx-ink);font:700 18px/1 var(--vx-sans);text-decoration:none}
.rx-shell .rx-brand .wordmark-mark,.rx-shell .rx-brand svg{width:22px;height:22px}
.rx-shell .rx-brand .verunel-mark-pieces{fill:var(--vx-ink)}.rx-shell .rx-brand .verunel-mark-proof{fill:var(--vx-blue)}
.rx-shell .rx-ref{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--vx-line)}
.rx-shell .rx-ref small{font:500 11px/1.4 var(--vx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vx-muted)}
.rx-shell .rx-ref span{white-space:nowrap;font:500 13.5px/1.4 var(--vx-mono);color:var(--vx-ink)}
.rx-shell .rx-ref code{font:inherit}
.rx-shell .rx-nav nav{display:grid;gap:2px}
.rx-shell .rx-nav nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:6px 10px;border-radius:8px;color:var(--vx-muted);font:600 14px/1.3 var(--vx-sans);text-decoration:none;transition:background-color .15s,color .15s}
.rx-shell .rx-nav nav a:hover{background:var(--vx-surface-2);color:var(--vx-ink)}
.rx-shell .rx-nav nav a[aria-current]{background:var(--vx-blue-tint);color:var(--vx-blue-text);box-shadow:inset 3px 0 0 var(--vx-blue)}
.rx-shell .rx-nav nav b{padding:2px 7px;border-radius:999px;background:var(--vx-surface-2);color:var(--vx-muted);font:500 12px/1.4 var(--vx-mono)}
.rx-shell .rx-main{flex:999 1 0;min-width:min(100%,72%);display:grid;gap:56px;margin:0;padding:0;border:0;font:inherit}
/* site.css styles .report-v2-main/.report-v2-shell (including an html[data-color-scheme] dark rule); these hooks stay for QA. */
.rx-shell.report-v2-shell .rx-main.report-v2-main{background:transparent;color:var(--vx-ink)}
/* Legacy site.css sets this hook to grid on wide screens and block below 800px; the report keeps its own flex layout. */
.rx-shell.report-v2-shell{display:flex;min-height:0;max-width:none;margin:0;padding:0;background:transparent}
@container rx-shell (max-width:860px){
  .rx-shell .rx-nav{position:static;flex-basis:100%;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:10px 12px}
  .rx-shell .rx-brand{display:none}
  .rx-shell .rx-ref{padding:0 12px 0 0;border:0;border-right:1px solid var(--vx-line)}
  .rx-shell .rx-nav nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}
  .rx-shell .rx-nav nav a{flex:none;white-space:nowrap}
  .rx-shell .rx-nav nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--vx-blue)}
}
@container rx-shell (max-width:520px){.rx-shell .rx-nav{grid-template-columns:1fr}.rx-shell .rx-ref{padding:0 0 8px;border:0;border-bottom:1px solid var(--vx-line)}}

/* Standalone toolbar (sample and shared reports) and the download control. */
.rx-shell .rx-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px}
.rx-shell .rx-back{display:inline-flex;align-items:center;gap:8px;margin-right:auto;min-height:40px;padding:8px 16px 8px 12px;border:1px solid var(--vx-line-strong);border-radius:999px;background:var(--vx-surface);color:var(--vx-ink);font:600 14px/1 var(--vx-sans);text-decoration:none}
.rx-shell .rx-back:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint)}
.rx-shell .rx-lang{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--vx-line);border-radius:10px;background:var(--vx-surface-2)}
.rx-shell .rx-lang a{min-width:40px;padding:6px 10px;border-radius:7px;color:var(--vx-muted);font:600 13px/1.2 var(--vx-mono);text-align:center;text-decoration:none}
.rx-shell .rx-lang a[aria-current]{background:var(--vx-surface);color:var(--vx-ink);box-shadow:var(--vx-shadow)}
.rx-download{position:relative;display:inline-flex;align-items:stretch;border-radius:var(--vx-radius);box-shadow:0 8px 20px -12px rgba(30,79,163,.9)}
.rx-download .rx-download-main,.rx-download .rx-download-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--vx-blue);background:var(--vx-blue);color:var(--vx-on-blue);font:700 15px/1.2 var(--vx-sans);text-decoration:none;cursor:pointer}
.rx-download .rx-download-main{padding:10px 16px;border-radius:var(--vx-radius) 0 0 var(--vx-radius)}
.rx-download.is-single .rx-download-main{border-radius:var(--vx-radius)}
.rx-download .rx-download-toggle{justify-content:center;width:44px;margin:0;padding:0;border-left-color:color-mix(in srgb,var(--vx-on-blue) 35%,var(--vx-blue));border-radius:0 var(--vx-radius) var(--vx-radius) 0}
.rx-download :is(.rx-download-main,.rx-download-toggle):hover{background:var(--vx-blue-hover);color:var(--vx-on-blue)}
.rx-download .rx-download-toggle[aria-expanded=true] .report-icon{transform:rotate(180deg)}
.rx-download .report-icon{width:16px;height:16px;transition:transform .15s}
.rx-download .rx-download-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:grid;width:280px;padding:6px;border:1px solid var(--vx-line);border-radius:14px;background:var(--vx-surface);box-shadow:var(--vx-shadow-lg)}
.rx-download .rx-download-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 12px;border-radius:9px;color:var(--vx-ink);font:500 14.5px/1.3 var(--vx-sans);text-decoration:none}
.rx-download .rx-download-menu a:hover{background:var(--vx-blue-tint)}
.rx-download .rx-download-menu small{padding:2px 8px;border-radius:999px;background:var(--vx-surface-2);color:var(--vx-muted);font:500 11px/1.5 var(--vx-mono)}

/* Sections. */
.rx-shell .rx-section{scroll-margin-top:calc(var(--rx-sticky-top) + 8px);display:grid;gap:22px;min-width:0}
.rx-shell .rx-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 32px}
.rx-shell .rx-section-head>p{flex:1 1 320px;max-width:52ch;color:var(--vx-muted);font-size:14px;line-height:1.55}
.rx-shell .rx-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:6px;font:500 12px/1.4 var(--vx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vx-blue-text)}
.rx-shell .rx-kicker::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--vx-signal);box-shadow:0 0 0 4px var(--vx-signal-ring)}
.rx-shell .rx-section-head h2{font:500 clamp(26px,3.2cqi,34px)/1.12 var(--vx-display);letter-spacing:-.015em}
.rx-shell .rx-block{display:grid;gap:12px}
.rx-shell .rx-block>h3{font:700 15px/1.3 var(--vx-sans)}
.rx-shell .rx-note{padding:12px 16px;border-radius:var(--vx-radius);background:var(--vx-surface-2);color:var(--vx-muted);font-size:14px}
.rx-shell .rx-empty{padding:28px 22px;border:1px dashed var(--vx-line-strong);border-radius:var(--vx-radius-lg);background:var(--vx-surface);color:var(--vx-muted);text-align:center}
.rx-shell .rx-reveal{justify-self:start;min-height:38px;padding:6px 14px;border:1px solid var(--vx-line-strong);border-radius:999px;background:var(--vx-surface);color:var(--vx-blue-text);font:600 13.5px/1.2 var(--vx-sans);cursor:pointer}
.rx-shell .rx-reveal:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint)}
.rx-shell .rx-sev{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font:600 12.5px/1.45 var(--vx-sans);white-space:nowrap}
.rx-shell .rx-sev::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.rx-shell .rx-sev b{font-weight:700}
.rx-shell .sev-high.rx-sev{background:var(--rx-high-tint);color:var(--rx-high)}
.rx-shell .sev-medium.rx-sev{background:var(--rx-medium-tint);color:var(--rx-medium)}
.rx-shell .sev-low.rx-sev{background:var(--rx-low-tint);color:var(--rx-low)}
.rx-shell .rx-sev.is-zero{background:var(--vx-surface-2);color:var(--vx-muted)}
.rx-shell .rx-ai-label{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:2px 9px;border-radius:999px;background:var(--rx-live-tint);color:var(--vx-signal-text);font:500 11px/1.6 var(--vx-mono);letter-spacing:.05em;text-transform:uppercase}

/* Overview: cutoff, headline and four tabs whose prepared messages explain the result. */
.rx-shell .rx-hero{scroll-margin-top:calc(var(--rx-sticky-top) + 8px);display:grid;gap:14px}
.rx-shell .rx-hero h1{max-width:24ch;font:500 clamp(32px,4.4cqi,48px)/1.06 var(--vx-display);letter-spacing:-.025em;text-wrap:balance}
.rx-shell .rx-lead{max-width:66ch;color:var(--vx-muted);font-size:17px;line-height:1.6}
.rx-shell .rx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.rx-shell .rx-kpi-cell{position:relative;display:grid}
.rx-shell .rx-kpi{position:relative;display:grid;align-content:space-between;gap:12px;min-height:122px;margin:0;padding:20px 18px 16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:inset 0 4px 0 var(--tone),var(--vx-shadow);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.rx-shell .rx-kpi:hover{border-color:var(--vx-line-strong);transform:translateY(-1px)}
.rx-shell .rx-kpi[aria-selected=true]{border-color:var(--tone);box-shadow:inset 0 4px 0 var(--tone),0 0 0 3px color-mix(in srgb,var(--tone) 20%,transparent),var(--vx-shadow-lg)}
.rx-shell .rx-kpi[aria-selected=true]::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;border-right:1px solid var(--tone);border-bottom:1px solid var(--tone);background:var(--vx-surface);transform:translateX(-50%) rotate(45deg)}
.rx-shell .rx-kpi-label{display:flex;align-items:center;gap:8px;font:500 11.5px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted)}
.rx-shell .rx-kpi-label .report-icon{width:15px;height:15px;color:var(--vx-muted);cursor:help}
.rx-shell .rx-kpi-value{display:flex;align-items:baseline;gap:4px}
.rx-shell .rx-kpi-value strong{font:500 46px/1 var(--vx-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tone)}
.rx-shell .rx-kpi-value small{color:var(--vx-muted);font:500 14px/1 var(--vx-mono)}
.rx-shell .tone-good{--tone:var(--vx-pass)}
.rx-shell .tone-needs-work{--tone:var(--vx-warn)}
.rx-shell .tone-poor{--tone:var(--vx-crit)}
.rx-shell .tone-info{--tone:var(--vx-blue-text)}
.rx-shell .tone-neutral{--tone:var(--vx-blue)}
.rx-shell .tone-unknown{--tone:var(--vx-muted)}
.rx-shell .rx-kpi.tone-neutral .rx-kpi-value strong{color:var(--vx-ink)}
.rx-shell .rx-tip{position:absolute;z-index:6;left:10px;right:10px;top:48px;padding:10px 12px;border:1px solid var(--vx-line-strong);border-radius:10px;background:var(--vx-plate);color:var(--vx-on-plate);font:400 13px/1.45 var(--vx-sans);text-transform:none;letter-spacing:0;box-shadow:var(--vx-shadow-lg);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s linear .15s}
.rx-shell :is(.rx-tip,.rx-term-tip)::before{content:"";position:absolute;top:-6px;left:var(--rx-tip-arrow,24px);width:10px;height:10px;border:1px solid var(--vx-line-strong);border-right:0;border-bottom:0;border-radius:2px 0 0 0;background:inherit;transform:translateX(-50%) rotate(45deg)}
.rx-shell :is(.rx-tip,.rx-term-tip)::after{content:"";position:absolute;inset:-14px 0 100%}
.rx-shell .rx-kpi-cell:not([data-rx-tip-dismissed]):is(:has(.rx-kpi-label .report-icon:hover),:has(.rx-tip:hover)) .rx-tip,.rx-shell .rx-kpi-cell:not([data-rx-tip-dismissed]) .rx-kpi:focus-visible+.rx-tip{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.rx-shell .rx-kpi-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;margin-top:6px;padding:20px 22px;border:1px solid var(--vx-line);border-left:4px solid var(--tone);border-radius:var(--vx-radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 9%,var(--vx-surface)),var(--vx-surface) 70%);animation:rx-rise .2s ease-out}
.rx-shell .rx-kpi-panel>div:first-child{flex:1 1 360px;display:grid;gap:4px}
.rx-shell .rx-kpi-panel strong{font:500 22px/1.25 var(--vx-display)}
.rx-shell .rx-kpi-panel p{color:var(--vx-muted);max-width:62ch}
.rx-shell .rx-panel-extra{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rx-shell .rx-sev-counts{display:flex;flex-wrap:wrap;gap:6px}
.rx-shell .rx-panel-link{display:inline-flex;align-items:center;gap:6px;font:700 14px/1.3 var(--vx-sans);text-decoration:none}
.rx-shell .rx-panel-link:hover{text-decoration:underline}
@container rx-shell (max-width:900px){.rx-shell .rx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-shell .rx-kpi[aria-selected=true]::after{display:none}}

/* Scope: the plan on an Ink plate, tools with durations and pages with warning counts. */
.rx-shell .rx-package{position:relative;isolation:isolate;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 32px;padding:24px 26px;border-radius:var(--vx-radius-lg);background:var(--vx-plate);color:var(--vx-on-plate);overflow:hidden;box-shadow:var(--vx-shadow-lg)}
.rx-shell .rx-package::before{content:"";position:absolute;z-index:-1;top:-60%;right:-12%;width:60%;height:180%;background:var(--vx-stripe);opacity:.38;transform:skewX(-18deg)}
.rx-shell .rx-package-main{flex:1 1 300px;display:grid;gap:6px;min-width:0}
.rx-shell .rx-package-main small{font:500 12px/1.4 var(--vx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vx-on-plate-accent)}
.rx-shell .rx-package-main strong{font:500 clamp(24px,3cqi,30px)/1.15 var(--vx-display)}
.rx-shell .rx-package-target{overflow-wrap:anywhere;font-size:14px}
.rx-shell .rx-package-target :is(a,code){color:var(--vx-on-plate-accent)}
.rx-shell .rx-package dl{flex:1 1 360px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;align-self:center;border-radius:12px;overflow:hidden;background:rgba(244,246,248,.14)}
.rx-shell .rx-package dl>div{padding:10px 14px;background:rgba(8,22,38,.55)}
.rx-shell .rx-package dt{font:500 10.5px/1.4 var(--vx-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--vx-on-plate-muted)}
.rx-shell .rx-package dd{margin:3px 0 0;font:600 15px/1.3 var(--vx-sans);font-variant-numeric:tabular-nums}
@container rx-shell (max-width:560px){.rx-shell .rx-package dl{grid-template-columns:1fr}}
.rx-shell .rx-tools{display:grid;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);overflow:hidden}
.rx-shell .rx-tools li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 16px;padding:11px 16px;border-top:1px solid var(--vx-line)}
.rx-shell .rx-tools li:first-child{border-top:0}
.rx-shell .rx-tool-name{font-weight:700}
.rx-shell .rx-tools code{padding:2px 8px;border-radius:6px;background:var(--vx-surface-2);color:var(--vx-muted);font-size:12px}
.rx-shell .rx-tool-time{min-width:72px;color:var(--vx-ink);font:600 14px/1.3 var(--vx-sans);font-variant-numeric:tabular-nums;text-align:right}
@container rx-shell (max-width:560px){.rx-shell .rx-tools li{grid-template-columns:1fr auto}.rx-shell .rx-tool-time{grid-column:1/-1;text-align:left;min-width:0}}
@container rx-shell (max-width:560px){.rx-shell .rx-table :is(td,thead th:not(:first-child)){width:58px;padding:10px 4px}.rx-shell .rx-table thead th{font-size:9.5px;letter-spacing:.02em}.rx-shell .rx-table tbody th{padding-right:6px}}
.rx-shell .rx-table-wrap{overflow-x:auto;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface)}
.rx-shell .rx-table{width:100%;border-collapse:collapse;font-size:14.5px}
.rx-shell .rx-table th,.rx-shell .rx-table td{padding:11px 16px;border-top:1px solid var(--vx-line);text-align:left;vertical-align:middle}
.rx-shell .rx-table thead th{border-top:0;background:var(--vx-surface-2);font:500 11px/1.4 var(--vx-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--vx-muted)}
.rx-shell .rx-table :is(td,thead th:not(:first-child)){width:92px;text-align:center}
.rx-shell .rx-table tbody th{font-weight:400}
.rx-shell .rx-page-path{display:block;font-weight:700;overflow-wrap:anywhere}
.rx-shell .rx-page-host{display:block;color:var(--vx-muted);font-size:12.5px;overflow-wrap:anywhere}
.rx-shell .rx-page-host a{color:var(--vx-muted)}
.rx-shell .rx-count{display:inline-grid;place-items:center;min-width:30px;padding:2px 8px;border-radius:999px;font:700 13px/1.4 var(--vx-sans);font-variant-numeric:tabular-nums}
.rx-shell .rx-count.sev-high{background:var(--rx-high-tint);color:var(--rx-high)}
.rx-shell .rx-count.sev-medium{background:var(--rx-medium-tint);color:var(--rx-medium)}
.rx-shell .rx-count.sev-low{background:var(--rx-low-tint);color:var(--rx-low)}
.rx-shell .rx-count.is-zero{color:var(--vx-muted);font-weight:400}

/* Handoff pack: what is for whom, with downloads only. */
.rx-shell .rx-handoff{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.rx-shell .rx-handoff-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;align-content:start;gap:12px;padding:20px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
.rx-shell .rx-handoff-card>header{display:flex;align-items:center;gap:12px}
.rx-shell .rx-handoff-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--vx-stripe);color:var(--vx-on-plate)}
.rx-shell .rx-handoff-card.developer .rx-handoff-icon{background:linear-gradient(135deg,var(--vx-plate),var(--vx-blue))}
.rx-shell .rx-handoff-card.full .rx-handoff-icon{background:var(--vx-plate)}
.rx-shell .rx-handoff-icon .report-icon{width:22px;height:22px}
.rx-shell .rx-handoff-card h3{font:500 21px/1.2 var(--vx-display)}
.rx-shell .rx-handoff-card>p{color:var(--vx-muted);font-size:14.5px}
.rx-shell .rx-handoff-action{align-self:end}
.rx-shell .rx-pdf-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--vx-blue);border-radius:var(--vx-radius);background:var(--vx-blue);color:var(--vx-on-blue);font:700 15px/1.2 var(--vx-sans);text-decoration:none;box-shadow:0 8px 20px -14px rgba(30,79,163,.9)}
.rx-shell .rx-pdf-button:hover{background:var(--vx-blue-hover);color:var(--vx-on-blue)}
.rx-shell .rx-other-formats{display:grid;align-content:start;gap:4px}
.rx-shell .rx-other-formats:not(:empty){padding-top:10px;border-top:1px dashed var(--vx-line)}
.rx-shell .rx-other-formats>small{color:var(--vx-muted);font:500 11px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase}
.rx-shell .rx-file-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:4px 8px 4px 4px;border-radius:10px;color:var(--vx-ink);font:600 14px/1.3 var(--vx-sans);text-decoration:none}
.rx-shell .rx-file-link:hover{background:var(--vx-blue-tint)}
.rx-shell .rx-file-link .rx-format{min-width:40px;height:28px;font-size:10.5px}
.rx-shell .rx-file-link .report-icon{color:var(--vx-muted)}

/* What already works well. */
.rx-shell .rx-strength-ai{display:grid;gap:8px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--vx-pass) 30%,var(--vx-line));border-radius:var(--vx-radius-lg);background:linear-gradient(135deg,var(--vx-pass-tint),var(--vx-surface) 75%)}
.rx-shell .rx-strength-ai li{display:flex;align-items:flex-start;gap:10px}
.rx-shell .rx-strength-ai li .report-icon{margin-top:5px;color:var(--vx-pass)}
.rx-shell .rx-strengths{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
.rx-shell .rx-strength{display:grid;align-content:start;gap:10px;padding:16px 18px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface)}
.rx-shell .rx-strength header{display:flex;align-items:center;gap:12px}
.rx-shell .rx-strength-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--vx-pass-tint);color:var(--vx-pass)}
.rx-shell .rx-strength h3{font:700 15px/1.3 var(--vx-sans)}
.rx-shell .rx-strength small{color:var(--vx-pass);font:600 12.5px/1.4 var(--vx-sans)}
.rx-shell .rx-strength ul{display:grid;gap:5px;font-size:14px;color:var(--vx-muted)}
.rx-shell .rx-strength li{padding-left:14px;background:linear-gradient(var(--vx-pass),var(--vx-pass)) 0 .62em/6px 2px no-repeat}

/* Seven pillars: low cards that open into an AI summary and the measurement list. */
.rx-shell .rx-pillars{display:grid;gap:10px}
.rx-shell .rx-pillar{border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);overflow:hidden;transition:border-color .15s}
.rx-shell .rx-pillar.is-open{border-color:color-mix(in srgb,var(--tone) 45%,var(--vx-line))}
.rx-shell .rx-pillar-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px 18px;width:100%;min-height:84px;margin:0;padding:14px 18px;border:0;background:transparent;text-align:left;cursor:pointer}
.rx-shell .rx-pillar-head:hover{background:var(--vx-surface-2)}
.rx-shell .rx-ring{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--tone) calc(var(--v) * 1%),var(--vx-line) 0)}
.rx-shell .rx-ring::before{content:"";grid-area:1/1;width:44px;height:44px;border-radius:50%;background:var(--vx-surface)}
.rx-shell .rx-pillar-head:hover .rx-ring::before{background:var(--vx-surface-2)}
.rx-shell .rx-ring b{grid-area:1/1;position:relative;font:500 19px/1 var(--vx-display);font-variant-numeric:tabular-nums}
.rx-shell .rx-pillar-title{display:grid;gap:2px;min-width:0}
.rx-shell .rx-pillar-title strong{font:500 20px/1.25 var(--vx-display)}
.rx-shell .rx-pillar-title small{color:var(--vx-muted);font:400 13px/1.4 var(--vx-mono)}
.rx-shell .rx-pillar-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}
.rx-shell .rx-passed{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--vx-pass-tint);color:var(--vx-pass);font:600 12.5px/1.45 var(--vx-sans)}
.rx-shell .rx-chevron{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--vx-muted);transition:transform .2s}
.rx-shell [aria-expanded=true] .rx-chevron,.rx-shell details[open]>summary .rx-chevron{transform:rotate(180deg)}
.rx-shell .rx-pillar-body{display:grid;gap:18px;padding:4px 18px 20px;border-top:1px solid var(--vx-line);animation:rx-rise .2s ease-out}
.rx-shell .rx-pillar-description{padding-top:14px;color:var(--vx-muted);font-size:14.5px}
.rx-shell .rx-pillar-view{display:grid;gap:10px}
.rx-shell .rx-pillar-view>h4{font:500 11.5px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted)}
.rx-shell .rx-ai-summary{display:grid;gap:12px;padding:16px 18px;border-radius:var(--vx-radius);background:var(--vx-surface-2)}
.rx-shell .rx-dept{display:grid;gap:6px}
.rx-shell .rx-dept h5{font:700 14px/1.3 var(--vx-sans)}
.rx-shell .rx-dept ul{display:grid;gap:6px}
.rx-shell .rx-dept li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;font-size:15px}
.rx-shell .rx-dot{width:8px;height:8px;border-radius:50%;background:var(--rx-low);transform:translateY(-1px)}
.rx-shell .sev-high>.rx-dot{background:var(--rx-high)}.rx-shell .sev-medium>.rx-dot{background:var(--rx-medium)}
.rx-shell .rx-finding-link{white-space:nowrap;font:600 12.5px/1.4 var(--vx-sans)}
.rx-shell .rx-metrics{display:grid;border:1px solid var(--vx-line);border-radius:var(--vx-radius);overflow:hidden}
.rx-shell .rx-metric{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:10px 14px;border-top:1px solid var(--vx-line);font-size:14.5px}
.rx-shell .rx-metric:first-child{border-top:0}
.rx-shell .rx-outcome{display:inline-flex;align-items:center;gap:6px;color:var(--vx-muted);font:600 12.5px/1.3 var(--vx-sans)}
.rx-shell .rx-outcome i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--vx-surface-2);font:700 12px/1 var(--vx-sans);font-style:normal}
.rx-shell .outcome-failed .rx-outcome,.rx-shell .outcome-error .rx-outcome{color:var(--rx-high)}
.rx-shell .outcome-failed .rx-outcome i,.rx-shell .outcome-error .rx-outcome i{background:var(--rx-high-tint)}
.rx-shell .outcome-warning .rx-outcome,.rx-shell .outcome-blocked .rx-outcome{color:var(--rx-medium)}
.rx-shell .outcome-warning .rx-outcome i,.rx-shell .outcome-blocked .rx-outcome i{background:var(--rx-medium-tint)}
.rx-shell .outcome-passed .rx-outcome{color:var(--vx-pass)}.rx-shell .outcome-passed .rx-outcome i{background:var(--vx-pass-tint)}
.rx-shell .rx-metric-name{display:grid;gap:1px;min-width:0}
.rx-shell .rx-metric-name strong{font-weight:600;overflow-wrap:anywhere}
.rx-shell .rx-metric-name code{color:var(--vx-muted);font-size:11.5px}
.rx-shell .rx-metric-points{color:var(--vx-muted);font:400 13px/1.3 var(--vx-mono);white-space:nowrap}
.rx-shell .rx-metric-points b{color:var(--vx-ink);font-weight:500}
.rx-shell .rx-metric-links{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:6px}
.rx-shell .rx-metric-links:empty{display:none}
.rx-shell .rx-ev-link{display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;background:var(--vx-blue-tint);color:var(--vx-blue-text);font:500 12px/1.6 var(--vx-mono);text-decoration:none}
.rx-shell .rx-ev-link:hover{background:var(--vx-blue);color:var(--vx-on-blue)}
@container rx-shell (max-width:640px){
  .rx-shell .rx-pillar-head{grid-template-columns:auto minmax(0,1fr) auto;padding:12px 14px}
  .rx-shell .rx-pillar-stats{grid-column:2/3;justify-content:flex-start}
  .rx-shell .rx-chevron{grid-row:1;grid-column:3}
  .rx-shell .rx-metric{grid-template-columns:minmax(0,1fr) auto}
  .rx-shell .rx-outcome{grid-column:1/-1}
  .rx-shell .rx-metric-links{grid-column:1/-1}
}

/* Changes over time. */
.rx-shell .rx-changes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px}
.rx-shell .rx-changes article{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface)}
.rx-shell .rx-changes small{color:var(--vx-muted);font-size:13px}
.rx-shell .rx-changes strong{font:500 30px/1 var(--vx-display);font-variant-numeric:tabular-nums}
.rx-shell .rx-changes .positive strong{color:var(--vx-pass)}.rx-shell .rx-changes .negative strong{color:var(--vx-crit)}

/* Findings: filter bar and expandable fix cards. */
.rx-shell .rx-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
.rx-shell .rx-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--vx-line-strong);border-radius:10px;background:var(--vx-surface-2);color:var(--vx-muted)}
.rx-shell .rx-search:focus-within{border-color:var(--vx-blue);box-shadow:0 0 0 4px var(--vx-signal-ring)}
.rx-shell .rx-search input{flex:1;min-width:0;height:40px;border:0;background:transparent;color:var(--vx-ink);font:400 15px/1.4 var(--vx-sans);outline:none}
.rx-shell .rx-segment{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-surface-2)}
.rx-shell .rx-segment button{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:0;padding:5px 12px;border:0;border-radius:9px;background:transparent;color:var(--vx-muted);font:600 13.5px/1.2 var(--vx-sans);cursor:pointer}
.rx-shell .rx-segment button b{font:500 12px/1 var(--vx-mono)}
.rx-shell .rx-segment button[aria-pressed=true]{background:var(--vx-surface);color:var(--vx-ink);box-shadow:var(--vx-shadow)}
.rx-shell .rx-segment button.sev-high[aria-pressed=true]{color:var(--rx-high)}.rx-shell .rx-segment button.sev-medium[aria-pressed=true]{color:var(--rx-medium)}.rx-shell .rx-segment button.sev-low[aria-pressed=true]{color:var(--rx-low)}
.rx-shell .rx-filters select{flex:0 1 230px;min-width:0;min-height:42px;padding:8px 38px 8px 12px;border:1px solid var(--vx-line-strong);border-radius:10px;background:var(--vx-surface) var(--vx-chevron-img) no-repeat right 12px center/16px;color:var(--vx-ink);font:500 14px/1.3 var(--vx-sans);-webkit-appearance:none;appearance:none}
.rx-shell .rx-filter-count{margin-left:auto;padding:0 6px;color:var(--vx-muted);font:500 13px/1 var(--vx-mono)}
.rx-shell .rx-findings{display:grid;gap:10px}
.rx-shell .rx-finding{--sev:var(--rx-low);border:1px solid var(--vx-line);border-left:4px solid var(--sev);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);scroll-margin-top:calc(var(--rx-sticky-top) + 8px)}
.rx-shell .rx-finding.sev-high{--sev:var(--rx-high)}.rx-shell .rx-finding.sev-medium{--sev:var(--rx-medium)}
.rx-shell .rx-finding>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.rx-shell .rx-finding>summary::-webkit-details-marker{display:none}
.rx-shell .rx-finding>summary:hover{background:var(--vx-surface-2)}
.rx-shell .rx-finding-num{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--sev) 12%,var(--vx-surface));color:var(--sev);font:500 14px/1 var(--vx-mono)}
.rx-shell .rx-finding-head{display:grid;gap:5px;min-width:0}
.rx-shell .rx-finding-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--vx-muted);font-size:13px}
.rx-shell .rx-finding-head>strong{font:500 21px/1.25 var(--vx-display);overflow-wrap:anywhere}
.rx-shell .rx-finding-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--vx-muted);font-size:13.5px}
.rx-shell .rx-views{display:inline-flex;flex-wrap:wrap;gap:6px}
.rx-shell .rx-view{padding:1px 8px;border:1px solid var(--vx-line);border-radius:999px;background:var(--vx-surface-2);color:var(--vx-muted);font:500 11.5px/1.6 var(--vx-sans)}
.rx-shell .rx-finding-body{display:grid;gap:16px;padding:4px 18px 20px 70px;animation:rx-rise .2s ease-out}
.rx-shell .rx-measured{display:grid;gap:14px;padding:16px 18px;border-radius:var(--vx-radius);background:color-mix(in srgb,var(--sev) 7%,var(--vx-surface));box-shadow:inset 3px 0 0 var(--sev)}
.rx-shell .rx-measured.has-shot{grid-template-columns:minmax(0,1fr) 180px;align-items:center}
.rx-shell .rx-measured p{font:500 17px/1.55 var(--vx-sans)}
.rx-shell .rx-measured-shot{order:2;display:block;border:1px solid var(--vx-line);border-radius:10px;overflow:hidden;background:var(--vx-surface)}
.rx-shell .rx-measured-shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.rx-shell .rx-finding-blocks{display:grid;gap:14px}
.rx-shell .rx-finding-blocks section{display:grid;gap:4px}
.rx-shell .rx-finding-blocks h4{font:500 11.5px/1.4 var(--vx-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--vx-muted)}
.rx-shell .rx-finding-blocks p{max-width:72ch}
.rx-shell .rx-goal{color:var(--vx-muted);font-size:14.5px}
.rx-shell .rx-finding-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}
.rx-shell .rx-effort{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 10px;border:1px solid var(--vx-line);border-radius:999px;background:var(--vx-surface);font:600 13px/1.3 var(--vx-sans)}
.rx-shell .rx-effort-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.rx-shell .rx-effort-bars i{display:block;width:4px;border-radius:2px;background:var(--vx-line-strong)}
.rx-shell .rx-effort-bars i:nth-child(1){height:6px}.rx-shell .rx-effort-bars i:nth-child(2){height:10px}.rx-shell .rx-effort-bars i:nth-child(3){height:14px}
.rx-shell .effort-S .rx-effort-bars i:nth-child(1),.rx-shell .effort-M .rx-effort-bars i:nth-child(-n+2),.rx-shell .effort-L .rx-effort-bars i{background:var(--vx-blue)}
.rx-shell .rx-owner{padding:4px 12px;border-radius:999px;background:var(--vx-blue-tint);color:var(--vx-blue-text);font:600 13px/1.3 var(--vx-sans)}
.rx-shell .rx-copy{display:inline-flex;align-items:center;gap:6px;min-height:34px;margin:0 0 0 auto;padding:4px 12px;border:1px solid var(--vx-line-strong);border-radius:999px;background:var(--vx-surface);color:var(--vx-ink);font:600 13px/1.2 var(--vx-sans);cursor:pointer}
.rx-shell .rx-copy:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint)}
.rx-shell .rx-disclosure{border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface)}
.rx-shell .rx-disclosure>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;cursor:pointer;list-style:none;font:700 14.5px/1.3 var(--vx-sans)}
.rx-shell .rx-disclosure>summary::-webkit-details-marker{display:none}
.rx-shell .rx-disclosure>summary::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--cp-icon-chevron,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")) center/contain no-repeat;mask:var(--cp-icon-chevron,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")) center/contain no-repeat;transform:rotate(-90deg);transition:transform .2s}
.rx-shell .rx-disclosure[open]>summary::before{transform:none}
.rx-shell .rx-disclosure>summary b{padding:1px 9px;border-radius:999px;background:var(--vx-surface-2);color:var(--vx-muted);font:500 12px/1.6 var(--vx-mono)}
.rx-shell .rx-disclosure>:not(summary){margin:0 14px 14px}
.rx-shell .rx-page-list{display:grid;border-top:1px solid var(--vx-line)}
.rx-shell .rx-page-list li{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--vx-line)}
.rx-shell .rx-page-list li:last-child{border-bottom:0}
.rx-shell .rx-page-list li>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.rx-shell .rx-page-list li>div a,.rx-shell .rx-page-list li>div code{color:var(--vx-muted);font-size:12.5px;overflow-wrap:anywhere}
.rx-shell .rx-element{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--vx-muted);font-size:13.5px}
.rx-shell .rx-element code{padding:1px 6px;border-radius:5px;background:var(--vx-surface-2);color:var(--vx-ink)}
.rx-shell .rx-ev-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px}
.rx-shell .rx-ev-chip{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;padding:8px;border:1px solid var(--vx-line);border-radius:10px;color:var(--vx-ink);text-decoration:none}
.rx-shell .rx-ev-chip:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint)}
.rx-shell .rx-ev-thumb{display:grid;place-items:center;width:56px;height:42px;border-radius:7px;background:var(--vx-surface-2);overflow:hidden;color:var(--vx-muted);font:500 11px/1 var(--vx-mono)}
.rx-shell .rx-ev-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.rx-shell .rx-ev-chip>span:last-child{display:grid;gap:1px;min-width:0;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere}
.rx-shell .rx-ev-chip b{color:var(--vx-blue-text);font:500 12px/1.4 var(--vx-mono)}
.rx-shell .rx-ev-chip small{color:var(--vx-muted);font-size:12px}
.rx-shell .rx-ai-review{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--vx-muted);font-size:13px}
@container rx-shell (max-width:640px){
  .rx-shell .rx-finding>summary{padding:14px}
  .rx-shell .rx-finding-body{padding:4px 14px 18px}
  .rx-shell .rx-measured.has-shot{grid-template-columns:1fr}
  .rx-shell .rx-measured-shot{order:0}
  .rx-shell .rx-copy{margin-left:0}
  .rx-shell .rx-filter-count{margin-left:0}
}

/* Improvement plan: a three-column board with numbered steps. */
.rx-shell .rx-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.rx-shell .rx-column{--prio:var(--vx-blue);display:grid;gap:10px;padding:14px;border-radius:var(--vx-radius-lg);background:var(--vx-surface-2);box-shadow:inset 0 3px 0 var(--prio)}
.rx-shell .rx-column.prio-next{--prio:var(--vx-signal)}
.rx-shell .rx-column.prio-later{--prio:var(--vx-line-strong)}
.rx-shell .rx-column>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:4px 4px 2px}
.rx-shell .rx-column h3{font:500 22px/1.2 var(--vx-display)}
.rx-shell .rx-column>header b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--vx-surface);color:var(--vx-ink);font:500 13px/1 var(--vx-mono);box-shadow:var(--vx-shadow)}
.rx-shell .rx-column>header p{grid-column:1/-1;color:var(--vx-muted);font-size:13px}
.rx-shell .rx-tasks{display:grid;gap:10px}
.rx-shell .rx-task{display:grid;gap:10px;padding:16px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface);box-shadow:var(--vx-shadow)}
.rx-shell .rx-task-top{display:flex;flex-wrap:wrap;gap:6px}
.rx-shell .rx-task-top .rx-effort,.rx-shell .rx-task-top .rx-owner{font-size:12px}
.rx-shell .rx-task h4{font:700 16px/1.35 var(--vx-sans)}
.rx-shell .rx-task>p{color:var(--vx-muted);font-size:14px;line-height:1.5}
.rx-shell .rx-steps{display:grid;gap:8px;counter-reset:none}
.rx-shell .rx-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.5}
.rx-shell .rx-steps li>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--vx-blue-tint);color:var(--vx-blue-text);font:500 12px/1 var(--vx-mono)}
.rx-shell .rx-task-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px dashed var(--vx-line)}
@container rx-shell (max-width:900px){.rx-shell .rx-board{grid-template-columns:1fr}}

/* Evidence files (D01 …) and data exports. */
.rx-shell .rx-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}
.rx-shell .rx-file{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface);box-shadow:var(--vx-shadow);overflow:hidden;scroll-margin-top:calc(var(--rx-sticky-top) + 8px)}
.rx-shell .rx-file:target{border-color:var(--vx-blue);box-shadow:0 0 0 3px var(--vx-signal-ring),var(--vx-shadow-lg)}
.rx-shell .rx-file-thumb{display:block;aspect-ratio:16/9;background:var(--vx-surface-2);border-bottom:1px solid var(--vx-line);overflow:hidden}
.rx-shell .rx-file-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.rx-shell .rx-file-thumb.is-file{display:grid;place-items:center;background:linear-gradient(135deg,var(--vx-blue-tint),var(--vx-surface-2));color:var(--vx-blue-text);font:500 22px/1 var(--vx-mono);letter-spacing:.06em}
.rx-shell .rx-file-body{display:grid;align-content:start;gap:6px;padding:14px 16px}
.rx-shell .rx-file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--vx-muted);font-size:12.5px}
.rx-shell .rx-ev-tag{padding:1px 8px;border-radius:6px;background:var(--vx-blue);color:var(--vx-on-blue);font:500 12px/1.6 var(--vx-mono)}
.rx-shell .rx-file h3{font:700 15px/1.35 var(--vx-sans);overflow-wrap:anywhere}
.rx-shell .rx-file-body>p:not(.rx-file-meta){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--vx-muted);font-size:13.5px;line-height:1.5}
.rx-shell .rx-file-body>code{color:var(--vx-muted);font-size:11.5px}
.rx-shell .rx-file footer{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px;font:600 13.5px/1.3 var(--vx-sans)}
.rx-shell .rx-file footer a{display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.rx-shell .rx-file footer a:hover{text-decoration:underline}
.rx-shell .rx-exports{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px}
.rx-shell .rx-exports a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:8px 14px 8px 8px;border:1px solid var(--vx-line);border-radius:var(--vx-radius);background:var(--vx-surface);color:var(--vx-ink);font:600 14px/1.3 var(--vx-sans);text-decoration:none}
.rx-shell .rx-exports a:hover{border-color:var(--vx-blue);background:var(--vx-blue-tint)}
.rx-shell .rx-format{display:grid;place-items:center;min-width:46px;height:34px;padding:0 6px;border-radius:8px;background:var(--vx-plate);color:var(--vx-on-plate);font:500 11.5px/1 var(--vx-mono);letter-spacing:.05em}

/* Integrity. */
.rx-shell .rx-integrity{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.rx-shell .rx-seal-card{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:22px 24px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-plate);color:var(--vx-on-plate);box-shadow:var(--vx-shadow-lg)}
.rx-shell .rx-seal{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--vx-stripe);color:var(--vx-on-plate)}
.rx-shell .rx-seal .report-icon{width:26px;height:26px}
.rx-shell .rx-seal-card>div{display:grid;gap:6px;min-width:0}
.rx-shell .rx-seal-card small{font:500 11px/1.4 var(--vx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vx-on-plate-accent)}
.rx-shell .rx-seal-card strong{font:500 24px/1.2 var(--vx-display)}
.rx-shell .rx-seal-card p{color:var(--vx-on-plate-muted);font-size:14.5px;max-width:70ch}
.rx-shell .rx-seal-card dl{display:grid;gap:8px;margin-top:6px}
.rx-shell .rx-seal-card dt{color:var(--vx-on-plate-muted);font:500 11px/1.4 var(--vx-mono);letter-spacing:.05em;text-transform:uppercase}
.rx-shell .rx-seal-card dd{margin:0;font-size:14.5px}
.rx-shell .rx-seal-card code{display:block;padding:8px 10px;border-radius:8px;background:rgba(244,246,248,.08);color:var(--vx-on-plate);font-size:12.5px;overflow-wrap:anywhere}
.rx-shell .rx-method{display:grid;align-content:start;gap:10px;padding:18px 20px;border:1px solid var(--vx-line);border-radius:var(--vx-radius-lg);background:var(--vx-surface)}
.rx-shell .rx-method h3{font:700 15px/1.3 var(--vx-sans)}
.rx-shell .rx-method dl{display:grid;gap:8px}
.rx-shell .rx-method dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--vx-line);font-size:14px}
.rx-shell .rx-method dt{color:var(--vx-muted)}
.rx-shell .rx-method dd{margin:0;font:500 13px/1.4 var(--vx-mono);text-align:right;overflow-wrap:anywhere}
.rx-shell .rx-method ul{display:grid;gap:8px;font-size:14px;color:var(--vx-muted)}
.rx-shell .rx-method li{padding-left:14px;background:linear-gradient(var(--vx-line-strong),var(--vx-line-strong)) 0 .62em/6px 2px no-repeat}

/* Technical terms in running text: a dashed underline and the definition on hover or focus. */
.rx-shell .rx-term{text-decoration:underline dashed;text-decoration-color:color-mix(in srgb,currentColor 50%,transparent);text-decoration-thickness:1px;text-underline-offset:3px;border-radius:3px;cursor:help}
.rx-shell .rx-term:hover,.rx-shell .rx-term:focus-visible{text-decoration-color:var(--vx-blue-text);background:var(--vx-blue-tint)}
.rx-shell .rx-term-tip{position:absolute;z-index:40;padding:10px 12px;border:1px solid var(--vx-line-strong);border-radius:10px;background:var(--vx-plate);color:var(--vx-on-plate);font:400 13.5px/1.5 var(--vx-sans);box-shadow:var(--vx-shadow-lg);animation:rx-rise .15s ease-out}
.rx-shell .rx-term-tip strong{display:block;margin-bottom:2px;color:var(--vx-on-plate-accent);font:600 12.5px/1.4 var(--vx-mono)}
.rx-shell .rx-term-tip.is-above::before{top:auto;bottom:-6px;border:1px solid var(--vx-line-strong);border-left:0;border-top:0;border-radius:0 0 2px 0}
.rx-shell .rx-term-tip.is-above::after{inset:100% 0 -14px}
.rx-shell .rx-metric-points:not(:has(b)){font-family:var(--vx-sans);font-size:12.5px}

@keyframes rx-rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rx-shell *,.rx-shell *::before,.rx-shell *::after{animation:none!important;transition:none!important}}

/* Quiet controls still need a visible boundary against both report surfaces. */
.rx-shell .rx-kpi:not([aria-selected="true"]),.rx-shell .rx-copy,.rx-shell .rx-filters select{border-color:var(--vx-muted)}
.rx-shell .rx-segment{border-color:var(--vx-muted)}
.rx-shell .rx-segment button{border:1px solid transparent}
.rx-shell .rx-segment button[aria-pressed=true]{border-color:var(--vx-muted)}

.rx-shell .rx-kpi-cell[data-rx-tip-dismissed] .rx-tip{transition:none}
