@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/inter-latin.woff2) format("woff2")}
:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.141 0.005 285.823);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.141 0.005 285.823);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.141 0.005 285.823);
  --primary: oklch(0.51 0.23 277);
  --primary-foreground: oklch(0.96 0.02 272);
  --secondary: oklch(0.967 0.001 286.375);
  --secondary-foreground: oklch(0.21 0.006 285.885);
  --muted: oklch(0.967 0.001 286.375);
  --muted-foreground: oklch(0.552 0.016 285.938);
  --accent: oklch(0.967 0.001 286.375);
  --accent-foreground: oklch(0.21 0.006 285.885);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.92 0.004 286.32);
  --input: oklch(0.92 0.004 286.32);
  --ring: oklch(0.705 0.015 286.067);
  --chart-1: oklch(0.79 0.1 275);
  --chart-2: oklch(0.68 0.16 277);
  --chart-3: oklch(0.59 0.2 277);
  --chart-4: oklch(0.51 0.23 277);
  --chart-5: oklch(0.46 0.21 277);
  --radius: 0.625rem;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.141 0.005 285.823);
  --sidebar-primary: oklch(0.51 0.23 277);
  --sidebar-primary-foreground: oklch(0.96 0.02 272);
  --sidebar-accent: oklch(0.967 0.001 286.375);
  --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
  --sidebar-border: oklch(0.92 0.004 286.32);
  --sidebar-ring: oklch(0.705 0.015 286.067);
}

*{box-sizing:border-box}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--foreground);background:var(--background);font-synthesis:none}
body{margin:0;font-size:14px;line-height:1.5}
.portal-header{border-bottom:1px solid var(--border);background:var(--sidebar)}
.portal-header-inner{max-width:1024px;margin:auto;min-height:48px;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:20px;color:var(--foreground);text-decoration:none;min-width:0}
.brand svg{display:block;width:112px;height:auto;flex:none}
.brand-label{border-left:1px solid var(--border);padding-left:20px;color:var(--muted-foreground);font-size:12px}
.reports-section{max-width:480px;margin-inline:auto}
main{max-width:1024px;margin:auto;padding:40px 32px 0;min-height:calc(100svh - 144px)}
h1{font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0 0 24px}
h2{font-size:16px;line-height:1.5;font-weight:600;margin:0 0 4px;overflow-wrap:anywhere}
p{margin:8px 0 16px;color:var(--muted-foreground)}
small{font-size:12px;color:var(--muted-foreground);overflow-wrap:anywhere}
article{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin:0 0 12px}
article p{font-size:12px;margin:4px 0 16px}
.report-card{box-shadow:0 1px 3px rgb(0 0 0 / 0.05);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
.report-card-text{min-width:0}
.report-card p{margin-bottom:0}
.report-card form{display:block}
.report-card button{white-space:nowrap}
a,button{font:inherit}
a{color:var(--primary);text-underline-offset:3px}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;gap:4px;background:var(--primary);color:var(--primary-foreground);border:1px solid transparent;border-radius:8px;text-decoration:none;cursor:pointer;font-size:13px;font-weight:500;line-height:18px}
button:hover,.button:hover{filter:brightness(.95)}
a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
button:disabled{opacity:.5;cursor:not-allowed}
form{display:inline}
.portal-actions{display:flex;align-items:center;gap:8px;min-width:0}
.signed-in-user{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:260px;color:var(--muted-foreground);font-size:12px}
.signed-in-user svg{width:16px;height:16px;flex:none}
.signed-in-user span{min-width:0;overflow-wrap:anywhere}
.portal-actions button,.portal-actions form{flex:none}
.portal-header button,.viewer-toolbar button{background:var(--background);border-color:var(--border);color:var(--secondary-foreground)}
.language-picker{position:relative;flex:none}
button.language-trigger{width:28px;height:28px;padding:4px}
.language-trigger svg{width:16px;height:16px}
#language-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:10;width:144px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--popover);box-shadow:0 4px 12px rgb(0 0 0 / 10%)}
#language-menu[hidden]{display:none}
#language-menu button{display:flex;width:100%;justify-content:space-between;background:transparent;border:0;color:var(--popover-foreground);font-weight:400}
#language-menu button:hover,#language-menu button:focus-visible{background:var(--accent);filter:none;outline-offset:-2px}
#language-menu svg{width:14px;height:14px;visibility:hidden}
#language-menu [aria-checked="true"] svg{visibility:visible}
@media(max-width:600px){button.language-trigger{width:44px;height:44px}}
.portal-footer{max-width:1024px;margin:auto;padding:24px 32px;color:var(--muted-foreground);font-size:12px}
#report{display:block;width:100%;height:80vh;border:1px solid var(--border);border-radius:10px;background:var(--card)}

