/* =====================================================================
   Agrar Chaoten - Design-System (Oktober 2026)
   Ein Stylesheet fuer alle Seiten: oeffentlich, Kundenbereich, Admin.
   Grundlage ist der Look der Startseite (public/css/startseite.css).

   Einbinden im <head>:
     <link rel="preload" href="/fonts/startseite/archivo-var.woff2" as="font" type="font/woff2" crossorigin>
     <link rel="stylesheet" href="/css/ac-design.css?v=2026-10-13d">
   und vor </body>:
     <script src="/js/ac-design.js?v=2026-10-13d" defer></script>

   Grundregeln:
   - Seiten setzen <body class="ac-body"> (oeffentlich) bzw.
     <body class="ac-body ac-app"> (Kundenbereich/Admin).
   - Alle Bausteine heissen ac-*; Bootstrap-Klassen werden nicht gebraucht.
   - Seitenleiste, Topbar und Footer kommen aus den Partials.
   ===================================================================== */

@font-face{font-family:'AC Archivo';src:url('/fonts/startseite/archivo-var.woff2') format('woff2-variations'),url('/fonts/startseite/archivo-var.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:'AC Manrope';src:url('/fonts/startseite/manrope-var.woff2') format('woff2-variations'),url('/fonts/startseite/manrope-var.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'AC Mono';src:url('/fonts/startseite/jetbrains-mono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@property --ac-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --ac-n{syntax:'<integer>';inherits:false;initial-value:0}

:root{
  /* Kraeftiges Waldgruen mit Metall-Akzenten (wie die Startseite, 2026-10-12b) */
  --acc:#8ce84e;--acc-2:#6abe3f;--bg:#0b2312;--bg2:#0e2a16;--surf:#11321a;--surf2:#163d21;--surf3:#1c4829;
  --line:rgba(205,232,205,.12);--line2:rgba(205,232,205,.21);
  --text:#ffffff;--muted:#f2f7f0;--dim:#e1ebdf;--ink:#07120a;
  --metal:linear-gradient(135deg,#eef3ee 0%,#7f8c82 20%,#dce3dc 42%,#56635a 64%,#c9d1ca 82%,#f4f7f4 100%);
  --chrome:linear-gradient(180deg,#ffffff 0%,#eef2ee 40%,#aab4ac 54%,#f1f4f1 74%,#ffffff 100%);
  --limegrad:linear-gradient(180deg,#e2ff9f 0%,#a6f25e 35%,#6fd431 62%,#3f9e17 100%);
  --gold:#ffb52e;--ok:#8ce84e;--warn:#ffb52e;--err:#ff5a4a;--info:#4aa3ff;
  --soft:color-mix(in srgb,var(--acc) 13%,transparent);--edge:color-mix(in srgb,var(--acc) 38%,transparent);
  --fd:'AC Archivo','Segoe UI',system-ui,sans-serif;--fb:'AC Manrope','Segoe UI',system-ui,-apple-system,sans-serif;--fm:'AC Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --r-sm:10px;--r:14px;--r-lg:20px;--r-xl:24px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --sb-w:248px;--app-sb-w:252px;
}

/* =====================================================================
   Basis (nur auf umgebauten Seiten: body.ac-body)
   ===================================================================== */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.ac-body{color-scheme:dark;--bright:var(--acc);--bright-green:var(--acc);margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--fb);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;interpolate-size:allow-keywords}
.ac-body *,.ac-body *::before,.ac-body *::after{box-sizing:border-box}
:where(.ac-body) img,:where(.ac-body) video,:where(.ac-body) svg{max-width:100%}
:where(.ac-body) img{height:auto}
:where(.ac-body) a{color:var(--acc);text-decoration:none;transition:color .2s}
:where(.ac-body) a:hover{color:color-mix(in srgb,var(--acc) 80%,#fff)}
:where(.ac-body) h1,:where(.ac-body) h2,:where(.ac-body) h3,:where(.ac-body) h4,:where(.ac-body) h5,:where(.ac-body) h6{margin:0 0 .5em;font-family:var(--fd);font-weight:800;font-stretch:88%;line-height:1.15;letter-spacing:-.01em;color:var(--text)}
:where(.ac-body) p{margin:0 0 1em}
:where(.ac-body) ul,:where(.ac-body) ol{margin:0 0 1em;padding-left:1.25em}
:where(.ac-body) hr{border:0;border-top:1px solid var(--line);margin:28px 0}
:where(.ac-body) ::selection{background:var(--acc);color:var(--ink)}
:where(.ac-body) :focus-visible{outline:3px solid var(--acc);outline-offset:2px}
:where(.ac-body) code,:where(.ac-body) kbd,:where(.ac-body) samp{font-family:var(--fm);font-size:.88em;padding:.12em .4em;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
:where(.ac-body) pre{font-family:var(--fm);font-size:.85rem;line-height:1.7;padding:16px 18px;border-radius:var(--r);background:#081d0f;border:1px solid var(--line);overflow:auto;color:#cfe9bf}
:where(.ac-body) pre code{padding:0;border:0;background:none}
:where(.ac-body) small{font-size:.85em}
:where(.ac-body) strong,:where(.ac-body) b{font-weight:800}
:where(.ac-body) table{border-collapse:collapse}
:where(.ac-body) [hidden]{display:none!important}

.ac-skip{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 16px;border-radius:10px;background:var(--acc);color:var(--ink)!important;font-weight:800;transition:top .2s}
.ac-skip:focus{top:12px}
.ac-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ac-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* =====================================================================
   Layout
   ===================================================================== */
.ac-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 40px}
.ac-wrap--narrow{max-width:860px}
.ac-wrap--wide{max-width:1400px}
.ac-main{display:block;min-width:0}
.ac-sec{position:relative;padding:96px 0;scroll-margin-top:24px}
.ac-sec--tight{padding:56px 0}
.ac-sec--flush-top{padding-top:0}
.ac-sec--alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ac-sec--glow{overflow:hidden;isolation:isolate}
.ac-sec--glow::before{content:"";position:absolute;z-index:-1;right:-12%;top:-10%;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 12%,transparent),transparent 62%);pointer-events:none}
.ac-grid{display:grid;gap:18px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.ac-grid--2{--cols:2}.ac-grid--3{--cols:3}.ac-grid--4{--cols:4}.ac-grid--5{--cols:5}.ac-grid--6{--cols:6}
.ac-grid--auto{grid-template-columns:repeat(auto-fill,minmax(var(--min,260px),1fr))}
.ac-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.ac-split--wide-left{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.ac-split--wide-right{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.ac-split--top{align-items:start}
.ac-stack{display:flex;flex-direction:column;gap:var(--gap,14px)}
.ac-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap,12px)}
.ac-row--between{justify-content:space-between}
.ac-row--center{justify-content:center}
.ac-row--end{justify-content:flex-end}
.ac-center{text-align:center}
.ac-mt-0{margin-top:0!important}.ac-mt-1{margin-top:8px!important}.ac-mt-2{margin-top:16px!important}.ac-mt-3{margin-top:24px!important}.ac-mt-4{margin-top:40px!important}.ac-mt-5{margin-top:64px!important}
.ac-mb-0{margin-bottom:0!important}.ac-mb-1{margin-bottom:8px!important}.ac-mb-2{margin-bottom:16px!important}.ac-mb-3{margin-bottom:24px!important}.ac-mb-4{margin-bottom:40px!important}
.ac-w-100{width:100%}
.ac-nowrap{white-space:nowrap}
@media (max-width:980px){.ac-hide-tablet{display:none!important}}
@media (max-width:640px){.ac-hide-mobile{display:none!important}}
@media (min-width:641px){.ac-only-mobile{display:none!important}}

/* =====================================================================
   Typografie
   ===================================================================== */
.ac-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--fm);font-size:.74rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.ac-eyebrow::before{content:"";width:26px;height:1px;background:currentColor}
.ac-kicker{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;border:1px solid var(--edge);background:color-mix(in srgb,var(--acc) 8%,transparent);color:var(--acc);font-family:var(--fm);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.ac-live{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.ac-live::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit}
.ac-h1{margin:0 0 20px;font-family:var(--fd);font-weight:800;font-stretch:82%;font-size:clamp(2.4rem,4.4vw,4.3rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;color:var(--text)}
.ac-h1:not(:has(*)),.ac-h2:not(:has(*)){background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ac-h1 .ac-acc,.ac-h2 .ac-acc,.ac-h1 b,.ac-h2 b,.ac-h1 em,.ac-h2 em{color:var(--acc);font-style:normal;font-weight:inherit}
.ac-h2{margin:0 0 16px;font-family:var(--fd);font-weight:800;font-stretch:84%;font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.ac-h3{margin:0 0 8px;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.3rem;line-height:1.25}
.ac-h4{margin:0 0 6px;font-family:var(--fd);font-weight:700;font-stretch:92%;font-size:1.08rem;line-height:1.3}
.ac-lead{margin:0 0 24px;max-width:62ch;color:var(--muted);font-size:1.12rem;line-height:1.65}
.ac-muted{color:var(--muted)!important}
.ac-dim{color:var(--dim)!important}
.ac-acc{color:var(--acc)!important}
.ac-goldtxt{color:var(--gold)!important}
.ac-mono{font-family:var(--fm)!important}
.ac-small{font-size:.88rem}
.ac-tiny{font-size:.76rem}
.ac-head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:48px;max-width:820px}
.ac-head--center{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.ac-head--center .ac-lead{margin-left:auto;margin-right:auto}
.ac-head .ac-lead{margin-bottom:0}
.ac-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;margin-bottom:40px}
.ac-head-row .ac-head{margin-bottom:0}

/* Fliesstext (Guides, Rechtliches, News, Wiki) */
.ac-prose{max-width:76ch;color:#ffffff;font-size:1.04rem;line-height:1.75}
.ac-prose>*:first-child{margin-top:0}
.ac-prose h2{margin:2.2em 0 .6em;font-size:clamp(1.5rem,2.4vw,2rem);font-stretch:86%}
.ac-prose h3{margin:1.8em 0 .5em;font-size:1.3rem}
.ac-prose h4{margin:1.5em 0 .4em;font-size:1.1rem}
.ac-prose p{margin:0 0 1.1em}
.ac-prose a{color:var(--acc);text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:3px}
.ac-prose a:hover{text-decoration-color:var(--acc)}
.ac-prose ul,.ac-prose ol{margin:0 0 1.2em;padding-left:1.4em}
.ac-prose li{margin:.35em 0}
.ac-prose li::marker{color:var(--acc)}
.ac-prose blockquote{margin:1.4em 0;padding:16px 20px;border-radius:var(--r);background:var(--surf);border:1px solid var(--line);color:var(--text)}
.ac-prose img{border-radius:var(--r);border:1px solid var(--line);margin:1em 0}
.ac-prose table{width:100%;margin:1.4em 0;font-size:.95rem;border:1px solid var(--line);border-radius:var(--r);border-collapse:separate;border-spacing:0;overflow:hidden}
@media (max-width:760px){.ac-prose table{display:block;overflow-x:auto;width:auto;max-width:100%}}
.ac-prose th,.ac-prose td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ac-prose th{background:var(--surf2);font-weight:700;color:var(--text)}
.ac-prose hr{margin:2em 0}

/* =====================================================================
   Buttons
   ===================================================================== */
.ac-btn{position:relative;isolation:isolate;overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--r);font-family:var(--fb);font-weight:800;font-size:.97rem;line-height:1.2;text-decoration:none!important;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text)!important;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s,background .3s,border-color .3s,color .3s;-webkit-appearance:none;appearance:none}
.ac-btn:hover{transform:translateY(-2px);border-color:var(--edge);background:var(--soft)}
.ac-btn:active{transform:translateY(0)}
.ac-btn[disabled],.ac-btn.is-disabled{opacity:.55;cursor:not-allowed;transform:none!important}
.ac-btn i,.ac-btn .ac-i{font-size:1em;width:auto}
.ac-btn .ac-arr{transition:transform .3s var(--ease)}
.ac-btn:hover .ac-arr{transform:translateX(4px)}
.ac-btn--pri{background:linear-gradient(180deg,#b4f57d,var(--acc) 45%,#74cf3a);border-color:var(--acc);color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 14px 34px -14px color-mix(in srgb,var(--acc) 80%,transparent)}
.ac-btn--pri::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-130%);transition:transform .7s var(--ease)}
.ac-btn--pri:hover{background:linear-gradient(180deg,#c2f891,var(--acc) 45%,#7bd640);border-color:var(--acc);box-shadow:0 20px 44px -14px color-mix(in srgb,var(--acc) 95%,transparent)}
.ac-btn--pri:hover::after{transform:translateX(130%)}
.ac-btn--ghost{background:rgba(255,255,255,.04)}
.ac-btn--quiet{background:transparent;border-color:transparent;color:var(--acc)!important;padding:0 10px}
.ac-btn--quiet:hover{background:var(--soft);border-color:transparent}
.ac-btn--prem{color:#fff4dc!important;border:1.5px solid transparent;background:linear-gradient(#0f341a,#0f341a) padding-box,conic-gradient(from var(--ac-ang),#ffb52e,#ffe2a0 22%,rgba(255,181,46,.35) 48%,#ffb52e 72%,#ffb52e) border-box;box-shadow:0 14px 34px -16px rgba(255,181,46,.75)}
.ac-btn--prem i{color:var(--gold)}
.ac-btn--prem:hover{box-shadow:0 20px 46px -14px rgba(255,181,46,.9)}
.ac-btn--danger{background:color-mix(in srgb,var(--err) 14%,transparent);border-color:color-mix(in srgb,var(--err) 45%,transparent);color:#ffd5cc!important}
.ac-btn--danger:hover{background:color-mix(in srgb,var(--err) 24%,transparent);border-color:var(--err)}
.ac-btn--warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:#ffe7b8!important}
.ac-btn--info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 45%,transparent);color:#dfe8ff!important}
.ac-btn--sm{min-height:38px;padding:0 14px;border-radius:var(--r-sm);font-size:.86rem;gap:8px}
.ac-btn--xs{min-height:30px;padding:0 10px;border-radius:8px;font-size:.78rem;gap:6px}
.ac-btn--lg{min-height:56px;padding:0 30px;font-size:1.05rem}
.ac-btn--block{display:flex;width:100%}
.ac-btn--paypal{background:#ffc439;border-color:#ffc439;color:#111!important}
.ac-btn--paypal:hover{background:#ffd56b;border-color:#ffd56b}
[data-ac-copy],[data-ac-copy-target]{cursor:pointer}
.is-copied{border-color:var(--acc)!important;color:var(--acc)!important}
.ac-btn.is-copied{background:var(--soft)!important}
.ac-btn--icon{width:44px;min-width:44px;padding:0}
.ac-btn--icon.ac-btn--sm{width:38px;min-width:38px}
.ac-btn--icon.ac-btn--xs{width:30px;min-width:30px}
.ac-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ac-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--acc)!important}
.ac-link i{transition:transform .3s var(--ease)}
.ac-link:hover i:last-child{transform:translateX(4px)}
.ac-prem-tag{padding:3px 8px;border-radius:999px;background:var(--gold);color:#1d1404;font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* =====================================================================
   Hero (Unterseiten)
   ===================================================================== */
.ac-hero{position:relative;isolation:isolate;overflow:hidden;padding:88px 0 80px;border-bottom:1px solid var(--line)}
.ac-hero--compact{padding:64px 0 52px}
.ac-hero__bg{position:absolute;inset:0;z-index:-3}
.ac-hero__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) brightness(.55)}
.ac-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,36,18,.97) 0%,rgba(10,36,18,.86) 45%,rgba(10,36,18,.45) 100%),linear-gradient(180deg,rgba(10,36,18,0) 60%,var(--bg) 100%)}
.ac-hero:not(:has(.ac-hero__bg))::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),linear-gradient(115deg,transparent 30%,rgba(230,240,230,.06) 46%,transparent 62%),radial-gradient(ellipse 60% 90% at 88% -10%,color-mix(in srgb,var(--acc) 26%,transparent),transparent 62%),radial-gradient(ellipse 45% 60% at -4% 104%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 62%),linear-gradient(180deg,var(--bg2),var(--bg))}
.ac-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 80% at 80% 0%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 80% at 80% 0%,#000 10%,transparent 70%);opacity:.6;pointer-events:none}
.ac-hero .ac-lead{font-size:1.15rem}
.ac-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.ac-hero__media{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);box-shadow:0 50px 90px -40px rgba(0,0,0,.95)}
.ac-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
.ac-trust{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.ac-trust li{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--muted)}
.ac-trust li i{color:var(--acc)}
.ac-trust b{color:var(--text)}
.ac-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 18px;padding:0;list-style:none;font-family:var(--fm);font-size:.72rem;letter-spacing:.06em;color:var(--dim)}
.ac-crumbs a{color:var(--muted)}
.ac-crumbs a:hover{color:var(--acc)}
.ac-crumbs li+li::before{content:"/";margin-right:10px;color:var(--line2)}

/* =====================================================================
   Karten & Bausteine
   ===================================================================== */
.ac-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--r-lg);background:linear-gradient(180deg,#143a1e,var(--surf) 55%);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:var(--text);transition:transform .45s var(--ease),border-color .35s,background .35s,box-shadow .45s}
.ac-card>*{margin-top:0}
.ac-card>*:last-child{margin-bottom:0}
.ac-card--pad-lg{padding:34px}
.ac-card--pad-sm{padding:18px}
.ac-card--hover:hover,a.ac-card:hover{transform:translateY(-5px);border-color:var(--edge);background:var(--surf2);box-shadow:0 30px 60px -40px rgba(0,0,0,.9)}
a.ac-card{text-decoration:none!important;color:var(--text)!important}
.ac-card--hi{border:1.5px solid transparent;background:linear-gradient(var(--surf),var(--surf)) padding-box,conic-gradient(from var(--ac-ang),var(--edge),var(--acc) 12%,var(--edge) 26%,rgba(255,255,255,.06) 50%,var(--edge) 80%,var(--edge)) border-box}
.ac-card--prem{border:1.5px solid transparent;background:linear-gradient(180deg,rgba(255,181,46,.08),rgba(255,181,46,0) 50%) padding-box,linear-gradient(var(--surf),var(--surf)) padding-box,conic-gradient(from var(--ac-ang),#ffb52e,#ffe2a0 20%,rgba(255,181,46,.25) 45%,#ffb52e 70%,#ffb52e) border-box;box-shadow:0 34px 80px -40px rgba(255,181,46,.6)}
.ac-card--glass{background:rgba(14,48,24,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line2)}
.ac-card--flat{background:transparent}
.ac-card__badge{position:absolute;top:-12px;left:24px;padding:4px 12px;border-radius:999px;background:var(--acc);color:var(--ink);font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.ac-card--prem .ac-card__badge{background:var(--gold);color:#1d1404}
.ac-card__corner{position:absolute;top:18px;right:18px}
.ac-card__head{display:flex;align-items:center;gap:14px}
.ac-card__foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ac-card__img{margin:-26px -26px 4px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surf2)}
.ac-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ac-card:hover .ac-card__img img{transform:scale(1.05)}
.ac-icon{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--soft);border:1px solid var(--edge);color:var(--acc);font-size:1.25rem;transition:transform .45s var(--ease),background .3s,color .3s}
.ac-icon--sm{width:40px;height:40px;border-radius:11px;font-size:1rem}
.ac-icon--lg{width:64px;height:64px;border-radius:18px;font-size:1.6rem}
.ac-icon--gold{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--gold)}
.ac-icon--info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 40%,transparent);color:var(--info)}
.ac-icon--err{background:color-mix(in srgb,var(--err) 12%,transparent);border-color:color-mix(in srgb,var(--err) 40%,transparent);color:var(--err)}
.ac-card--hover:hover .ac-icon,a.ac-card:hover .ac-icon{transform:rotate(-8deg) scale(1.06);background:var(--acc);color:var(--ink)}
.ac-feature{display:flex;gap:16px;align-items:flex-start}
.ac-feature h3,.ac-feature .ac-h4{margin:0 0 4px}
.ac-feature p{margin:0;color:var(--muted)}
.ac-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ac-checks li{position:relative;padding-left:28px;color:var(--muted)}
.ac-checks li b,.ac-checks li strong{color:var(--text)}
.ac-checks li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:6px;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ce84e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid var(--edge)}
.ac-checks--x li::before{background:color-mix(in srgb,var(--err) 12%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f0846f' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/11px no-repeat;border-color:color-mix(in srgb,var(--err) 40%,transparent)}
.ac-checks--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.ac-tag,.ac-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:.8rem;font-weight:700;color:#ffffff;white-space:nowrap}
.ac-chip{padding:8px 15px;font-size:.88rem;background:var(--surf);transition:border-color .3s,background .3s,transform .3s}
.ac-chip i{color:var(--acc)}
.ac-chip:hover{border-color:var(--edge);background:var(--soft);transform:translateY(-2px)}
.ac-tags{display:flex;flex-wrap:wrap;gap:8px}
.ac-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-family:var(--fm);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--soft);border:1px solid var(--edge);color:var(--acc)}
.ac-badge--ok{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}
.ac-badge--warn,.ac-badge--gold{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}
.ac-badge--err{background:color-mix(in srgb,var(--err) 12%,transparent);border-color:color-mix(in srgb,var(--err) 40%,transparent);color:var(--err)}
.ac-badge--info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 40%,transparent);color:var(--info)}
.ac-badge--mute{background:rgba(255,255,255,.04);border-color:var(--line2);color:var(--muted)}
.ac-badge--solid{background:var(--acc);border-color:var(--acc);color:var(--ink)}
.ac-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.ac-dot--warn{background:var(--warn)}.ac-dot--err{background:var(--err)}.ac-dot--info{background:var(--info)}.ac-dot--mute{background:var(--dim)}

