/* A78 — Marke: Ink + Blau->Violett. Alles unter .a78-app gescoped. */
.a78-app{
  --ink:#0f1b26; --soft:#42566a; --faint:#6b7f94;
  --line:#dbe3ef; --surface:#fff; --surface2:#f5f8ff;
  --blue:#0a63ff; --violet:#6c00ff; --green:#12a563; --amber:#c9820a;
  --grad:linear-gradient(100deg,#0a63ff,#3b3bff 50%,#6c00ff);
  --band:#0b1420; --band2:#132234; --bandline:#22384f; --bandink:#eaf1ff; --bandsoft:#9db2cb;
  color:var(--ink); font-size:16px; line-height:1.55;
  max-width:1080px; margin:0 auto;
}
.a78-app *{box-sizing:border-box}
.a78-app h1,.a78-app h2,.a78-app h3,.a78-app h4{line-height:1.15;margin:0 0 .5rem}
.a78-app a{color:var(--blue);text-decoration:none}
.a78-app a:hover{text-decoration:underline}
.a78-mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.a78-muted{color:var(--soft)} .a78-small{font-size:.85rem} .a78-hide{}

/* Header */
.a78-top{display:flex;align-items:center;gap:1rem;padding:.6rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.a78-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none!important}
.a78-brand b{color:var(--ink);font-weight:800;font-size:1.15rem;letter-spacing:.02em}
.a78-logo{height:24px;width:auto;display:block}
.a78-nav{margin-left:auto;display:flex;gap:1rem;align-items:center}
.a78-nav a{color:var(--soft);font-weight:600;font-size:.95rem}
.a78-nav a:hover{color:var(--ink);text-decoration:none}

/* Buttons */
.a78-btn{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;
  padding:.5rem .95rem;border-radius:9px;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none!important}
.a78-primary{background:var(--grad);color:#fff!important;box-shadow:0 6px 16px -8px rgba(59,59,255,.6)}
.a78-primary:hover{filter:brightness(1.07)}
.a78-ghost{border-color:var(--line);color:var(--ink)!important;background:#fff}
.a78-ghost:hover{background:var(--surface2)}
.a78-ghost-d{border-color:var(--bandline);color:var(--bandink)!important}

/* Hero (dunkles Panel) */
.a78-hero{background:
    radial-gradient(80% 120% at 90% -20%,rgba(108,0,255,.30),transparent 60%),
    radial-gradient(60% 100% at 0% 0%,rgba(10,99,255,.22),transparent 55%),var(--band);
  color:var(--bandink);border:1px solid var(--bandline);border-radius:18px;padding:2.4rem 2rem;margin-bottom:1.4rem}
.a78-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;color:var(--bandink)}
.a78-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.a78-hero p{color:var(--bandsoft);max-width:52ch;margin:.6rem 0 1.3rem}
.a78-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#6f9bff}
.a78-cta{display:flex;gap:.7rem;flex-wrap:wrap}

/* Stat-Kacheln */
.a78-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 1.4rem}
.a78-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem}
.a78-k{color:var(--faint);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.a78-v{font-size:1.7rem;font-weight:800;margin-top:.3rem;letter-spacing:-.01em}
.a78-v small{font-size:.9rem;color:var(--faint);font-weight:700}
.a78-live{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:.45rem;vertical-align:middle;box-shadow:0 0 0 0 rgba(18,165,99,.5);animation:a78pulse 2.2s infinite}
@keyframes a78pulse{0%{box-shadow:0 0 0 0 rgba(18,165,99,.5)}70%{box-shadow:0 0 0 7px rgba(18,165,99,0)}100%{box-shadow:0 0 0 0 rgba(18,165,99,0)}}
@media(max-width:720px){.a78-stats{grid-template-columns:1fr 1fr}}

/* Sektionen / Karten */
.a78-section{margin:0 0 1.6rem}
.a78-section h3{font-size:1.15rem;font-weight:700}
.a78-narrow{max-width:420px}
.a78-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem;margin:0 0 1rem;box-shadow:0 1px 2px rgba(15,27,38,.05)}
.a78-card h3{font-size:1.05rem;font-weight:700;margin-bottom:.4rem}

