/* ATSRS V509 reference-led colour system. Geometry and product structure stay unchanged. */
:root{
  --atsrs-ref-dark-bg:#050606;
  --atsrs-ref-dark-surface:#0b0d0d;
  --atsrs-ref-dark-soft:#111414;
  --atsrs-ref-dark-line:#2a2f2d;
  --atsrs-ref-dark-text:#f4f6ef;
  --atsrs-ref-dark-muted:#a8afa9;
  /* Canonical ATSRS dark-mode brand standard. */
  --atsrs-brand-green:#22c55e;
  --atsrs-brand-green-strong:#16a34a;
  --atsrs-ref-lime:#22c55e;
  --atsrs-ref-lime-strong:#16a34a;
  --atsrs-ref-light-bg:var(--atsrs-light-page,#f6f8fb);
  --atsrs-ref-light-surface:#ffffff;
  --atsrs-ref-light-soft:#dfe8f3;
  --atsrs-ref-light-line:#c4d2e2;
  --atsrs-ref-light-text:#0b2554;
  --atsrs-ref-light-muted:#536680;
  --atsrs-ref-blue:#167bd3;
  --atsrs-ref-blue-strong:#0b5ca8;
  --atsrs-ref-cyan:#20aee5;
  --atsrs-control-height:46px;
  --atsrs-control-radius:10px;
  --atsrs-control-gap:7px;
  --atsrs-control-padding-x:14px;
  --atsrs-control-padding-y:0px;
  --atsrs-control-border-width:1px;
  --atsrs-control-disabled-opacity:.48;
}

/* Dark reference: near-black system surfaces with logo-aligned green signals. */
html[data-theme="dark"]{
  --public-bg:var(--atsrs-ref-dark-bg);
  --public-surface:var(--atsrs-ref-dark-surface);
  --public-surface-soft:var(--atsrs-ref-dark-soft);
  --public-ink:var(--atsrs-ref-dark-text);
  --public-muted:var(--atsrs-ref-dark-muted);
  --public-line:var(--atsrs-ref-dark-line);
  --public-accent:var(--atsrs-ref-lime);
  --public-accent-strong:var(--atsrs-ref-lime);
  --public-accent-soft:#0d2415;
  --public-shadow:0 24px 68px rgba(0,0,0,.38);
  --legal-bg:var(--atsrs-ref-dark-bg);
  --legal-surface:var(--atsrs-ref-dark-surface);
  --legal-soft:var(--atsrs-ref-dark-soft);
  --legal-line:var(--atsrs-ref-dark-line);
  --legal-text:var(--atsrs-ref-dark-text);
  --legal-muted:var(--atsrs-ref-dark-muted);
  --legal-accent:var(--atsrs-ref-lime);
  --legal-link:var(--atsrs-ref-lime);
  background:var(--atsrs-ref-dark-bg)!important;
}

html[data-theme="dark"] body{
  --atsrs-bg:var(--atsrs-ref-dark-bg);
  --atsrs-bg2:#080a0a;
  --atsrs-panel:var(--atsrs-ref-dark-surface);
  --atsrs-panel2:var(--atsrs-ref-dark-soft);
  --atsrs-border:var(--atsrs-ref-dark-line);
  --atsrs-text:var(--atsrs-ref-dark-text);
  --atsrs-muted:var(--atsrs-ref-dark-muted);
  --atsrs-green:var(--atsrs-ref-lime);
  --atsrs-green-soft:#86efac;
  --atsrs-cyan:var(--atsrs-ref-lime);
  --atsrs-blue:var(--atsrs-ref-lime-strong);
  --v76-bg:var(--atsrs-ref-dark-bg);
  --v76-panel:var(--atsrs-ref-dark-surface);
  --v76-panel2:var(--atsrs-ref-dark-soft);
  --v76-border:var(--atsrs-ref-dark-line);
  --v76-text:var(--atsrs-ref-dark-text);
  --v76-muted:var(--atsrs-ref-dark-muted);
  --v76-green:var(--atsrs-ref-lime);
  --v76-blue:var(--atsrs-ref-lime);
  --atsrs-control-border:var(--atsrs-ref-dark-line);
  --atsrs-control-background:#080a09;
  --atsrs-control-text:var(--atsrs-ref-dark-text);
  --atsrs-control-placeholder:#7f8a82;
  --atsrs-control-hover-border:#4b5d52;
  --atsrs-control-focus-border:var(--atsrs-ref-lime);
  --atsrs-control-focus-ring:rgba(34,197,94,.42);
  --atsrs-control-label:var(--atsrs-ref-dark-muted);
  background:linear-gradient(145deg,#050606 0%,#090b0a 58%,#050606 100%)!important;
  color:var(--atsrs-ref-dark-text)!important;
}

html[data-theme="dark"] body #app.app:not(.hidden){
  --atsrs-shell-accent:var(--atsrs-ref-lime);
  --atsrs-shell-accent-strong:var(--atsrs-ref-lime-strong);
  --atsrs-shell-accent-soft:#0d2415;
  --atsrs-shell-accent-border:#166534;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) > .main{
  background:var(--atsrs-ref-dark-bg)!important;
}
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #dashboardPage .stats-grid > .expiry-summary-card{
  background:var(--atsrs-ref-dark-surface)!important;
  border-color:var(--atsrs-ref-dark-line)!important;
}
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #dashboardPage > .panel:not(.solo-hero){
  background:var(--atsrs-ref-dark-surface)!important;
  border-color:var(--atsrs-ref-dark-line)!important;
}