/* Preise / Tarife */
.ac-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.ac-price small{color:var(--dim);font-size:.9rem}
.ac-price b{font-family:var(--fd);font-weight:800;font-stretch:82%;font-size:2.6rem;line-height:1;letter-spacing:-.02em;color:var(--text)}
.ac-price span{color:var(--dim);font-size:.92rem}
.ac-card--prem .ac-price b{color:var(--gold)}
.ac-price--acc b{color:var(--acc)}
.ac-stock{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.74rem;color:var(--muted)}
.ac-stock--hot{color:var(--gold)}.ac-stock--hot .ac-dot{background:var(--gold)}
.ac-stock--out{color:var(--err)}.ac-stock--out .ac-dot{background:var(--err)}

/* Kennzahlen */
.ac-stats{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surf);overflow:hidden}
.ac-stat{padding:28px 26px;border-left:1px solid var(--line)}
.ac-stat:first-child{border-left:0}
.ac-stat__v{font-family:var(--fd);font-weight:800;font-stretch:80%;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1;color:var(--acc);letter-spacing:-.02em}
.ac-stat__v small{font-size:.5em;color:var(--dim);margin-left:3px}
.ac-stat__l{margin-top:10px;font-weight:800}
.ac-stat__s{font-size:.88rem;color:var(--dim)}

