/* Transaction-Network · Aufgabe «Die Maschine steht». Aussehen wie das Kundenkonto auf transaction-network.io (Rundgang
   2026-10-23: Seitenleiste #2F3133, Karten #ECF2F9, Knöpfe #006496, Aktionsknopf grün #006C4E, Schrift Roboto).
   Service Brain als Leiste rechts wie in der Demo Service Brain. Nur die Leiste «Aufgabe» oben trägt die Marke TN. */
@font-face{font-family:"Kanit";src:url("assets/Kanit-Medium.ttf") format("truetype");font-weight:500}
@font-face{font-family:"Kanit";src:url("assets/Kanit-SemiBold.ttf") format("truetype");font-weight:600}
:root{
  --seite:#2F3133;--grund:#F8F9FE;--karte:#ECF2F9;--karte-2:#E1EAF4;--innen:#E4ECF5;--blau:#006496;--blau-kreis:#2B6CA3;--gruen:#006C4E;
  --text:rgba(0,0,0,.87);--leise:rgba(0,0,0,.56);--linie:rgba(0,0,0,.12);--ok:#5E9E2F;--ok-hell:#8BC34A;--gelb:#F4D109;--rot:#C62828;--rot-hell:#D9342B;
  --navy:#24364C;--tn-rot:#D04345;--lila:#7C83D6;--lila-hell:#ECEBFA;--marine:#1F2B6B;--petrol:#2F5D62;
  --schrift:Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;--marke:"Kanit",system-ui,sans-serif;
  --leiste:52px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--schrift);font-size:14px;line-height:1.43;color:var(--text);background:var(--grund);overflow-x:hidden}
a{color:var(--blau);text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}