@media(max-width:600px){.portal-header-inner{flex-wrap:wrap}.portal-actions{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-end}.signed-in-user{flex:1;max-width:none;margin-right:auto}.portal-header-inner{padding:4px 16px;min-height:52px}.brand-label{display:none}.brand svg{width:108px}main{padding:32px 16px 0;min-height:calc(100svh - 148px)}h1{font-size:22px}.portal-footer{padding:24px 16px}button,.button{min-height:44px;padding:10px 12px}article{padding:16px}}
/* The report owns scrolling; portal chrome consumes one toolbar row only. */
.viewer{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.viewer-toolbar{height:48px;flex:none;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--sidebar);position:relative;z-index:2}
.viewer-toolbar .brand{flex:none}
.viewer-toolbar button{flex:none}
.viewer-toolbar .brand svg{width:104px}
.viewer-back{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:28px;min-height:28px;flex:none;color:var(--secondary-foreground);font-size:12px;text-decoration:none;border-radius:8px}
.viewer-back:hover{background:var(--accent)}
.viewer-back svg{width:16px;height:16px}
.viewer-title{min-width:0;flex:1;font-size:13px;font-weight:500;line-height:20px;letter-spacing:normal;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viewer-title:focus{align-self:flex-start;margin-top:10px;outline:2px solid var(--primary);outline-offset:3px;white-space:normal;overflow:visible;background:var(--sidebar);padding:4px 0}
.viewer main{position:relative;display:flex;flex:1;min-width:0;min-height:0;max-width:none;width:100%;padding:0;margin:0}
.viewer #report{flex:1;min-height:0;height:100%;border:0;border-radius:0}
.viewer #status{position:absolute;z-index:1;top:12px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:8px 12px;margin:0;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);font-size:13px}
.viewer #status:empty{display:none}
@media(max-width:600px){.viewer-toolbar{gap:8px;padding:0 8px}.viewer-toolbar .brand{min-height:44px}.viewer-toolbar .brand svg{width:88px}.viewer-back{min-width:44px;min-height:44px}.viewer-back span{display:none}.viewer-title{font-size:12px}}
@media(max-width:600px){.report-card{gap:12px;padding:12px}.report-card h2{font-size:14px}.report-card button{padding-inline:10px}}
.viewer-identity{display:flex;align-items:center;gap:16px;min-width:0;flex:1}
.viewer-balance{display:flex;align-items:center;justify-content:flex-end;flex:none}
#viewer-tabs[hidden]{display:none!important}
.shell-connected .viewer-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}
.shell-connected .viewer-balance{display:flex}
.viewer-tab-list{display:flex;align-items:center;justify-content:center;gap:2px;background:var(--muted);padding:3px;border-radius:8px;height:32px}
.viewer-toolbar .viewer-tab{height:26px;min-height:26px;padding:2px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted-foreground);font-size:12px;font-weight:500;white-space:nowrap}
.viewer-toolbar .viewer-tab[data-active]{background:var(--background);color:var(--foreground)}
.viewer-toolbar .viewer-tab:hover{filter:none;color:var(--foreground)}
@media(max-width:850px){.shell-connected .viewer-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.shell-connected .viewer-identity{display:contents}.shell-connected .viewer-identity .brand{grid-column:1;grid-row:1}.shell-connected .viewer-back{grid-column:1;grid-row:2;justify-self:start;min-width:28px;min-height:28px;position:relative}.shell-connected .viewer-back::before{content:"";position:absolute;inset:-6px}.shell-connected .viewer-back span{display:none}.shell-connected .viewer-title{grid-column:1/-1;grid-row:2;font-size:12px;margin:0 0 0 36px;padding:0 4px}.shell-connected #viewer-tabs{grid-column:2;grid-row:1;justify-self:center}.shell-connected .viewer-balance{display:flex;grid-column:3;grid-row:1;justify-self:end}.shell-connected .viewer-toolbar{height:80px;grid-template-rows:44px 28px;padding-block:0 8px}.viewer-identity{gap:8px}.viewer-toolbar .viewer-tab{min-height:32px;height:32px}.viewer-tab-list{height:38px}}
@media(max-width:360px){.shell-connected .viewer-toolbar .brand svg{width:56px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