/* Schritte */
.ac-steps{position:relative;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px;counter-reset:ac-step}
.ac-steps::before{content:"";position:absolute;left:14%;right:14%;top:37px;height:2px;background:var(--line2)}
.ac-step{position:relative;text-align:center;padding:0 10px}
.ac-step__n{position:relative;z-index:1;width:74px;height:74px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--edge);color:var(--acc);font-size:1.5rem;box-shadow:0 0 0 10px var(--bg);transition:transform .45s var(--ease),background .35s,color .35s}
.ac-sec--alt .ac-step__n{background:var(--bg2);box-shadow:0 0 0 10px var(--bg2)}
.ac-step:hover .ac-step__n{transform:scale(1.08);background:var(--acc);color:var(--ink)}
.ac-step__k{font-family:var(--fm);font-size:.72rem;letter-spacing:.16em;color:var(--acc);text-transform:uppercase}
.ac-step h3{margin:6px 0 8px;font-size:1.3rem}
.ac-step p{margin:0 auto;max-width:34ch;color:var(--muted)}

/* Bilder-Kacheln */
.ac-tile{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surf);aspect-ratio:var(--ratio,16/10)}
.ac-tile img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(.88);transition:transform 1.2s var(--ease),filter .6s}
.ac-tile:hover img{transform:scale(1.06);filter:saturate(1.1) brightness(1)}
.ac-tile figcaption{position:absolute;left:14px;bottom:14px;padding:7px 14px;border-radius:999px;background:rgba(10,36,18,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line2);font-size:.84rem;font-weight:700;color:var(--text);transition:transform .45s var(--ease),background .35s,color .35s}
.ac-tile:hover figcaption{transform:translateY(-4px);background:var(--acc);border-color:var(--acc);color:var(--ink)}