html[data-theme="dark"] :where(.sidebar,.auth-card,.auth-intro,.card,.panel,.workflow-card,.snapshot-card,.mini-panel,.roadmap-card,.scan-box,.import-box,.upload-simple,.share-card,.atsrs-admin-overview){
  background:var(--atsrs-ref-dark-surface)!important;
  border-color:var(--atsrs-ref-dark-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .sidebar{background:#070808!important}
html[data-theme="dark"] :where(input,select,textarea){background:var(--atsrs-control-background)!important;border-color:var(--atsrs-control-border)!important;color:var(--atsrs-control-text)!important}
html[data-theme="dark"] :where(.pill,.auth-kicker,.mode-badge){background:transparent!important;border-color:#166534!important;color:var(--atsrs-ref-lime)!important;-webkit-text-fill-color:var(--atsrs-ref-lime)!important}
html[data-theme="dark"] body #app.app:not(.hidden) .sidebar .nav button:hover{background:#101310!important;border-color:transparent!important;color:#86efac!important}
html[data-theme="dark"] body #app.app:not(.hidden) .sidebar .nav button.active{box-shadow:inset 3px 0 var(--atsrs-ref-lime)!important;color:var(--atsrs-ref-lime)!important;-webkit-text-fill-color:var(--atsrs-ref-lime)!important}
html[data-theme="dark"] .public-cta{border-color:var(--atsrs-ref-lime)!important;background:var(--atsrs-ref-lime)!important;color:#080a08!important;box-shadow:0 10px 28px rgba(34,197,94,.16)!important}
html[data-theme="dark"] .public-plan,
html[data-theme="dark"] .pricing-plan,
html[data-theme="dark"] .pricing-table-wrap{box-shadow:none!important}
html[data-theme="dark"] .public-theme-track,
html[data-theme="dark"] .atsrs-theme-track{border-color:#3c433f;background:#0a0c0b}
html[data-theme="dark"] .public-theme-thumb,
html[data-theme="dark"] .atsrs-theme-thumb{background:var(--atsrs-ref-lime)}
html[data-theme="dark"] .auth{background:#050606!important}
html[data-theme="dark"] .auth::before{background:radial-gradient(circle at 72% 22%,rgba(34,197,94,.08),transparent 30%)!important}
html[data-theme="dark"] body.auth-open > #auth.auth:not(.hidden){background:#050606!important}
html[data-theme="dark"] #atsrsBootScreen{background:#050606!important;color:var(--atsrs-ref-dark-text)!important}
html[data-theme="dark"] #atsrsBootScreen .atsrs-spinner span{background:var(--atsrs-ref-lime)!important}

/* Light reference: cool paper canvas, navy typography, blue/cyan functional accents. */
html[data-theme="light"]{
  --public-bg:var(--atsrs-ref-light-bg);
  --public-surface:var(--atsrs-ref-light-surface);
  --public-surface-soft:var(--atsrs-ref-light-soft);
  --public-ink:var(--atsrs-ref-light-text);
  --public-muted:var(--atsrs-ref-light-muted);
  --public-line:var(--atsrs-ref-light-line);
  --public-accent:var(--atsrs-ref-blue);
  --public-accent-strong:var(--atsrs-ref-blue-strong);
  --public-accent-soft:#dceffc;
  --public-shadow:0 22px 58px rgba(11,37,84,.16);
  --legal-bg:var(--atsrs-ref-light-bg);
  --legal-surface:var(--atsrs-ref-light-surface);
  --legal-soft:var(--atsrs-ref-light-soft);
  --legal-line:var(--atsrs-ref-light-line);
  --legal-text:var(--atsrs-ref-light-text);
  --legal-muted:var(--atsrs-ref-light-muted);
  --legal-accent:var(--atsrs-ref-blue);
  --legal-link:var(--atsrs-ref-blue-strong);
  background:var(--atsrs-ref-light-bg)!important;
}

html[data-theme="light"] body{
  --atsrs-bg:var(--atsrs-ref-light-bg);
  --atsrs-bg2:#f7fafe;
  --atsrs-panel:var(--atsrs-ref-light-surface);
  --atsrs-panel2:var(--atsrs-ref-light-soft);
  --atsrs-border:var(--atsrs-ref-light-line);
  --atsrs-text:var(--atsrs-ref-light-text);
  --atsrs-muted:var(--atsrs-ref-light-muted);
  --atsrs-green:var(--atsrs-ref-blue);
  --atsrs-green-soft:#4ba8ef;
  --atsrs-cyan:var(--atsrs-ref-cyan);
  --atsrs-blue:var(--atsrs-ref-blue);
  --v76-bg:var(--atsrs-ref-light-bg);
  --v76-panel:var(--atsrs-ref-light-surface);
  --v76-panel2:var(--atsrs-ref-light-soft);
  --v76-border:var(--atsrs-ref-light-line);
  --v76-text:var(--atsrs-ref-light-text);
  --v76-muted:var(--atsrs-ref-light-muted);
  --v76-green:var(--atsrs-ref-blue);
  --v76-blue:var(--atsrs-ref-cyan);
  --atsrs-control-border:var(--atsrs-ref-light-line);
  --atsrs-control-background:#fff;
  --atsrs-control-text:var(--atsrs-ref-light-text);
  --atsrs-control-placeholder:#6c7d93;
  --atsrs-control-hover-border:#93b4ee;
  --atsrs-control-focus-border:var(--atsrs-light-blue,#2563eb);
  --atsrs-control-focus-ring:rgba(37,99,235,.32);
  --atsrs-control-label:var(--atsrs-ref-light-muted);
  background:var(--atsrs-ref-light-bg)!important;
  color:var(--atsrs-ref-light-text)!important;
}

html[data-theme="light"] body #app.app:not(.hidden){
  --atsrs-shell-accent:var(--atsrs-ref-blue);
  --atsrs-shell-accent-strong:var(--atsrs-ref-blue-strong);
  --atsrs-shell-accent-soft:#e7f2fd;
  --atsrs-shell-accent-border:#a9c9e9;
}

html[data-theme="light"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) > .main{
  background:var(--atsrs-light-page,#f6f8fb)!important;
}

html[data-theme="light"] #landingPage.atsrs-public-landing{
  background:var(--atsrs-ref-light-bg)!important;
}
html[data-theme="light"] #landingPage .public-header{
  background:rgba(255,255,255,.97)!important;
  border-color:var(--atsrs-ref-light-line)!important;
  box-shadow:0 8px 28px rgba(11,37,84,.06)!important;
}
html[data-theme="light"] #landingPage :where(.public-product-shot,.public-wide-shot,.public-floating-note,.public-plan){
  background:#fff!important;
  border-color:var(--atsrs-ref-light-line)!important;
  box-shadow:var(--public-shadow)!important;
}
html[data-theme="light"] #landingPage .public-audience-grid article>i{
  background:#d9f1fb!important;
  color:var(--atsrs-ref-blue-strong)!important;
  box-shadow:inset 0 0 0 1px #b7deef!important;
}
html[data-theme="light"] #landingPage :where(.public-eyebrow,.public-kicker,.public-plan-name){
  color:var(--atsrs-ref-blue-strong)!important;
}
html[data-theme="light"] #landingPage :where(.public-text-link,.public-audience-grid a,.public-preview-copy li i,.public-steps span,.public-feature-band i){
  color:var(--atsrs-ref-blue)!important;
}
html[data-theme="light"] :where(.pricing-plan,.pricing-table-wrap){
  background:#fff!important;
  border-color:var(--atsrs-ref-light-line)!important;
  box-shadow:0 16px 40px rgba(11,37,84,.09)!important;
}

html[data-theme="light"] :where(h1,h2,h3,h4,h5,h6,strong,b,label,legend,th){color:var(--atsrs-ref-light-text)!important}
html[data-theme="light"] :where(p,small,.sub,.small-note,.field-hint,.field-label){color:var(--atsrs-ref-light-muted)!important}
html[data-theme="light"] :where(.sidebar,.auth-card,.auth-intro,.card,.panel,.workflow-card,.snapshot-card,.mini-panel,.roadmap-card,.scan-box,.import-box,.upload-simple,.share-card,.atsrs-admin-overview){
  background:var(--atsrs-ref-light-surface)!important;
  border-color:var(--atsrs-ref-light-line)!important;
  box-shadow:0 12px 30px rgba(11,37,84,.085)!important;
}
html[data-theme="light"] .sidebar{background:rgba(255,255,255,.97)!important;box-shadow:none!important}
html[data-theme="light"] :where(input,select,textarea){background:var(--atsrs-control-background)!important;border-color:var(--atsrs-control-border)!important;color:var(--atsrs-control-text)!important}
html[data-theme="light"] :where(.pill,.auth-kicker,.mode-badge){background:transparent!important;border-color:#9ec2e7!important;color:var(--atsrs-ref-blue-strong)!important;-webkit-text-fill-color:var(--atsrs-ref-blue-strong)!important}
html[data-theme="light"] body #app.app:not(.hidden) .sidebar .nav button{color:#425978!important}
html[data-theme="light"] body #app.app:not(.hidden) .sidebar .nav button:hover{background:#edf4fb!important;border-color:transparent!important;color:var(--atsrs-ref-blue-strong)!important}
html[data-theme="light"] body #app.app:not(.hidden) .sidebar .nav button.active{background:transparent!important;box-shadow:inset 3px 0 var(--atsrs-ref-blue)!important;color:var(--atsrs-ref-blue)!important;-webkit-text-fill-color:var(--atsrs-ref-blue)!important}
html[data-theme="light"] .public-cta{border-color:var(--atsrs-ref-blue-strong)!important;background:var(--atsrs-ref-blue-strong)!important;color:#fff!important;box-shadow:0 10px 28px rgba(10,79,159,.16)!important}
html[data-theme="light"] .public-theme-track,
html[data-theme="light"] .atsrs-theme-track{border-color:#b3c1d5;background:#e4eaf3}
html[data-theme="light"] .public-theme-thumb,
html[data-theme="light"] .atsrs-theme-thumb{background:#fff}
html[data-theme="light"] .auth{background:linear-gradient(135deg,#f9fbfd 0%,#eef3f9 52%,#e4ebf5 100%)!important}
html[data-theme="light"] .auth::before{background:radial-gradient(circle at 76% 28%,rgba(49,183,232,.13),transparent 31%)!important}
html[data-theme="light"] body.auth-open > #auth.auth:not(.hidden){background:linear-gradient(135deg,#f9fbfd 0%,#eef3f9 52%,#e4ebf5 100%)!important}
html[data-theme="light"] #atsrsBootScreen{background:linear-gradient(135deg,#fafbfd,#edf2f8)!important;color:var(--atsrs-ref-light-text)!important}
html[data-theme="light"] #atsrsBootScreen .atsrs-spinner span{background:var(--atsrs-ref-blue)!important}

/* Standalone Privacy/Data Rights pages use short variable names. */
html[data-theme="dark"] body:has(.site-header){--bg:var(--atsrs-ref-dark-bg);--surface:var(--atsrs-ref-dark-surface);--surface-2:var(--atsrs-ref-dark-soft);--line:var(--atsrs-ref-dark-line);--text:var(--atsrs-ref-dark-text);--muted:var(--atsrs-ref-dark-muted);--accent:var(--atsrs-ref-lime);--link:var(--atsrs-ref-lime)}
html[data-theme="light"] body:has(.site-header){--bg:var(--atsrs-ref-light-bg);--surface:var(--atsrs-ref-light-surface);--surface-2:var(--atsrs-ref-light-soft);--line:var(--atsrs-ref-light-line);--text:var(--atsrs-ref-light-text);--muted:var(--atsrs-ref-light-muted);--accent:var(--atsrs-ref-blue);--link:var(--atsrs-ref-blue-strong)}
html[data-theme="dark"] :where(.site-header,.legal-header){background:rgba(5,6,6,.95)!important}
html[data-theme="light"] :where(.site-header,.legal-header){background:rgba(245,247,251,.95)!important}

/* V562: one final Dark surface authority for every public and authenticated route. */
html[data-theme="dark"]{
  --atsrs-workspace-surface:var(--atsrs-ref-dark-surface);
  --atsrs-workspace-surface-soft:var(--atsrs-ref-dark-soft);
  --atsrs-workspace-line:var(--atsrs-ref-dark-line);
}
html[data-theme="dark"] :where(.public-header,.site-header,.legal-header){
  border-color:var(--atsrs-ref-dark-line)!important;
  background:rgba(5,6,6,.96)!important;
}
html[data-theme="dark"] :where(
  .summary-card,.toc,.notice,
  .legal-summary>div,.legal-toc,
  .card,.panel,.workflow-card,.snapshot-card,.mini-panel,.roadmap-card,
  .scan-box,.import-box,.upload-simple,.share-card,.atsrs-admin-overview
){
  border-color:var(--atsrs-ref-dark-line)!important;
  background-color:var(--atsrs-ref-dark-surface)!important;
  background-image:none!important;
  box-shadow:none!important;
}
html[data-theme="dark"] :where(.callout,.contact-card,.legal-callout,.legal-contact){
  border-color:var(--atsrs-ref-dark-line)!important;
  background:var(--atsrs-ref-dark-soft)!important;
}
html[data-theme="dark"] :where(.eyebrow,.legal-eyebrow){color:var(--atsrs-ref-lime)!important;border-color:#166534!important}
html[data-theme="light"] :where(.eyebrow,.legal-eyebrow){color:var(--atsrs-ref-blue-strong)!important;border-color:#9ec2e7!important}

/* Canonical, non-shifting control and keyboard-focus system. */
html[data-theme] body :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  select,
  textarea
){
  box-sizing:border-box;
  border-width:var(--atsrs-control-border-width)!important;
  border-style:solid!important;
  border-color:var(--atsrs-control-border)!important;
  background-color:var(--atsrs-control-background)!important;
  color:var(--atsrs-control-text)!important;
  transition:border-color .14s ease,background-color .14s ease,color .14s ease!important;
}
html[data-theme] body :where(input,textarea)::placeholder{color:var(--atsrs-control-placeholder)!important;opacity:1}
html[data-theme="dark"] body.personal-mode #app input[type="search"]::placeholder{
  color:#65716a!important;
  opacity:.68!important;
}
html[data-theme] body :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  select,
  textarea
):hover{border-color:var(--atsrs-control-hover-border)!important}
html[data-theme] body :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  select,
  textarea
):focus{
  border-color:var(--atsrs-control-focus-border)!important;
  outline:0!important;
  box-shadow:none!important;
}
html[data-theme] body :where(
  button,
  a[href],
  input:not([type="hidden"]),
  select,
  textarea,
  [role="button"],
  [role="option"],
  [role="tab"],
  [tabindex]:not([tabindex="-1"])
):focus-visible{
  outline:2px solid var(--atsrs-control-focus-border)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
html[data-theme] body :where(input,select,textarea,button):disabled{opacity:var(--atsrs-control-disabled-opacity)}

/* Win over legacy route-specific focus rules without changing box geometry. */
html[data-theme] body #app.app:not(.hidden) :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  select,
  textarea
):focus,
html[data-theme] body #auth :where(input,select,textarea):focus{
  border-color:var(--atsrs-control-focus-border)!important;
  outline:0!important;
  box-shadow:none!important;
}
html[data-theme] body #app.app:not(.hidden) :where(
  button,
  a[href],
  input:not([type="hidden"]),
  select,
  textarea,
  [role="button"],
  [role="option"],
  [role="tab"],
  [tabindex]:not([tabindex="-1"])
):focus-visible,
html[data-theme] body #auth :where(button,a[href],input,select,textarea,[role="button"],[role="tab"]):focus-visible{
  outline:2px solid var(--atsrs-control-focus-border)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