/* ---------- Leiste «Aufgabe» (Marke TN, nicht Teil des Kundenkontos) ---------- */
.auftrag{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);color:#fff;padding:8px 16px;min-height:52px}
.auftrag-links{display:flex;flex-direction:column;min-width:0;gap:2px;flex:1}
.zurueck-knopf{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;background:#fff;color:var(--navy);font-weight:700;font-size:13.5px;border-radius:8px;padding:8px 14px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.zurueck-knopf:hover{background:#E6E9F0}
.zurueck-knopf span[aria-hidden]{font-size:16px;line-height:1}
.auftrag-titel{font-family:var(--marke);font-weight:600;font-size:15px;letter-spacing:.02em}
.auftrag-schritt{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.auftrag-schritt .nr{display:inline-block;background:var(--tn-rot);color:#fff;border-radius:10px;padding:0 8px;margin-right:8px;font-size:12px;font-weight:700}
.auftrag-rechts{display:flex;align-items:center;gap:10px;flex-shrink:0}
.uhr{font-family:var(--marke);font-weight:500;font-size:18px;min-width:56px;text-align:right;font-variant-numeric:tabular-nums}
.auftrag-knopf{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:6px;padding:5px 10px;font-size:12.5px;white-space:nowrap}
.auftrag-knopf:hover{background:rgba(255,255,255,.1)}
.auftrag-logo{display:flex;align-items:center;margin-left:4px}

/* ---------- Rahmen des Kundenkontos ---------- */
.app{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - var(--leiste))}
.app.mit-brain{grid-template-columns:210px minmax(0,1fr) 370px}
.seite{background:var(--seite);color:#fff;position:sticky;top:var(--leiste);height:calc(100vh - var(--leiste));overflow-y:auto;padding-bottom:16px}
.kunde{text-align:center;padding:18px 12px 8px}
.kunde-logo{display:inline-block;background:#fff;color:#222;font-size:9px;letter-spacing:.12em;line-height:1.2;padding:8px 10px;border-radius:2px}
.kunde-logo b{font-size:11px;letter-spacing:.06em}
.kunde-name{font-size:12.5px;font-weight:500;margin:10px 0 2px}
.kunde-werk{font-size:11px;margin:0;color:#C9CCD0}
#navi{margin-top:14px}
.navi-gruppe{font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin:18px 16px 6px}
#navi a{display:flex;align-items:center;gap:10px;color:#fff;font-size:12px;padding:7px 16px;margin:0 6px;border-radius:6px}
#navi a:hover{background:rgba(255,255,255,.06)}
#navi a.aktiv{background:rgba(255,255,255,.12)}
#navi a svg{flex-shrink:0;opacity:.9}
.seite-hinweis{margin:18px 16px 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#C9CCD0;line-height:1.45}
.seite-hinweis a{color:#fff;text-decoration:underline}
.haupt{min-width:0;display:flex;flex-direction:column}
.kopf{position:sticky;top:var(--leiste);z-index:20;background:var(--grund)}
.kopf-oben{display:flex;align-items:center;justify-content:space-between;padding:8px 24px 0}
.kopf-oben-rechts{display:flex;align-items:center;gap:22px;margin-left:auto}
.kopf-link{display:flex;align-items:center;gap:6px;background:none;border:0;font-size:13px;padding:4px 6px;border-radius:6px}
.kopf-link:hover{color:var(--blau)}
.sb-knopf.an{background:#E4ECF5}
.kreis{display:inline-grid;place-items:center;width:17px;height:17px;border:1.5px solid currentColor;border-radius:50%;font-size:11px;font-weight:700}
.globus{font-size:15px}
.nutzer{display:flex;align-items:center;gap:8px;font-size:13px}
.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#C9D6E6;color:#2F3133;font-size:11px;font-weight:700}
.menue-knopf{display:none;background:none;border:0;font-size:22px;padding:2px 6px}
.kopf-unten{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px 12px;border-bottom:1px solid var(--linie)}
.brotkrumen{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.brotkrumen a{color:var(--leise);font-size:16px}
.brotkrumen .trenner{color:var(--leise);font-size:16px}
.brotkrumen .jetzt{font-size:16px;color:#000}
.brotkrumen .titel{font-size:20px}
.kopf-unten-rechts{display:flex;align-items:center;gap:18px}
.glocke{position:relative;background:none;border:0;padding:4px;display:flex;border-radius:6px}
.korb-link{position:relative;display:flex;align-items:center;gap:6px;color:var(--text);font-size:13px;padding:4px 8px;border-radius:8px}
.zahl{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rot);color:#fff;font-size:10.5px;font-weight:700}
.glocke .zahl,.korb-link .zahl{position:absolute;top:-4px;left:16px}
.glocke-liste{position:absolute;right:24px;top:100%;z-index:21;width:min(360px,calc(100vw - 32px));background:#fff;border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:8px 0}
.glocke-liste p{margin:0;padding:10px 16px;border-bottom:1px solid var(--linie);font-size:13px}
.glocke-liste p:last-child{border-bottom:0}
.glocke-liste .leise{display:block;font-size:12px}
main{padding:18px 24px 56px;outline:none;position:relative}

/* ---------- Bausteine ---------- */
.aktionsreihe{display:flex;justify-content:flex-end;margin:-4px 0 14px}
.knopf-gruen{display:inline-flex;align-items:center;gap:10px;background:var(--gruen);color:#fff;border:0;border-radius:12px;height:42px;padding:0 18px;font-size:13px;font-weight:500;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blau);color:#fff;border:2px solid var(--blau);border-radius:4px;min-height:36px;padding:0 16px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.knopf.rand{background:transparent;color:var(--blau)}
.knopf.breit{width:100%}
.knopf.klein{min-height:30px;font-size:12.5px;padding:0 12px;text-transform:none}
.knopf:disabled{opacity:.45;cursor:default}
.karte{background:var(--karte);border-radius:8px;padding:18px 20px;margin-bottom:18px}
.karte h2{font-size:20px;font-weight:400;margin:0 0 14px}
.karte h3{font-size:14px;font-weight:500;margin:14px 0 4px}
.raster{display:grid;gap:18px;margin-bottom:18px}
.karte .raster{margin-bottom:0;gap:14px}
.raster.zwei{grid-template-columns:minmax(0,1fr) 300px}
.raster.paar{grid-template-columns:repeat(2,minmax(0,1fr))}
.raster.drei{grid-template-columns:repeat(3,minmax(0,1fr))}
.raster.vier{grid-template-columns:repeat(4,minmax(0,1fr))}
.felder{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 18px}
.feld > span{display:block;font-size:12px;color:var(--leise)}
.feld b{display:block;font-weight:400;font-size:14px}
.leise{color:var(--leise)}
.kreis-ic{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#2F3133;color:#fff}
.kreis-ic.blau{background:var(--blau-kreis)}
.kachel{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--karte);border-radius:8px;padding:16px 18px;border:0;text-align:left;width:100%;color:var(--text)}
.kachel:hover{background:var(--karte-2)}
.kachel .pfeil{position:absolute;top:16px;right:14px;color:#333}
.kachel b{font-weight:500;font-size:14px}
.innen{position:relative;display:block;background:var(--innen);border-radius:8px;padding:14px 16px;border:0;text-align:left;width:100%;color:var(--text)}
.innen:hover{background:#D9E5F1}
.innen .titel-zeile{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px}
.innen .pfeil{margin-left:auto;color:#333}
.zeile-status{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;color:var(--leise)}
.zeile-status span{display:inline-flex;align-items:center;gap:6px}
.punkt{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rot)}
.punkt.ok{background:var(--ok)}
.punkt.grau{background:#9E9E9E}
.punkt.gelb{background:#E5B800}
.chip{display:inline-flex;align-items:center;height:20px;padding:0 9px;border-radius:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #333;color:#333;background:#fff}
.chip.marine{background:var(--marine);border-color:var(--marine);color:#fff}
.chip.lila{background:var(--lila);border-color:var(--lila);color:#fff}
.chip.lila-hell{background:var(--lila-hell);border-color:var(--lila);color:#3F4596}
.chip.rot{border-color:var(--rot);color:var(--rot)}
.chip.gruen{background:var(--ok);border-color:var(--ok);color:#fff}
.chip.grau{border-color:#9E9E9E;color:#757575}
.chip.weich{background:#DDE3EA;border-color:#DDE3EA;color:#333;text-transform:none;letter-spacing:0;font-weight:500}
.tabelle{width:100%;border-collapse:collapse;background:#fff}
.tabelle th{font-weight:500;text-align:left;padding:12px 10px;border-bottom:1px solid var(--linie);font-size:13.5px;white-space:nowrap}
.tabelle td{padding:13px 10px;border-bottom:1px solid var(--linie);vertical-align:middle}
.tabelle tr.klick{cursor:pointer}
.tabelle tr.klick:hover td{background:#F2F6FB}
.tabelle-huelle{overflow-x:auto;border-radius:6px}
.suche-zeile{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.eingabe{display:flex;align-items:center;gap:8px;background:var(--karte);border:1px solid rgba(0,0,0,.6);border-radius:8px;height:46px;padding:0 14px;color:var(--leise);min-width:200px}
.treffer{font-size:13px;margin:4px 0 14px}
.reiter{display:flex;gap:24px;border-bottom:1px solid var(--linie);margin:-6px 0 16px;flex-wrap:wrap}
.reiter button{background:none;border:0;padding:10px 2px;color:var(--leise)}
.reiter button.an{color:var(--blau);border-bottom:2px solid var(--blau)}

/* Maschinenliste */
.maschinen{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.mkarte{display:block;background:var(--karte);border-radius:8px;overflow:hidden;color:var(--text);border:0;padding:0;text-align:left;width:100%}
.mkarte:hover{background:var(--karte-2)}
.mkarte .balken{height:8px;background:#9E9E9E}
.mkarte .balken.ok{background:var(--ok-hell)}
.mkarte .balken.stoerung{background:var(--rot-hell)}
.mkarte .bild{display:grid;place-items:center;height:128px;background:#fff;margin:0 10px;border-radius:0 0 6px 6px;position:relative}
.mkarte .bild .stecker{position:absolute;top:8px;right:10px;font-size:11px;color:var(--leise)}
.mkarte .bild .stecker.an{color:#4C8A1F}
.mkarte .text{padding:10px 12px 12px}
.mkarte .text small{display:block;font-size:11.5px;color:var(--leise)}
.mkarte .text b{display:block;font-weight:500;margin:2px 0}
.mkarte .stoerung-text{display:block;color:var(--rot);font-size:12px;font-weight:500;margin-top:4px}

/* Maschinenseite */
.meldung{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#FDECEC;border-left:4px solid var(--rot);border-radius:6px;padding:12px 16px;margin-bottom:16px}
.meldung b{display:block;color:var(--rot)}
.meldung.ok{background:#EEF6E6;border-left-color:#5E9E2F}
.meldung.ok b{color:#3D7A1C}
.mi{background:var(--karte);border-radius:8px;border-top:8px solid var(--gelb);padding:22px 22px 20px;margin-bottom:18px;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:24px}
.mi.stoerung{border-top-color:var(--rot-hell)}
.mi.ok{border-top-color:var(--ok-hell)}
.mi-bild{position:relative;display:grid;place-items:center;background:#fff;border-radius:6px;min-height:190px}
.mi-bild .voll{position:absolute;right:10px;bottom:10px;background:#fff;border:1px solid var(--linie);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--blau);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.mi-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mi-kopf b{font-size:16px;font-weight:500}
.mi-kopf .verbunden{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#4C8A1F}
.mi-gruppe{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;margin-bottom:12px}
.mi-gruppe .ic{color:#444;padding-top:2px}
.mi-gruppe .felder{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px 18px}
.videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.video{background:var(--innen);border-radius:8px;overflow:hidden;border:0;padding:0;text-align:left;color:var(--text)}
.video .vbild{display:grid;place-items:center;height:96px;color:#fff}
.video .vbild.a{background:linear-gradient(135deg,#2B4C6F,#5A86B0)}
.video .vbild.b{background:linear-gradient(135deg,#2F5D62,#5E9AA0)}
.video .vbild.c{background:linear-gradient(135deg,#4A4F57,#8A929C)}
.video .vbild.d{background:linear-gradient(135deg,#6B3A3A,#B06A5A)}
.video .play{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#222;font-size:13px}
.video .vtext{padding:8px 10px 10px;font-size:12.5px}
.video .vtext b{display:block;font-weight:500;font-size:13px;margin-bottom:3px}
.links-zeile{display:flex;flex-wrap:wrap;gap:12px 34px}
.links-zeile button{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;font-size:14px;color:var(--text)}
.links-zeile button:hover{color:var(--blau)}
.kontakt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);gap:6px 18px;margin:0 0 16px;font-size:13.5px}
.kontakt h4{grid-column:1/-1;margin:0;font-size:13.5px;font-weight:500}
.kontakt span{display:inline-flex;align-items:center;gap:8px}
.firma-zeile{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13.5px;margin-top:4px}
.firma-zeile span{display:inline-flex;align-items:center;gap:8px}

/* Zustandsüberwachung */
.zustand{display:flex;height:42px;border-radius:2px;overflow:hidden;margin:10px 0 6px}
.zustand i{display:block;height:100%}
.zustand .g{background:#7CB82F}.zustand .y{background:#F2CF2B}.zustand .r{background:#B8322A}
.zeitachse{display:flex;justify-content:space-between;font-size:11.5px;color:var(--leise)}
.legende-mini{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--leise);margin-top:8px}
.legende-mini span{display:inline-flex;align-items:center;gap:6px}
.legende-mini i{display:inline-block;width:12px;height:12px;border-radius:2px}
.legende-mini .g{background:#7CB82F}.legende-mini .y{background:#F2CF2B}.legende-mini .r{background:#B8322A}
.balken-woche{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;align-items:end;height:200px;padding:6px 6px 0;border-bottom:1px solid var(--linie)}
.balken-woche .saeule{display:flex;flex-direction:column-reverse;height:100%;border-radius:2px;overflow:hidden}
.balken-woche .saeule i{display:grid;place-items:center;font-style:normal;font-size:10.5px;color:#fff}
.balken-woche .saeule .g{background:#7CB82F}.balken-woche .saeule .y{background:#F2CF2B;color:#5A4500}.balken-woche .saeule .r{background:#B8322A}
.tage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;font-size:11.5px;color:var(--leise);text-align:center;padding:6px 6px 0}
.kennzahl{background:var(--karte);border-radius:8px;padding:14px 18px}
.kennzahl b{display:block;font-size:30px;font-weight:400}
.kennzahl span{font-size:12px;color:var(--leise)}
.linie-svg{width:100%;height:auto;display:block}
.stufe-ic{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;margin-right:8px;vertical-align:middle}
.stufe-ic.r{background:var(--rot)}.stufe-ic.y{background:#E5B800;color:#3a2e00}.stufe-ic.i{background:#5B62B6}

/* Stückliste */
.stl{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}
.baum{background:var(--karte);border-radius:8px;padding:10px;align-self:start}
.baum button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:6px;padding:8px;text-align:left;font-size:13px;color:var(--text)}
.baum button:hover{background:var(--karte-2)}
.baum button.an{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.baum .pos{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:4px;background:#DDE3EA;font-size:11px}
.baum .unter{padding-left:18px}
.modul{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--karte);border-radius:8px;padding:12px;margin-bottom:12px}
.modul .tbild{display:grid;place-items:center;background:#fff;border-radius:6px;height:58px}
.modul small{color:var(--leise);font-size:12px}
.modul .rechts{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.modul .preis{font-weight:500}
.modul.hervor{background:#FFF5E6;box-shadow:inset 3px 0 0 #E5A100}

/* Service-Anfrage */
.chat{background:var(--karte);border-radius:8px}
.chat-reiter{display:flex;gap:20px;padding:0 18px;border-bottom:1px solid var(--linie)}
.chat-reiter span{padding:12px 2px;font-size:14px;color:var(--leise)}
.chat-reiter span.an{color:var(--blau);border-bottom:2px solid var(--blau)}
.chat-eingabe{display:flex;gap:10px;align-items:center;padding:16px 18px}
.chat-eingabe .eingabe{flex:1;height:42px;background:#fff}
.nachrichten{padding:4px 18px 18px;display:flex;flex-direction:column;gap:14px}
.nachricht{max-width:660px}
.nachricht .wer{font-size:12px;color:var(--leise);margin-bottom:4px}
.nachricht .blase{background:#E4EDF6;border-radius:0 8px 8px 8px;padding:12px 14px}
.tippt{font-size:13px;color:var(--leise);font-style:italic}
.teil{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;background:#fff;border-radius:6px;padding:10px;margin-top:10px}
.teil .tbild{display:grid;place-items:center;background:#F2F5F9;border-radius:4px;height:56px}
.teil b{font-weight:500}
.teil .verf{color:#4C8A1F;font-size:11.5px}
.teil-unten{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px}
.teil-unten .preis{font-weight:500;font-size:14px}
.menge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--linie);border-radius:4px;padding:2px 8px}
.status-box{background:var(--karte);border-radius:8px;padding:18px;text-align:center;margin-bottom:16px}
.status-box h2{font-size:22px;font-weight:400;margin:0 0 8px}
.status-box p{font-size:12.5px;margin:10px 0 14px}
.status-box .knopfreihe{justify-content:center}
.knopfreihe{display:flex;gap:10px;flex-wrap:wrap}
.zugehoerig{display:flex;gap:12px;align-items:center;background:#fff;border-radius:6px;padding:10px;color:var(--text)}

/* Sicht des Maschinenbauers: was bei ihm passiert */
.oem-hinweis{background:#EAF1F8;border-left:4px solid #6091C1;border-radius:6px;padding:10px 14px;margin:12px 0 16px;font-size:13px;line-height:1.45}
.oem-hinweis b{display:block;font-family:var(--marke);font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#2B5C8C;margin-bottom:2px}

/* Warenkorb und Angebot */
.korb-gruppe{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--leise);margin:4px 0 10px}
.zusammenfassung{background:#fff;padding:18px;display:flex;flex-direction:column;gap:12px;border-radius:8px}
.zusammenfassung h2{font-size:20px;font-weight:400;margin:0}
.summe{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid var(--linie);padding-top:10px}
.summe b{font-size:15px}
.zeile-preis{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}
.schritte{margin:6px 0 0;padding-left:20px}
.schritte li{margin:3px 0}
.quellen{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.quellen li{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--linie);border-radius:12px;padding:2px 10px;font-size:12px;color:var(--leise)}

/* ---------- Service Brain: Leiste rechts wie in der Demo Service Brain ---------- */
.brain{position:sticky;top:var(--leiste);height:calc(100vh - var(--leiste));display:none;flex-direction:column;background:#fff;border-left:1px solid var(--linie);min-width:0;z-index:15}
.app.mit-brain .brain{display:flex}
.brain-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--linie);background:#F5F7FA}
.brain-titel{display:flex;gap:10px;align-items:center}
.brain-titel b{display:block;font-family:var(--marke);font-weight:500;font-size:17px;color:var(--navy)}
.brain-titel span{display:block;font-size:12px;color:var(--leise)}
#brain-zu{border:0;background:none;font-size:22px;color:var(--leise);line-height:1}
.brain-verlauf{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.brain-leer{color:var(--leise);font-size:13px;margin:0}
.blase{border-radius:12px;padding:10px 12px;font-size:13.5px}
.blase p{margin:0 0 8px}
.blase p:last-child{margin-bottom:0}
.blase.du{align-self:flex-end;max-width:88%;background:var(--navy);color:#fff}
.blase.sb{background:#F5F7FA;border:1px solid var(--linie)}
.blase.sb.gruen{background:#EEF6E6;border-color:#CFE5BC}
.blase .knopfreihe{margin-top:10px;gap:6px}
.blase .knopf{min-height:32px;font-size:12px;padding:0 10px}
.blase .quellen li{background:#fff}
.brain-vorschlaege{padding:10px 16px 0;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--linie)}
.brain-vorschlaege small{width:100%;color:var(--leise);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.frage{border:1px solid #C3CDE1;background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--navy);text-align:left}
.frage:hover{border-color:var(--blau);background:#F5F7FA}
.brain-eingabe{display:flex;gap:8px;align-items:center;padding:10px 16px 14px}
.brain-eingabe .eingabe{flex:1;height:38px;background:#fff;border-color:#C3CDE1;min-width:0;font-size:13px}

/* Dialoge */
.schicht{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.32);display:grid;place-items:center;padding:16px}
.schicht.unten{place-items:end center;padding-bottom:0}
.dialog{background:var(--grund);border-radius:14px;width:min(860px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.schicht.unten .dialog{border-radius:14px 14px 0 0;max-height:72vh}
.dialog-kopf{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 8px}
.dialog-kopf h2{font-size:18px;font-weight:400;margin:0;display:flex;align-items:center;gap:8px}
.dialog-zu{background:none;border:0;font-size:22px;line-height:1;padding:4px 8px}
.dialog-inhalt{padding:8px 22px 18px;overflow-y:auto}
.dialog-fuss{display:flex;justify-content:flex-end;gap:12px;padding:12px 22px 18px;border-top:1px solid var(--linie)}
.formblock{background:var(--karte);border-radius:8px;padding:14px 14px 4px;margin-bottom:12px}
.formblock h3{font-size:14px;font-weight:500;margin:0 0 10px}
.formblock .klein-titel{font-size:11px;color:var(--leise);margin:0 0 8px}
.formblock .felder{margin-bottom:12px}
.formfeld{display:block;background:var(--karte);border:1px solid rgba(0,0,0,.45);border-radius:6px;padding:6px 12px 8px;margin-bottom:12px}
.formfeld span{display:block;font-size:11px;color:var(--leise)}
.formfeld b{display:block;font-weight:400;font-size:14px;white-space:pre-line}

/* Start, Zeitsprung, Ende (Marke TN) */
.buehne{background:#fff;border-radius:14px;width:min(560px,100%);padding:28px 28px 24px;box-shadow:0 12px 40px rgba(0,0,0,.25);max-height:calc(100vh - 32px);overflow-y:auto}
.buehne .marke-oben{font-family:var(--marke);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--tn-rot);margin:0 0 6px}
.buehne h1{font-family:var(--marke);font-weight:600;font-size:30px;line-height:1.1;color:var(--navy);margin:0 0 12px}
.buehne p{font-size:15px;line-height:1.5;margin:0 0 12px;color:#2B3440}
.buehne ul{margin:0 0 14px;padding-left:20px;font-size:14.5px;color:#2B3440}
.buehne li{margin:4px 0}
.buehne .zeit{font-family:var(--marke);font-weight:600;font-size:40px;color:var(--navy);margin:4px 0 6px}
.buehne .knopfreihe{margin-top:18px}
.knopf-tn{display:inline-flex;align-items:center;justify-content:center;background:var(--tn-rot);color:#fff;border:0;border-radius:8px;height:44px;padding:0 20px;font-family:var(--marke);font-weight:500;font-size:16px}
.knopf-tn.rand{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.buehne .klein{font-size:12.5px;color:var(--leise);margin-top:14px}

/* ---------- Der nächste Klick: deutlich markiert ---------- */
.ziel{position:relative;z-index:2;outline:3px solid var(--tn-rot)!important;outline-offset:3px;animation:puls 1.4s ease-in-out infinite}
@keyframes puls{0%,100%{box-shadow:0 0 0 0 rgba(208,67,69,.55)}50%{box-shadow:0 0 0 12px rgba(208,67,69,0)}}
.zeiger{position:fixed;z-index:60;pointer-events:none;transform:translate(-50%,-100%);background:var(--tn-rot);color:#fff;font-family:var(--marke);font-weight:600;font-size:13px;letter-spacing:.02em;border-radius:8px;padding:5px 11px;white-space:nowrap;box-shadow:0 4px 12px rgba(208,67,69,.35)}
.zeiger::after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--tn-rot)}
.zeiger.unten{transform:translate(-50%,0)}
.zeiger.unten::after{bottom:auto;top:-6px;border-top:0;border-bottom:6px solid var(--tn-rot)}
@media (prefers-reduced-motion:reduce){.ziel{animation:none}}

.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:55;background:#2F3133;color:#fff;border-radius:8px;padding:12px 18px;font-size:13.5px;max-width:min(560px,calc(100vw - 32px));box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* ---------- Schmalere Bildschirme ---------- */
@media (max-width:1280px){
  .app.mit-brain{grid-template-columns:210px minmax(0,1fr)}
  .app.mit-brain .brain{position:fixed;right:0;top:var(--leiste);width:min(380px,100vw);z-index:30;box-shadow:-8px 0 24px rgba(0,0,0,.15)}
  .videos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .raster.zwei{grid-template-columns:1fr}
  .raster.vier{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi{grid-template-columns:1fr}
  .stl{grid-template-columns:1fr}
  .kontakt{grid-template-columns:1fr}
}
@media (max-width:900px){
  .app,.app.mit-brain{grid-template-columns:1fr}
  .seite{position:fixed;left:0;top:var(--leiste);z-index:31;width:240px;transform:translateX(-100%);transition:transform .2s}
  .seite.offen{transform:none}
  .menue-knopf{display:block}
  .kopf-oben,.kopf-unten{padding-left:14px;padding-right:14px}
  main{padding:14px 14px 40px}
  .kopf-oben-rechts{gap:10px}
  #hilfe-text,#nutzer-text,#korb-text{display:none}
  .raster.drei,.raster.paar{grid-template-columns:1fr}
  .balken-woche,.tage{gap:8px}
}
@media (max-width:560px){
  .raster.vier,.videos{grid-template-columns:1fr}
  .auftrag{flex-wrap:wrap;row-gap:4px;padding:8px 12px}
  .auftrag-links{display:contents}
  .zurueck-knopf{order:1;padding:6px 10px;font-size:12.5px}
  .auftrag-titel{display:none}
  .auftrag-rechts{order:2;gap:8px;margin-left:auto}
  #neu-starten{font-size:0;padding:2px 8px}
  #neu-starten::after{content:"↺";font-size:15px}
  .auftrag-schritt{order:3;flex-basis:100%;white-space:normal;font-size:13px}
  .auftrag-knopf{padding:4px 8px;font-size:11.5px}
  .auftrag-logo img{width:78px;height:auto}
  .uhr{font-size:15px;min-width:40px}
  .sb-knopf span{display:none}
  .buehne h1{font-size:25px}
  .brotkrumen .titel{font-size:18px}
}