/* Zitat / Bewertung */
.ac-quote{margin:0;font-family:var(--fd);font-weight:800;font-stretch:84%;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15;text-wrap:balance;text-align:center}
.ac-quote span{color:var(--acc)}
.ac-review{display:flex;flex-direction:column;gap:12px}
.ac-stars{display:inline-flex;gap:2px;color:var(--gold);font-size:.95rem;letter-spacing:1px}
.ac-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--edge);color:var(--acc);font-family:var(--fd);font-weight:800;object-fit:cover}

/* Hinweise */
.ac-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--r);border:1px solid var(--edge);background:var(--soft);color:var(--text);font-size:.95rem}
.ac-alert>i{margin-top:.2em;color:var(--acc)}
.ac-alert p:last-child{margin-bottom:0}
.ac-alert--warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent)}
.ac-alert--warn>i{color:var(--warn)}
.ac-alert--err{border-color:color-mix(in srgb,var(--err) 40%,transparent);background:color-mix(in srgb,var(--err) 9%,transparent)}
.ac-alert--err>i{color:var(--err)}
.ac-alert--info{border-color:color-mix(in srgb,var(--info) 40%,transparent);background:color-mix(in srgb,var(--info) 9%,transparent)}
.ac-alert--info>i{color:var(--info)}
.ac-alert--danger,.ac-alert--error{border-color:color-mix(in srgb,var(--err) 40%,transparent);background:color-mix(in srgb,var(--err) 9%,transparent)}
.ac-alert--danger>i,.ac-alert--error>i{color:var(--err)}
.ac-alert--warning{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent)}
.ac-alert--warning>i{color:var(--warn)}
.ac-badge--success{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}
.ac-badge--danger,.ac-badge--error{background:color-mix(in srgb,var(--err) 12%,transparent);border-color:color-mix(in srgb,var(--err) 40%,transparent);color:var(--err)}
.ac-badge--warning,.ac-badge--pending{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}
.ac-badge--secondary{background:rgba(255,255,255,.04);border-color:var(--line2);color:var(--muted)}
.ac-note{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r);border:1px dashed var(--line2);color:var(--muted);font-size:.93rem}
.ac-note i{color:var(--acc)}
.ac-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;border-radius:var(--r-lg);border:1px dashed var(--line2);color:var(--muted);text-align:center}
.ac-empty>i{font-size:2rem;color:var(--dim)}

/* FAQ / Akkordeon */
.ac-faq{border-top:1px solid var(--line)}
.ac-faq details{border-bottom:1px solid var(--line)}
.ac-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:20px 4px;font-family:var(--fd);font-weight:700;font-stretch:92%;font-size:1.1rem;color:var(--text);transition:color .25s}
.ac-faq summary::-webkit-details-marker{display:none}
.ac-faq summary:hover{color:var(--acc)}
.ac-faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);font-family:var(--fb);font-size:1.2rem;font-weight:500;line-height:1;transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s}
.ac-faq details[open] summary::after{content:"\2212";transform:rotate(180deg);background:var(--acc);border-color:var(--acc);color:var(--ink)}
.ac-faq details>*:not(summary){margin:0 0 20px;padding:0 4px;color:var(--muted)}
.ac-faq details::details-content{block-size:0;overflow:hidden;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.ac-faq details[open]::details-content{block-size:auto}

/* Tabs */
.ac-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:var(--r);background:var(--surf);border:1px solid var(--line);width:max-content;max-width:100%}
.ac-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted)!important;font-family:var(--fb);font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:none!important;transition:background .25s,color .25s}
.ac-tab:hover{color:var(--text)!important;background:rgba(255,255,255,.04)}
.ac-tab.is-active,.ac-tab.active,.ac-tab[aria-selected="true"]{background:var(--acc);color:var(--ink)!important}
.ac-tabs--line{padding:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%;gap:2px}
.ac-tabs--line .ac-tab{border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}
.ac-tabs--line .ac-tab.is-active,.ac-tabs--line .ac-tab.active,.ac-tabs--line .ac-tab[aria-selected="true"]{background:none;color:var(--text)!important;border-bottom-color:var(--acc)}