/* Flotten-/Node-Tabelle */
.a78-fleet{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.a78-row{display:grid;grid-template-columns:1.4fr 1.3fr .9fr .9fr auto auto;gap:1rem;align-items:center;padding:.7rem 1.1rem;border-top:1px solid var(--line);font-size:.92rem}
.a78-fleet-body .a78-row:first-child{border-top:none}
.a78-row.a78-head{border-top:none;background:var(--surface2);color:var(--faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.a78-node{font-weight:700}
.a78-pill{display:inline-flex;align-items:center;font-size:.76rem;font-weight:700;padding:.18rem .55rem;border-radius:999px}
.a78-on{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}
.a78-off{color:var(--faint);background:color-mix(in srgb,var(--faint) 14%,transparent)}
.a78-x{border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;color:var(--faint);width:26px;height:26px;line-height:1}
.a78-x:hover{color:#c0392b;border-color:#eab8b1}
@media(max-width:720px){.a78-row{grid-template-columns:1fr auto auto}.a78-hide{display:none}}

/* Rangliste */
.a78-rankgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.a78-rankcol h4{font-size:.9rem;color:var(--soft);margin-bottom:.3rem}
.a78-rank{list-style:none;margin:0;padding:0}
.a78-rank li{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--line)}
.a78-pos{font-family:"IBM Plex Mono",monospace;color:var(--faint);font-weight:700;width:1.4rem}
.a78-who{font-weight:600}.a78-pts{color:var(--blue);font-weight:700}

/* Formulare */
.a78-form{display:flex;flex-direction:column;gap:.8rem;max-width:380px}
.a78-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem;color:var(--soft)}
.a78-form input{padding:.6rem .7rem;border:1px solid var(--line);border-radius:9px;font-size:1rem;background:#fff;color:var(--ink)}
.a78-form input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.a78-form .a78-btn{align-self:flex-start;margin-top:.3rem}

/* Copy / Chips / Meldungen */
.a78-copy{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.4rem 0}
.a78-copy code{background:var(--band);color:var(--bandink);padding:.5rem .7rem;border-radius:8px;font-family:"IBM Plex Mono",monospace;font-size:.85rem;overflow-x:auto}
.a78-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.a78-chip{border:1px dashed var(--line);background:var(--surface2);border-radius:999px;padding:.4rem .8rem;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--ink)}
.a78-chip:hover{border-color:var(--blue);color:var(--blue)}
.a78-plus{color:var(--blue);font-weight:800}
.a78-msg{padding:.7rem 1rem;border-radius:10px;margin:0 0 1rem;font-weight:600}
.a78-msg-ok{background:color-mix(in srgb,var(--green) 12%,#fff);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 30%,#fff)}
.a78-msg-err{background:#fdecea;color:#b23b2e;border:1px solid #f3c6c0}

.a78-foot{border-top:1px solid var(--line);padding:1.2rem 0;margin-top:1rem;color:var(--faint);font-size:.85rem;text-align:center}

/* Badges — Sechseck-Medaillen */
.a78-badgewrap{display:flex;flex-direction:column;gap:1.1rem}
.a78-badgefam-t{font-size:.75rem;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}
.a78-mdlgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.8rem}
.a78-mdl{margin:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;
  padding:.7rem .4rem;border:1px solid var(--line);border-radius:12px;background:var(--surface2);transition:transform .12s}
.a78-mdl:hover{transform:translateY(-2px)}
.a78-mdl svg{width:52px;height:auto;display:block}
.a78-mdl figcaption{font-size:.72rem;font-weight:700;color:var(--ink);line-height:1.2;display:flex;flex-direction:column;gap:.1rem}
.a78-mdl figcaption span{font-family:"IBM Plex Mono",monospace;font-weight:600;color:var(--green);font-size:.68rem}
.a78-rar-legend svg polygon:first-of-type{filter:drop-shadow(0 0 3px rgba(108,0,255,.55))}
.a78-mdl-locked{opacity:.5;filter:grayscale(.4)}
.a78-mdl-locked figcaption span{color:var(--faint)}
.a78-nextwrap{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--line)}

/* Dach-Einordnung (LenaX / TB-Software) */
.a78-brandbox{display:flex;flex-direction:column;gap:.1rem;line-height:1.1}
.a78-umbrella{font-size:.68rem;font-weight:600;color:var(--faint);letter-spacing:.02em;text-decoration:none}
.a78-umbrella:hover{color:var(--blue);text-decoration:none}
.a78-hero-sub{color:var(--bandsoft)!important;font-size:.92rem;max-width:56ch;margin:.2rem 0 1.3rem!important}
.a78-hero-sub strong{color:var(--bandink)}

/* ===== LenaX Verkaufsseite (.lenax) — Indigo + Emerald ===== */
.lenax{--lx-ink:#1f2937;--lx-500:#6b7280;--lx-line:#e6e6e8;--lx-bg:#fff;--lx-sub:#f7f7f8;
  --lx-indigo:#1919c8;--lx-indigo2:#5a5ad4;--lx-violet:#7c7cf0;--lx-em:#10b981;--lx-teal:#14b8a6;
  max-width:1000px;margin:0 auto;color:var(--lx-ink);font-size:16px;line-height:1.6}
.lenax *{box-sizing:border-box}
.lenax h1,.lenax h2,.lenax h3{line-height:1.2;margin:0 0 .4rem}
.lenax a{color:var(--lx-indigo);text-decoration:none}.lenax a:hover{text-decoration:underline}
.lx-top{display:flex;align-items:center;gap:1rem;padding:.6rem 0 1.1rem;border-bottom:1px solid var(--lx-line);margin-bottom:1.6rem}
.lx-brand{display:flex;align-items:center;gap:.5rem;color:var(--lx-ink)!important;text-decoration:none!important;font-weight:700}
.lx-logo{width:26px;height:26px}.lx-sub{color:var(--lx-500);font-weight:600;font-size:.9rem}
.lx-nav{margin-left:auto;display:flex;gap:1rem;align-items:center}
.lx-nav a{color:var(--lx-500);font-weight:600;font-size:.95rem}.lx-nav a:hover{color:var(--lx-ink);text-decoration:none}
.lx-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;border-radius:11px;padding:.6rem 1rem;
  border:1px solid var(--lx-line);background:#fff;color:var(--lx-ink)!important;cursor:pointer;text-decoration:none!important}
.lx-btn:hover{background:var(--lx-sub);text-decoration:none!important}
.lx-primary{background:linear-gradient(100deg,var(--lx-indigo),var(--lx-violet));color:#fff!important;border-color:transparent;box-shadow:0 8px 18px -8px rgba(25,25,200,.5)}
.lx-primary:hover{filter:brightness(1.06)}
.lx-ghost{border-color:var(--lx-line)}
.lx-big{padding:.85rem 1.2rem}.lx-big small{display:block;font-weight:500;font-size:.78rem;color:var(--lx-500)}
.lx-primary.lx-big small{color:rgba(255,255,255,.85)}
.lx-hero{padding:1.2rem 0 1.6rem}
.lx-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lx-indigo2);font-weight:700}
.lx-hero h1{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin:.5rem 0 .6rem}
.lx-claim{font-size:1.1rem;color:var(--lx-500);max-width:60ch}
.lx-tags{display:flex;gap:.5rem;margin:1rem 0 1.3rem;flex-wrap:wrap}
.lx-tags span{font-size:.8rem;font-weight:700;color:var(--lx-indigo);background:color-mix(in srgb,var(--lx-violet) 16%,#fff);border:1px solid color-mix(in srgb,var(--lx-violet) 30%,#fff);border-radius:999px;padding:.25rem .7rem}
.lx-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.lx-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 2rem}
.lx-p{background:var(--lx-bg);border:1px solid var(--lx-line);border-radius:16px;padding:1.3rem}
.lx-ic{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:11px;background:color-mix(in srgb,var(--lx-indigo2) 14%,#fff);color:var(--lx-indigo2);margin-bottom:.6rem}
.lx-ic svg{width:22px;height:22px}
.lx-p.teal .lx-ic{background:color-mix(in srgb,var(--lx-teal) 15%,#fff);color:var(--lx-teal)}
.lx-p.em .lx-ic{background:color-mix(in srgb,var(--lx-em) 15%,#fff);color:var(--lx-em)}
.lx-p h3{font-size:1.1rem;font-weight:700}.lx-p p{color:var(--lx-500);margin:0}
.lx-more{margin:0 0 2rem}.lx-more h2{font-size:1.5rem;font-weight:800}.lx-more p{color:var(--lx-500)}
.lx-list{columns:2;gap:1.5rem;margin:1rem 0;padding-left:1.1rem;color:var(--lx-ink)}
.lx-list li{margin:.25rem 0}
.lx-pack{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.lx-price{border:1px solid var(--lx-line);border-radius:16px;padding:1.3rem;background:var(--lx-sub)}
.lx-amt{font-size:1.8rem;font-weight:800;color:var(--lx-ink)}.lx-amt span{font-size:.9rem;color:var(--lx-500);font-weight:700}
.lx-lab{color:var(--lx-500);margin-top:.2rem}
.lx-band{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:linear-gradient(100deg,#0b1420,#132234);color:#eaf1ff;border-radius:16px;padding:1.3rem 1.5rem;margin:0 0 2rem}
.lx-band b{color:#fff}
.lx-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--lx-line);padding:1.2rem 0;color:var(--lx-500);font-size:.9rem}
@media(max-width:760px){.lx-pillars{grid-template-columns:1fr}.lx-pack{grid-template-columns:1fr}.lx-list{columns:1}}

/* ===== LenaX Chat (.lxchat) ===== */
.lxchat{--c-line:#e6e6e8;--c-muted:#6b7280;--c-accent:#4e79e0;max-width:820px;margin:0 auto;
  display:flex;flex-direction:column;height:72vh;min-height:420px;border:1px solid var(--c-line);border-radius:16px;overflow:hidden;background:#fff}
.lxc-top{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--c-line)}
.lxc-top b{font-weight:700}.lxc-top .lx-logo{width:24px;height:24px}
.lxc-who{color:var(--c-muted);font-size:.72rem;margin-left:.3rem}
.lxc-back{margin-left:auto;color:var(--c-muted)!important;font-weight:600;font-size:.85rem;text-decoration:none!important}
.lxc-bar{display:flex;gap:.5rem;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--c-line);background:#fafafa}
.lxc-bar label{color:var(--c-muted);font-size:.8rem}
.lxc-bar select{flex:1;padding:.45rem .6rem;border:1px solid var(--c-line);border-radius:8px;background:#fff;font:inherit}
.lxc-iconbtn{border:1px solid var(--c-line);background:#fff;border-radius:8px;height:34px;padding:0 .7rem;cursor:pointer}
.lxc-log{flex:1;overflow:auto;padding:1.1rem 1rem;display:flex;flex-direction:column;gap:.8rem;background:#fff}
.lxc-msg{max-width:82%;padding:.6rem .8rem;border-radius:14px;white-space:pre-wrap;word-break:break-word}
.lxc-msg.me{align-self:flex-end;background:#eef0f4;color:#1f2023;border-bottom-right-radius:5px}
.lxc-msg.ai{align-self:flex-start;max-width:100%;background:transparent}
.lxc-status{align-self:center;color:var(--c-muted);font-size:.8rem}
.lxc-form{display:flex;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--c-line);background:#fff}
.lxc-form textarea{flex:1;resize:none;border:1px solid var(--c-line);border-radius:12px;padding:.65rem .8rem;min-height:46px;max-height:150px;font:inherit}
.lxc-form textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 20%,transparent)}
.lxc-send{background:var(--c-accent);color:#fff;border:none;border-radius:12px;padding:0 1.1rem;font-weight:700;cursor:pointer}
.lxc-send:disabled{opacity:.45;cursor:default}