/* Seiten-Navigation */
.ac-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:32px}
.ac-pager a,.ac-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line2);color:var(--text)!important;font-weight:700;font-size:.9rem;text-decoration:none!important}
.ac-pager a:hover{border-color:var(--edge);background:var(--soft)}
.ac-pager .is-active,.ac-pager .active,.ac-pager .active>.page-link,.ac-pager .is-active>.page-link{background:var(--acc)!important;border-color:var(--acc)!important;color:var(--ink)!important}
@media (max-width:640px){.ac-pager a,.ac-pager span{min-width:36px;height:36px;padding:0 9px;font-size:.84rem}}

/* =====================================================================
   Formulare
   ===================================================================== */
.ac-form{display:flex;flex-direction:column;gap:18px}
.ac-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ac-field>label,.ac-label{font-size:.88rem;font-weight:700;color:var(--text)}
.ac-field .ac-help,.ac-help{font-size:.8rem;color:var(--dim)}
.ac-fields{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:16px}
.ac-input,.ac-select,.ac-textarea,
.ac-form input[type="text"],.ac-form input[type="email"],.ac-form input[type="password"],.ac-form input[type="number"],.ac-form input[type="tel"],.ac-form input[type="url"],.ac-form input[type="search"],.ac-form input[type="date"],.ac-form input[type="datetime-local"],.ac-form input[type="time"],.ac-form select,.ac-form textarea{width:100%;min-height:48px;padding:11px 15px;border-radius:12px;border:1px solid var(--line2);background:rgba(8,29,15,.7);color:var(--text);font-family:var(--fb);font-size:16px;line-height:1.4;outline:none;transition:border-color .25s,box-shadow .25s,background .25s;-webkit-appearance:none;appearance:none}
.ac-textarea,.ac-form textarea{min-height:120px;resize:vertical}
.ac-select,.ac-form select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d9e90' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.ac-select option,.ac-form select option{background:#0e2f17;color:var(--text)}
.ac-input::placeholder,.ac-textarea::placeholder,.ac-form input::placeholder,.ac-form textarea::placeholder{color:rgba(255,255,255,.6)}
.ac-input:hover,.ac-select:hover,.ac-textarea:hover,.ac-form input:hover,.ac-form select:hover,.ac-form textarea:hover{border-color:rgba(255,255,255,.24)}
.ac-input:focus,.ac-select:focus,.ac-textarea:focus,.ac-form input:focus,.ac-form select:focus,.ac-form textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px var(--soft);background:rgba(8,29,15,.9)}
.ac-input[disabled],.ac-input[readonly],.ac-form input[disabled],.ac-form input[readonly],.ac-form select[disabled],.ac-form textarea[readonly]{opacity:.7;cursor:not-allowed}
.ac-input--sm,.ac-form .ac-input--sm{min-height:38px;padding:7px 12px;font-size:14px;border-radius:10px}
.ac-select.ac-input--sm,.ac-form select.ac-input--sm{padding-right:36px;background-position:right 11px center}
.ac-check{display:flex;align-items:flex-start;gap:10px;font-size:.93rem;color:var(--muted);cursor:pointer}
.ac-check input[type="checkbox"],.ac-check input[type="radio"],.ac-form input[type="checkbox"],.ac-form input[type="radio"]{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--acc);cursor:pointer}
.ac-input-group{display:flex;align-items:stretch}
.ac-input-group>.ac-input,.ac-input-group>input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0}
.ac-input-group>.ac-btn{border-top-left-radius:0;border-bottom-left-radius:0}
.ac-form .is-invalid,.ac-input.is-invalid{border-color:var(--err)!important}
.ac-error{font-size:.82rem;color:var(--err)}
.ac-divider{display:flex;align-items:center;gap:14px;color:var(--dim);font-size:.82rem}
.ac-divider::before,.ac-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.ac-range,.ac-form input[type="range"]{width:100%;accent-color:var(--acc)}

/* =====================================================================
   Tabellen
   ===================================================================== */
.ac-table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surf);-webkit-overflow-scrolling:touch}
.ac-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.93rem}
.ac-table th,.ac-table td{padding:14px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
.ac-table thead th{position:sticky;top:0;z-index:1;background:var(--surf2);font-family:var(--fm);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.ac-table tbody tr{transition:background .2s}
.ac-table tbody tr:hover{background:rgba(255,255,255,.025)}
.ac-table tbody tr:last-child td,.ac-table tbody tr:last-child th{border-bottom:0}
.ac-table td.ac-num,.ac-table th.ac-num{text-align:right;font-variant-numeric:tabular-nums}
.ac-table--compact th,.ac-table--compact td{padding:10px 14px}
.ac-table--compare td{width:38%}
.ac-table--compare .is-us{background:color-mix(in srgb,var(--acc) 7%,transparent);color:var(--text);font-weight:600}

/* =====================================================================
   Modale (eigene + Bootstrap-Modale im dunklen Look)
   ===================================================================== */
.ac-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(6,22,11,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ac-modal.is-open,.ac-modal[open]{display:flex}
.ac-modal__box{width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow:auto;border-radius:var(--r-xl);background:var(--surf);border:1px solid var(--line2);box-shadow:0 40px 100px -30px rgba(0,0,0,.95);padding:28px}
.ac-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.ac-body .modal-content{background:var(--surf);color:var(--text);border:1px solid var(--line2);border-radius:var(--r-xl);box-shadow:0 40px 100px -30px rgba(0,0,0,.95)}
.ac-body .modal-header,.ac-body .modal-footer{border-color:var(--line)}
.ac-body .modal-title{font-family:var(--fd);font-weight:800;font-stretch:90%}
.ac-body .btn-close{filter:invert(1) grayscale(1) brightness(1.6)}
.ac-body .modal-backdrop.show{opacity:.72;background:#06160b}
.ac-body .dropdown-menu{background:var(--surf);border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 24px 50px -24px rgba(0,0,0,.9)}
.ac-body .dropdown-item{color:var(--text)}
.ac-body .dropdown-item:hover,.ac-body .dropdown-item:focus{background:var(--soft);color:var(--text)}

/* =====================================================================
   Oeffentliche Seitenleiste + Topbar (partials/navbar.ejs)
   ===================================================================== */
body:has(.ac-sb){padding-left:var(--sb-w)}
.ac-sb{position:fixed;left:0;top:0;bottom:0;z-index:1000;width:var(--sb-w);display:flex;flex-direction:column;gap:22px;padding:20px 14px 24px;overflow-y:auto;background:linear-gradient(180deg,#0f2b17,#0a2010);border-right:1px solid;border-image:linear-gradient(180deg,rgba(230,240,230,.4),rgba(230,240,230,.08) 35%,rgba(230,240,230,.22) 70%,rgba(230,240,230,.06)) 1;font-family:var(--fb);scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.ac-sb *{box-sizing:border-box}
.ac-sb__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ac-sb__brand{display:flex;align-items:center;gap:12px;padding:4px 8px;text-decoration:none!important;color:var(--text)!important;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.12rem;letter-spacing:-.01em}
.ac-sb__brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--acc) 45%,transparent));transition:transform .5s var(--ease)}
.ac-sb__brand:hover img{transform:rotate(-8deg) scale(1.06)}
.ac-sb__menu{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--text);align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem}
.ac-sb__menu .ac-ic-close{display:none}
.ac-sb.is-open .ac-sb__menu .ac-ic-open{display:none}
.ac-sb.is-open .ac-sb__menu .ac-ic-close{display:inline}
.ac-sb__t{padding:0 12px 8px;font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.ac-sb__nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ac-sb__nav a,.ac-sb__nav summary{position:relative;display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border-radius:10px;text-decoration:none!important;color:#ffffff!important;font-size:.91rem;font-weight:600;cursor:pointer;list-style:none;transition:background .25s,color .25s,padding .25s}
.ac-sb__nav summary::-webkit-details-marker{display:none}
.ac-sb__nav a i,.ac-sb__nav summary i{width:18px;text-align:center;font-size:.95rem;color:var(--dim);transition:color .25s}
.ac-sb__nav a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--acc);transform:scaleY(0);transition:transform .25s}
.ac-sb__nav a:hover,.ac-sb__nav summary:hover{background:var(--soft);color:var(--text)!important;padding-left:16px}
.ac-sb__nav a:hover i,.ac-sb__nav summary:hover i{color:var(--acc)}
.ac-sb__nav a:hover::before,.ac-sb__nav a.is-active::before{transform:scaleY(1)}
.ac-sb__nav a.is-active{background:var(--soft);color:var(--text)!important}
.ac-sb__nav a.is-active i{color:var(--acc)}
.ac-sb__nav details ul{list-style:none;margin:2px 0 4px;padding:0 0 0 18px}
.ac-sb__nav details ul a{font-size:.86rem;min-height:36px}
.ac-sb__nav .ac-sb__pfeil{margin-left:auto;font-size:.65rem;transition:transform .25s}
.ac-sb__nav details[open] .ac-sb__pfeil{transform:rotate(90deg)}
.ac-sb__new{margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--soft);border:1px solid var(--edge);color:var(--acc);font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.ac-sb__foot{margin-top:auto;padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:4px}
.ac-sb__foot a{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 4px;text-decoration:none!important;font-size:.88rem;font-weight:600;color:#ffffff!important;transition:color .25s}
.ac-sb__foot a:hover{color:var(--acc)!important}
.ac-sb__foot a i{width:17px;text-align:center}
.ac-sb__foot .ac-dot{margin-left:auto}
.ac-top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;padding:12px 40px;border-bottom:1px solid;border-image:linear-gradient(90deg,rgba(230,240,230,.3),rgba(230,240,230,.06) 40%,rgba(230,240,230,.2) 80%,rgba(230,240,230,.05)) 1;background:rgba(11,35,18,.88);font-family:var(--fb)}
.ac-top *{box-sizing:border-box}
.ac-top__rating{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:6px 16px;border-radius:999px;text-decoration:none!important;border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent);font-size:.88rem;font-weight:700;color:var(--text)!important;transition:transform .25s,background .25s}
.ac-top__rating:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--gold) 14%,transparent)}
.ac-top__rating .ac-stars{font-size:.85rem}
.ac-top__rating b{color:var(--gold);font-weight:800}
.ac-top__rating .ac-top__cnt{color:var(--muted);font-weight:600}
.ac-top__auth{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.ac-top__btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:10px;text-decoration:none!important;font-size:.88rem;font-weight:700;border:1px solid var(--line2);color:var(--text)!important;background:transparent;transition:background .25s,border-color .25s,transform .25s}
.ac-top__btn:hover{border-color:var(--edge);background:var(--soft)}
.ac-top__btn--solid{background:var(--acc);border-color:var(--acc);color:var(--ink)!important}
.ac-top__btn--solid:hover{background:var(--acc);transform:translateY(-1px)}
@media (max-width:980px){
  body:has(.ac-sb){padding-left:0;padding-top:66px}
  .ac-sb{right:0;bottom:auto;width:auto;height:66px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;overflow:hidden;border-right:0;border-image:none;border-bottom:1px solid var(--line);background:rgba(12,41,21,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .ac-sb__top{flex:1 1 100%}
  .ac-sb__brand img{width:40px;height:40px}
  .ac-sb__menu{display:inline-flex}
  .ac-sb__sec,.ac-sb__foot{display:none;flex:1 1 100%}
  .ac-sb.is-open{height:100vh;height:100dvh;overflow-y:auto;align-content:flex-start;padding-bottom:28px}
  .ac-sb.is-open .ac-sb__sec{display:block}
  .ac-sb.is-open .ac-sb__foot{display:flex}
  .ac-top{padding:10px 20px}
}
@media (max-width:640px){
  .ac-top{flex-wrap:nowrap;gap:8px;padding:8px 14px}
  .ac-top__rating{min-height:36px;padding:4px 11px;gap:6px;flex:none}
  .ac-top__rating .ac-top__cnt,.ac-top__rating .ac-stars i:not(:first-child){display:none}
  .ac-top__auth{flex-wrap:nowrap;gap:6px}
  .ac-top__btn{min-height:36px;padding:0 11px;font-size:.82rem;gap:6px}
  .ac-top__btn .ac-top__lbl{display:none}
  .ac-foot__bottom::before{left:20px;right:20px}
}

/* =====================================================================
   Footer (partials/footer.ejs)
   ===================================================================== */
.ac-foot{position:relative;overflow:hidden;padding:80px 0 0;background:linear-gradient(180deg,#0a2010,#081b0d);border-top:1px solid;border-image:linear-gradient(90deg,rgba(230,240,230,.05),rgba(230,240,230,.3) 50%,rgba(230,240,230,.05)) 1;color:var(--muted);font-family:var(--fb)}
.ac-foot *{box-sizing:border-box}
.ac-foot__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:36px}
.ac-foot__brand{display:flex;align-items:center;gap:12px;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.2rem;color:var(--text)}
.ac-foot__brand img{width:48px;height:48px;object-fit:contain}
.ac-foot p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:14px 0 0}
.ac-foot h4{margin:0 0 14px;font-family:var(--fm);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.ac-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ac-foot ul a{display:inline-flex;align-items:center;min-height:32px;text-decoration:none!important;color:#ffffff!important;font-size:.91rem;font-weight:600;transition:color .25s,transform .25s}
.ac-foot ul a:hover{color:var(--acc)!important;transform:translateX(3px)}
.ac-foot__soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ac-foot__soc a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);text-decoration:none!important;color:var(--text)!important;font-size:.84rem;font-weight:700;transition:background .25s,border-color .25s,color .25s}
.ac-foot__soc a:hover{background:var(--acc);border-color:var(--acc);color:var(--ink)!important}
.ac-foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;margin-top:52px;padding-top:22px;padding-bottom:6px;color:var(--dim);font-size:.84rem;position:relative}
.ac-foot__bottom::before{content:"";position:absolute;top:0;left:40px;right:40px;height:1px;background:var(--line)}
.ac-foot .marken-hinweis{color:var(--dim)!important}
.ac-foot__word{margin-top:20px;text-align:center;white-space:nowrap;font-family:var(--fd);font-weight:900;font-stretch:72%;font-size:10vw;line-height:.78;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--acc) 30%,transparent);user-select:none}
@media (max-width:1100px){.ac-foot__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-foot__grid>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.ac-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-foot{padding-top:56px}}

/* =====================================================================
   App-Rahmen: Kundenbereich (.customer-sidebar/.customer-main)
   und Admin (.admin-sidebar/.main-content)
   ===================================================================== */
body.ac-app{background:var(--bg)}
.ac-appbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin-bottom:28px}
.ac-appbar__title{margin:0;font-family:var(--fd);font-weight:800;font-stretch:84%;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1;letter-spacing:-.015em}
.ac-appbar__sub{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.ac-appbar__actions{display:flex;flex-wrap:wrap;gap:10px}
.ac-panel{border-radius:var(--r-lg);background:var(--surf);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.ac-panel+.ac-panel{margin-top:18px}
.ac-panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line)}
.ac-panel__title{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.08rem}
.ac-panel__title i{color:var(--pc,var(--acc))}
.ac-panel__body{padding:22px}
.ac-panel__body--flush{padding:0}
.ac-panel__body--flush .ac-table-wrap{border:0;border-radius:0;background:transparent}
.ac-panel__foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ac-kpis{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:16px}
.ac-kpi{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--r-lg);background:linear-gradient(180deg,#143a1e,var(--surf) 60%);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.ac-kpi:hover{border-color:var(--edge);transform:translateY(-3px)}
.ac-kpi__k{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ac-kpi__k i{color:var(--acc)}
.ac-kpi__v{font-family:var(--fd);font-weight:800;font-stretch:84%;font-size:2rem;line-height:1.05;color:var(--text);font-variant-numeric:tabular-nums}
.ac-kpi__s{font-size:.82rem;color:var(--muted)}
.ac-kpi--acc .ac-kpi__v{color:var(--acc)}
.ac-kpi--gold .ac-kpi__v{color:var(--gold)}
.ac-kpi--err .ac-kpi__v{color:var(--err)}
.ac-kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--kc) 30%,transparent),transparent);pointer-events:none}
/* Farbige Kennzahlen: jede Kachel einer Reihe bekommt ihre eigene Akzentfarbe
   (gruen, blau, gold, lila, tuerkis, koralle). Kacheln mit Modifier
   (--acc/--gold/--err/--info/--violet) behalten ihre Bedeutungsfarbe. */
:where(.ac-kpi){--kc:var(--acc)}
:where(.ac-kpis>.ac-kpi:nth-child(6n+2)){--kc:#4aa3ff}
:where(.ac-kpis>.ac-kpi:nth-child(6n+3)){--kc:#ffb52e}
:where(.ac-kpis>.ac-kpi:nth-child(6n+4)){--kc:#b07cff}
:where(.ac-kpis>.ac-kpi:nth-child(6n+5)){--kc:#2fd6c8}
:where(.ac-kpis>.ac-kpi:nth-child(6n+6)){--kc:#ff7a59}
.ac-kpi[class*="--acc"],.ac-kpi[class*="--ok"]{--kc:var(--acc)}.ac-kpi[class*="--gold"],.ac-kpi[class*="--warn"],.ac-kpi[class*="--wait"]{--kc:var(--gold)}.ac-kpi[class*="--err"]{--kc:var(--err)}.ac-kpi[class*="--info"],.ac-kpi[class*="--prog"]{--kc:var(--info)}.ac-kpi[class*="--violet"]{--kc:#b07cff}.ac-kpi[class*="--mute"],.ac-kpi[class*="--closed"]{--kc:#9db79f}
.ac-kpi{border-color:color-mix(in srgb,var(--kc) 30%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--kc) 17%,#123620) 0%,var(--surf) 58%)}
.ac-kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--kc),color-mix(in srgb,var(--kc) 0%,transparent) 85%);pointer-events:none}
.ac-kpi:hover{border-color:color-mix(in srgb,var(--kc) 60%,transparent)}
.ac-kpi .ac-kpi__k{color:color-mix(in srgb,var(--kc) 75%,#ffffff)}
.ac-kpi .ac-kpi__k i{color:var(--kc)}
.ac-kpi--info .ac-kpi__v{color:var(--info)}
.ac-kpi--violet .ac-kpi__v{color:#b07cff}

/* Panels: Symbol und Kopfzeile wechseln die Farbe, damit lange Seiten nicht eintoenig wirken */
:where(.ac-panel){--pc:var(--acc)}
:where(.ac-panel:nth-of-type(5n+2)){--pc:#4aa3ff}
:where(.ac-panel:nth-of-type(5n+3)){--pc:#ffb52e}
:where(.ac-panel:nth-of-type(5n+4)){--pc:#b07cff}
:where(.ac-panel:nth-of-type(5n+5)){--pc:#2fd6c8}
:where(.ac-panel>.ac-panel__head){background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 13%,transparent),transparent 65%)}
.ac-dl{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:10px 22px;margin:0}
.ac-dl dt{color:var(--dim);font-size:.88rem}
.ac-dl dd{margin:0;color:var(--text);font-weight:600;word-break:break-word}
.ac-term{padding:14px 16px;border-radius:var(--r);background:#07190d;border:1px solid var(--line);font-family:var(--fm);font-size:.8rem;line-height:1.75;color:#ffffff;overflow:auto}
.ac-progress--lg{height:14px!important}
.ac-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.ac-progress>span,.ac-progress>i,.ac-progress>div,.ac-progress__bar{display:block;height:100%;border-radius:inherit;background:var(--acc);transition:width .6s var(--ease)}
.ac-progress--warn>span,.ac-progress--warn>i,.ac-progress--warn>div{background:var(--warn)}
.ac-progress--err>span,.ac-progress--err>i,.ac-progress--err>div{background:var(--err)}

/* Kunden-Seitenleiste (customer/partials/sidebar*.ejs) */
.customer-sidebar,.admin-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;width:var(--app-sb-w);display:flex;flex-direction:column;overflow-y:auto;background:linear-gradient(180deg,#0f2b17,#0a2010);border-right:1px solid;border-image:linear-gradient(180deg,rgba(230,240,230,.4),rgba(230,240,230,.08) 35%,rgba(230,240,230,.22) 70%,rgba(230,240,230,.06)) 1;font-family:var(--fb);scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.customer-sidebar *,.admin-sidebar *{box-sizing:border-box}
.ac-appsb__head{display:flex;align-items:center;gap:12px;padding:20px 18px 18px;border-bottom:1px solid var(--line);text-decoration:none!important}
.ac-appsb__head img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--acc) 40%,transparent))}
.ac-appsb__head b{display:block;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.05rem;color:var(--text);line-height:1.15}
.ac-appsb__head small{display:block;font-family:var(--fm);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.ac-appsb__sec{padding:14px 12px 4px}
.ac-appsb__t{padding:0 10px 6px;font-family:var(--fm);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.ac-appsb__nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ac-appsb__nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:38px;padding:8px 12px;border-radius:10px;text-decoration:none!important;color:#ffffff!important;font-size:.88rem;font-weight:600;transition:background .2s,color .2s}
.ac-appsb__nav a i{width:17px;text-align:center;font-size:.9rem;color:var(--dim);transition:color .2s}
.ac-appsb__nav a:hover{background:rgba(255,255,255,.04);color:var(--text)!important}
.ac-appsb__nav a:hover i{color:var(--acc)}
.ac-appsb__nav a.active,.ac-appsb__nav a.is-active{background:var(--soft);color:var(--text)!important}
.ac-appsb__nav a.active i,.ac-appsb__nav a.is-active i{color:var(--acc)}
.ac-appsb__nav a.active::before,.ac-appsb__nav a.is-active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--acc)}
.ac-appsb__count{margin-left:auto;min-width:20px;padding:1px 7px;border-radius:999px;background:var(--err);color:#fff;font-size:.68rem;font-weight:800;text-align:center}
.ac-appsb__count--gold{background:var(--gold);color:#1d1404}
.ac-appsb__count--acc{background:var(--acc);color:var(--ink)}
.ac-appsb__new{margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--gold);color:#1d1404;font-size:.6rem;font-weight:800}
.ac-appsb__foot{margin-top:auto;padding:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ac-appsb__foot a{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 12px;border-radius:10px;text-decoration:none!important;font-size:.86rem;font-weight:700;color:#ffffff!important;transition:background .2s,color .2s}
.ac-appsb__foot a:hover{background:rgba(255,255,255,.04);color:var(--text)!important}
.ac-appsb__foot a.ac-appsb__logout{color:#ffb8a8!important}
.ac-appsb__foot a.ac-appsb__logout:hover{background:color-mix(in srgb,var(--err) 12%,transparent)}
.ac-appsb__mbar{display:none}
.ac-appsb__toggle{display:inline-flex;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--text);align-items:center;justify-content:center;font-size:1.05rem;cursor:pointer}
.ac-appsb__mbrand{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;font-stretch:90%;font-size:1.05rem;color:var(--text)!important;text-decoration:none!important}
.ac-appsb__mbrand img{width:34px;height:34px;object-fit:contain}
.ac-appsb__overlay{display:none;position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.55)}
.customer-main,.main-content{min-height:100vh;padding:32px 40px 64px;margin-left:var(--app-sb-w)!important;font-family:var(--fb)}
.ac-appfoot{margin-left:var(--app-sb-w);padding:18px 40px 26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;color:var(--dim);font-size:.82rem;font-family:var(--fb)}
.ac-appfoot nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.ac-appfoot a{color:var(--muted)!important;text-decoration:none!important}
.ac-appfoot a:hover{color:var(--acc)!important}
.ac-appsb__head>span{display:block;min-width:0}
@media (max-width:991px){
  .customer-sidebar,.admin-sidebar{transform:translateX(-100%);transition:transform .3s var(--ease)}
  .customer-sidebar.active,.admin-sidebar.active{transform:none}
  .ac-appsb__mbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;z-index:998;height:62px;padding:0 14px;background:rgba(12,41,21,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font-family:var(--fb)}
  .ac-appsb__overlay.active{display:block}
  .customer-main,.main-content{margin-left:0!important;padding:76px 18px 48px!important}
  .ac-appfoot{margin-left:0;padding:16px 18px 24px}
}

/* =====================================================================
   Bewegung
   ===================================================================== */
.ac-in{animation:ac-up .9s var(--ease) both}
.ac-in.ac-d1{animation-delay:.06s}.ac-in.ac-d2{animation-delay:.16s}.ac-in.ac-d3{animation-delay:.28s}.ac-in.ac-d4{animation-delay:.4s}.ac-in.ac-d5{animation-delay:.52s}
.ac-live::after,.ac-sb__foot .ac-dot{animation:ac-ping 2s cubic-bezier(0,0,.2,1) infinite}
.ac-sb__foot .ac-dot{animation:none;box-shadow:0 0 8px var(--acc)}
.ac-card--hi,.ac-card--prem,.ac-btn--prem{animation:ac-spin 7s linear infinite}
@keyframes ac-up{from{opacity:0;transform:translateY(24px)}}
@keyframes ac-ping{75%,100%{transform:scale(2.6);opacity:0}}
@keyframes ac-spin{to{--ac-ang:360deg}}
@keyframes ac-rv{from{opacity:0;transform:translateY(36px)}}
@keyframes ac-draw{from{transform:scaleX(0)}}
@supports (animation-timeline: view()){
  .ac-rv{animation:ac-rv linear both;animation-timeline:view();animation-range:entry 0% cover 24%}
  .ac-rv.ac-s2{animation-range:entry 6% cover 30%}
  .ac-rv.ac-s3{animation-range:entry 12% cover 36%}
  .ac-rv.ac-s4{animation-range:entry 18% cover 42%}
  .ac-card--hi.ac-rv,.ac-card--prem.ac-rv{animation:ac-spin 7s linear infinite,ac-rv linear both;animation-timeline:auto,view();animation-range:normal,entry 0% cover 24%}
  .ac-steps::after{content:"";position:absolute;left:14%;right:14%;top:37px;height:2px;background:var(--acc);box-shadow:0 0 12px var(--acc);transform-origin:0 50%;animation:ac-draw linear both;animation-timeline:view();animation-range:entry 30% cover 60%}
  body.ac-body:not(.ac-app)::before{content:"";position:fixed;left:0;right:0;top:0;z-index:1500;height:3px;background:var(--acc);box-shadow:0 0 12px var(--acc);transform-origin:0 50%;animation:ac-grow linear both;animation-timeline:scroll(root)}
}
@keyframes ac-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .ac-body *,.ac-body *::before,.ac-body *::after,.ac-sb *,.ac-foot *{animation:none!important;transition:none!important}
  body.ac-body::before{display:none}
}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:1180px){
  .ac-hero__grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .ac-grid--5,.ac-grid--6{--cols:3}
  .ac-kpis{--cols:2}
}
@media (max-width:980px){
  .ac-split,.ac-split--wide-left,.ac-split--wide-right{grid-template-columns:minmax(0,1fr);gap:40px}
  .ac-grid--3,.ac-grid--4,.ac-grid--5,.ac-grid--6{--cols:2}
  .ac-stats{--cols:2}
  .ac-stat:nth-child(odd){border-left:0}
  .ac-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .ac-steps{--cols:1;gap:36px}
  .ac-steps::before,.ac-steps::after{display:none}
  .ac-sec{padding:72px 0}
}
@media (max-width:640px){
  .ac-wrap{padding:0 20px}
  .ac-sec{padding:60px 0}
  .ac-hero{padding:56px 0 52px}
  .ac-grid--2,.ac-grid--3,.ac-grid--4,.ac-grid--5,.ac-grid--6,.ac-fields,.ac-checks--2{--cols:1;grid-template-columns:minmax(0,1fr)}
  .ac-kpis{--cols:2;gap:10px}
  .ac-kpi{padding:16px}
  .ac-kpi__v{font-size:1.6rem}
  .ac-stats{--cols:2}
  .ac-stat{padding:20px 18px}
  .ac-stat:nth-child(odd){border-left:0}
  .ac-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .ac-card{padding:22px}
  .ac-card__img{margin:-22px -22px 4px}
  .ac-btns .ac-btn{flex:1 1 100%}
  .ac-btn{white-space:normal;text-align:center;line-height:1.25;padding-top:10px;padding-bottom:10px}
  .ac-btn--sm,.ac-btn--xs{padding-top:6px;padding-bottom:6px}
  .ac-dl{grid-template-columns:minmax(0,1fr);gap:2px 0}
  .ac-dl dd{margin-bottom:10px}
  .ac-appbar{flex-direction:column;align-items:flex-start}
  .ac-panel__body{padding:18px}
  .ac-panel__body.ac-panel__body--flush{padding:0}
}
