/* MIA – Menschliche Intelligenz Assistenz · Gestaltung nach dem Vorbild von KIsozial.de (Petrol & Gelb) */
/* Schriften lokal eingebunden – keine Verbindung zu Google */
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/fraunces-latin-700-normal.woff2) format("woff2")}
[hidden]{display:none!important}
:root{
  --petrol:#0E3A42; --petrol-2:#14505B; --petrol-3:#1D6B78; --gelb:#FFD400; --gelb-soft:#FFF6C2;
  /* „orange“ heißt die Markenfarbe aus historischen Gründen – in MIA ist das Petrol */
  --orange:#0E3A42; --orange-d:#1D6B78; --orange-l:#E8F2F4; --orange-xl:#F1F6F6;
  --grau:#A9A9A9; --text:#15262A; --text-2:#5B6B6E; --text-3:#7C8A8C;
  --linie:#E3E0D6; --bg:#F7F5EF; --weiss:#fff; --flaeche:#fff;
  --rot:#C0392B; --rot-l:#FCEBE9; --gruen:#2E7D4F; --gruen-l:#E8F4EC; --gelb-l:#FFF6DC;
  --radius:14px; --shadow:0 1px 2px rgba(14,58,66,.06),0 8px 24px rgba(14,58,66,.07);
  --font: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--orange-d)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ---------- Kopfzeile ---------- */
.topbar{height:64px;background:var(--weiss);border-bottom:1px solid var(--linie);display:flex;align-items:center;gap:14px;padding:0 18px;position:relative;z-index:5}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--orange)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand .sep{width:1px;height:30px;background:var(--linie)}
.brand .mia{height:30px}
.brand small{color:var(--text-3);font-size:12px;line-height:1.2;max-width:110px}
.topbar .spacer{flex:1}
.icon-btn{border:0;background:transparent;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--text-2)}
.icon-btn:hover{background:var(--orange-xl)}
.menu-btn{display:grid}
.user{position:relative}
.user-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--linie);background:var(--weiss);border-radius:999px;padding:4px 12px 4px 4px}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}
.user-menu{position:absolute;right:0;top:46px;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);box-shadow:var(--shadow);min-width:210px;padding:6px;display:none}
.user-menu.open{display:block}
.user-menu .who{padding:8px 10px 10px;border-bottom:1px solid var(--linie);margin-bottom:6px;font-size:13px;color:var(--text-2)}
.user-menu .who b{display:block;color:var(--text);font-size:14px}
.user-menu a,.user-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--text)}
.user-menu a:hover,.user-menu button:hover{background:var(--orange-xl)}

/* ---------- Layout ---------- */
.app{display:flex;height:calc(100% - 64px)}
.sidebar{width:290px;flex:none;background:var(--weiss);border-right:1px solid var(--linie);padding:22px 16px 16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.new-chat{border:0;background:var(--orange);color:#fff;font-weight:600;border-radius:10px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:8px}
.new-chat:hover{background:var(--orange-d)}
.side-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 8px 4px}
.assistants{display:flex;flex-direction:column;gap:4px}
.assistant{display:flex;gap:10px;align-items:flex-start;text-align:left;border:1px solid transparent;background:none;border-radius:10px;padding:9px 10px}
.assistant:hover{background:var(--orange-xl)}
.assistant.active{background:var(--orange-l);border-color:#BFD9DD}
.assistant .ico{font-size:18px;line-height:1.3;width:22px;text-align:center}
.assistant b{display:block;font-size:14px;font-weight:600}
.assistant span{display:block;font-size:12.5px;color:var(--text-2);line-height:1.35}
.select{width:100%;border:1px solid var(--linie);border-radius:10px;padding:9px 10px;background:var(--flaeche)}
.privacy{margin-top:auto;background:var(--bg);border:1px solid var(--linie);border-radius:var(--radius);padding:12px 14px;font-size:12.5px;color:var(--text-2)}
.privacy h4{margin:0 0 6px;font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px}
.privacy ul{margin:0;padding-left:16px}
.privacy li{margin:2px 0}

/* ---------- Chat ---------- */
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.banner{background:var(--gelb-l);border-bottom:1px solid #F3E2B0;color:#7A5B12;font-size:13px;padding:8px 18px;text-align:center}
.messages{flex:1;overflow-y:auto;padding:28px 18px 10px}
.inner{max-width:820px;margin:0 auto}
.empty{text-align:center;padding:6vh 10px 10px}
.empty img{height:64px;margin-bottom:14px}
.empty h1{font-size:24px;margin:0 0 6px;font-weight:600}
.empty p{color:var(--text-2);margin:0 0 22px}
.examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;max-width:680px;margin:0 auto}
.example{border:1px solid var(--linie);background:var(--flaeche);border-radius:var(--radius);padding:12px 14px;text-align:left;font-size:14px;color:var(--text-2);box-shadow:var(--shadow)}
.example:hover{border-color:var(--orange);color:var(--text)}
.msg{display:flex;gap:12px;margin:0 0 22px}
.msg .who{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}
.msg.user{flex-direction:row-reverse}
.msg.user .who{background:var(--orange);color:#fff}
.msg.assistant .who{background:var(--flaeche);border:1px solid var(--linie)}
.msg.assistant .who img{width:20px}
.bubble{max-width:calc(100% - 50px);border-radius:14px;padding:11px 15px}
.msg.user .bubble{background:var(--orange-l);border:1px solid #BFD9DD;white-space:pre-wrap;word-wrap:break-word}
.msg.assistant .bubble{background:var(--flaeche);border:1px solid var(--linie);box-shadow:var(--shadow)}
.bubble p{margin:0 0 10px}.bubble p:last-child{margin-bottom:0}
.bubble ul,.bubble ol{margin:4px 0 10px;padding-left:22px}
.bubble h1,.bubble h2,.bubble h3{font-size:16px;margin:12px 0 6px}
.bubble code{background:#F4F2EF;padding:1px 5px;border-radius:5px;font-size:13px}
.bubble pre{background:#2B2B2B;color:#f5f5f5;padding:12px;border-radius:10px;overflow:auto}
.bubble pre code{background:none;padding:0;color:inherit}
.bubble hr{border:0;border-top:1px solid var(--linie);margin:12px 0}
.bubble h4{font-size:15px;margin:10px 0 4px}
#modeHint .findings{margin-top:10px}
.bubble blockquote{margin:6px 0;padding:4px 12px;border-left:3px solid var(--orange);color:var(--text-2)}
.bubble table{border-collapse:collapse;margin:6px 0 10px;font-size:14px}
.bubble td,.bubble th{border:1px solid var(--linie);padding:5px 8px}
.msg-actions{display:flex;gap:4px;margin-top:6px}
.msg-actions button{border:0;background:none;color:var(--text-3);font-size:12.5px;padding:3px 8px;border-radius:6px}
.msg-actions button:hover{background:var(--orange-xl);color:var(--text)}
.typing span{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:var(--orange);animation:b 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes b{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.error-note{background:var(--rot-l);color:var(--rot);border:1px solid #F3C6C0;border-radius:10px;padding:10px 14px;font-size:14px;margin:0 0 18px 44px}

/* ---------- Eingabe ---------- */
.composer{padding:8px 18px 14px;background:linear-gradient(to bottom,rgba(250,249,247,0),var(--bg) 30%)}
.box{background:var(--flaeche);border:1.5px solid var(--linie);border-radius:16px;box-shadow:var(--shadow);transition:border-color .15s}
.box:focus-within{border-color:var(--orange)}
.box.blocked{border-color:var(--rot)}
.box textarea{display:block;width:100%;border:0;outline:0;resize:none;padding:14px 16px 6px;max-height:220px;min-height:52px;background:transparent}
.box-foot{display:flex;align-items:center;gap:8px;padding:6px 8px 8px 14px}
.status{flex:1;font-size:12.5px;color:var(--text-3);display:flex;align-items:center;gap:6px;min-width:0}
.status.ok{color:var(--gruen)}
.status.warn{color:#9A6B0B}
.status.bad{color:var(--rot)}
.send{border:0;background:var(--orange);color:#fff;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
.send:hover{background:var(--orange-d)}
.send:disabled{background:#E3DED8;cursor:not-allowed}
.findings{margin:10px 2px 0;background:var(--rot-l);border:1px solid #F3C6C0;border-radius:12px;padding:10px 12px;font-size:13.5px}
.findings.hint{background:var(--gelb-l);border-color:#F3E2B0}
.findings p{margin:0 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.chip{background:var(--flaeche);border:1px solid #F0C2BC;border-radius:999px;padding:2px 10px;font-size:12.5px}
.chip b{font-weight:600}
.findings.hint .chip{border-color:#EED9A0}
.btn{border:1px solid var(--linie);background:var(--flaeche);border-radius:9px;padding:7px 12px;font-size:13.5px;text-decoration:none;color:var(--text);display:inline-block}
.btn:hover{border-color:var(--orange)}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:600}
.btn.primary:hover{background:var(--orange-d)}
.btn.danger{color:var(--rot)}
.disclaimer{text-align:center;font-size:12px;color:var(--text-3);margin-top:8px}
mark.f{background:#F9D5D0;border-radius:3px;padding:0 2px}

/* ---------- Anhänge ---------- */
.atts{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px}
.atts:not(:empty){padding-top:12px}
.att{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--linie);background:var(--bg);border-radius:12px;padding:8px 10px;max-width:100%;width:290px;font-size:13px;position:relative}
.att.blocked{border-color:#F0B8B0;background:var(--rot-l)}
.att.ok{border-color:#CFE5D6;background:var(--gruen-l)}
.att.err{border-color:#F0B8B0;background:var(--flaeche)}
.att .thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none;background:#eee}
.att .ficon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;font-size:20px;flex:none;background:var(--flaeche);border:1px solid var(--linie)}
.att .meta{min-width:0;flex:1}
.att .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}
.att .st{color:var(--text-2);font-size:12px;line-height:1.35;margin-top:1px}
.att.blocked .st{color:var(--rot)}
.att .acts{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.att .acts .btn{padding:4px 9px;font-size:12px}
.att .x{position:absolute;top:4px;right:4px;border:0;background:none;width:22px;height:22px;border-radius:6px;color:var(--text-3);font-size:15px;line-height:1}
.att .x:hover{background:var(--flaeche);color:var(--text)}
.att label.conf{display:flex;gap:6px;align-items:flex-start;font-size:12px;margin-top:6px;color:var(--text);cursor:pointer}
.att label.conf input{margin-top:2px;accent-color:var(--orange-d)}
.spin{display:inline-block;width:11px;height:11px;border:2px solid var(--orange);border-right-color:transparent;border-radius:50%;animation:sp .8s linear infinite;vertical-align:-1px;margin-right:4px}
@keyframes sp{to{transform:rotate(360deg)}}
.attach{width:36px;height:36px;flex:none;margin-left:-6px}
.msg-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:flex-start}
.msg-files .f{background:var(--flaeche);border:1px solid #BFD9DD;border-radius:8px;padding:3px 9px;font-size:12.5px;white-space:normal}
.msg-files img{height:90px;max-width:160px;border-radius:8px;object-fit:cover;border:1px solid #BFD9DD}
.dropzone{position:fixed;inset:0;background:rgba(14,58,66,.14);border:3px dashed var(--orange);display:none;place-items:center;z-index:40;font-size:20px;font-weight:600;color:var(--text);text-align:center;pointer-events:none}
.dropzone small{font-weight:400;font-size:14px;color:var(--text-2)}
.dropzone.on{display:grid}

/* ---------- Bilder erstellen ---------- */
.img-opts{display:flex;gap:6px;flex:none}
.img-opts select{border:1px solid var(--linie);border-radius:8px;padding:5px 6px;background:var(--flaeche);font-size:12.5px;max-width:150px}
body.image-mode .attach{display:none}
body.image-mode .box:focus-within{border-color:#B58AD8}
.gen{margin:0}
.gen img{display:block;max-width:100%;max-height:520px;border-radius:12px;border:1px solid var(--linie);background:#f4f2ef}
.gen figcaption{font-size:12px;color:var(--text-3);margin-top:6px}
.gen-text{margin-top:10px}
.gen-wait{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:14px}
.gen-wait .ph{width:220px;height:160px;border-radius:12px;background:linear-gradient(90deg,#EEF2F1 25%,#F7FAFA 50%,#EEF2F1 75%);background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}

/* ---------- Spracheingabe ---------- */
.mic{width:36px;height:36px;flex:none}
.mic.rec{background:var(--rot);color:#fff;animation:pulse 1.2s infinite}
.mic.busy{color:var(--orange-d)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(192,57,43,.45)}70%{box-shadow:0 0 0 10px rgba(192,57,43,0)}100%{box-shadow:0 0 0 0 rgba(192,57,43,0)}}

/* ---------- Ordner ---------- */
.folder-btn{width:100%;text-align:left}
.folder-on{border:1px solid var(--linie);border-radius:10px;padding:8px 10px;font-size:13px;background:var(--bg)}
.folder-on b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.folder-on .row{margin-top:6px;gap:6px}
.folder-on .btn{padding:4px 9px;font-size:12px}
.folder-dialog{max-width:640px}
.fd-search{width:100%;border:1px solid var(--linie);border-radius:10px;padding:9px 12px;margin-bottom:10px}
.fd-list{max-height:52vh;overflow:auto;border:1px solid var(--linie);border-radius:10px}
.fd-item{display:flex;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid #F1EEEA;font-size:13.5px;cursor:pointer}
.fd-item:hover{background:var(--orange-xl)}
.fd-item input{accent-color:var(--orange-d)}
.fd-item .p{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-item .p small{color:var(--text-3)}
.fd-item .s{color:var(--text-3);font-size:12px;white-space:nowrap}
.fd-count{font-size:12.5px;color:var(--text-3)}
body.image-mode .mic{display:grid}

/* ---------- Dialog ---------- */
.overlay{position:fixed;inset:0;background:rgba(30,30,30,.35);display:none;place-items:center;z-index:50;padding:16px}
.overlay.open{display:grid}
.dialog{background:var(--flaeche);border-radius:16px;max-width:420px;width:100%;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.dialog h2{margin:0 0 6px;font-size:19px}
.dialog p{color:var(--text-2);margin:0 0 14px;font-size:14px}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--linie);border-radius:10px;padding:10px 12px;background:var(--flaeche)}
.field input:focus,.field textarea:focus{outline:2px solid var(--orange-l);border-color:var(--orange)}
.form-error{color:var(--rot);font-size:13.5px;min-height:20px;margin-bottom:6px}

/* ---------- Login ---------- */
.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--orange-xl),var(--bg) 55%)}
.login{background:var(--flaeche);border-radius:20px;box-shadow:var(--shadow);border:1px solid var(--linie);padding:34px 30px 26px;max-width:390px;width:100%;position:relative;overflow:hidden}
.login::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--orange)}
.login .logos{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:6px}
.login .logos .mia{height:40px}.login .logos .sep{width:1px;height:34px;background:var(--linie)}
.login .sub{text-align:center;color:var(--text-2);font-size:14px;margin:0 0 22px}
.login .btn.primary{width:100%;padding:11px}
.login .foot{font-size:12px;color:var(--text-3);text-align:center;margin-top:16px}

/* ---------- Admin ---------- */
.admin{max-width:1100px;margin:0 auto;padding:26px 18px 60px}
.admin h1{font-size:22px;margin:0 0 4px}
.admin .lead{color:var(--text-2);margin:0 0 20px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:22px}
.card{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}
.card .k{font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.card .v{font-size:26px;font-weight:600;margin-top:2px}
.card .s{font-size:12.5px;color:var(--text-2)}
.panel{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
.panel h2{font-size:16px;margin:0 0 4px}
.panel .hint{font-size:13px;color:var(--text-2);margin:0 0 12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--linie);padding:8px}
table.t td{border-bottom:1px solid #F1EEEA;padding:8px}
table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;font-size:12px;border-radius:999px;padding:1px 9px;background:var(--bg);border:1px solid var(--linie)}
.pill.admin{background:var(--orange-l);border-color:#BFD9DD}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.row .field{flex:1;min-width:140px;margin:0}
textarea.list{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.testout{margin-top:10px;font-size:14px;background:var(--bg);border-radius:10px;padding:10px 12px;min-height:42px;white-space:pre-wrap}
.toast{position:fixed;top:84px;left:50%;transform:translateX(-50%);background:#2B2B2B;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:60}
.toast.show{opacity:1}

/* ---------- Mobil ---------- */
@media (max-width:860px){
  .menu-btn{display:grid}
  .brand small,.brand .sep{display:none}
  .sidebar{position:fixed;left:0;top:68px;bottom:0;z-index:20;transform:translateX(-105%);transition:transform .2s;box-shadow:var(--shadow)}
  .sidebar.open{transform:none}
  .scrim{position:fixed;inset:68px 0 0;background:rgba(0,0,0,.25);z-index:15;display:none}
  .scrim.open{display:block}
  .user-btn .uname{display:none}
  .user-btn{padding:4px}
  .grid2{grid-template-columns:1fr}
  .messages{padding:18px 12px 8px}
  .composer{padding:6px 10px 10px}
}

/* ================= v0.5: Verlauf, Projekte, neue Eingabeleiste ================= */
.sidebar{padding:14px 10px 10px;gap:10px;overflow:hidden}
.side-search{border:1px solid var(--linie);border-radius:10px;padding:8px 10px;background:var(--bg);width:100%;font-size:13.5px}
.side-search:focus{outline:2px solid var(--orange-l);border-color:var(--orange)}
.side-scroll{flex:1;overflow-y:auto;min-height:0;margin:0 -4px;padding:0 4px}
.side-sec{margin-bottom:14px}
.side-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 4px 6px}
.mini{border:0;background:none;width:24px;height:24px;border-radius:6px;color:var(--text-2);font-size:15px;line-height:1}
.mini:hover{background:var(--orange-l);color:var(--text)}
.s-group{font-size:11.5px;color:var(--text-3);margin:10px 0 2px 8px}
.s-empty{font-size:12.5px;color:var(--text-3);margin:4px 8px;line-height:1.4}
.s-item{display:flex;align-items:center;gap:4px;border-radius:8px;padding:7px 4px 7px 9px;cursor:pointer;font-size:13.5px;position:relative}
.s-item:hover{background:var(--orange-xl)}
.s-item.active{background:var(--orange-l)}
.s-item.sub{box-shadow:inset 3px 0 0 var(--orange)}
.s-item .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-item .t small{display:block;color:var(--text-3);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}
.s-item .more{border:0;background:none;border-radius:6px;width:24px;height:24px;color:var(--text-3);opacity:0;flex:none}
.s-item:hover .more,.s-item.active .more,.s-item .more:focus{opacity:1}
.s-item .more:hover{background:var(--flaeche);color:var(--text)}
@media (hover:none){.s-item .more{opacity:1}}
.side-foot{border:0;background:none;text-align:left;font-size:12.5px;color:var(--text-2);padding:8px;border-radius:8px;border-top:1px solid var(--linie);border-radius:0 0 8px 8px}
.side-foot:hover{color:var(--text);background:var(--orange-xl)}

.temp-btn{border:1px solid var(--linie);background:var(--flaeche);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text-2);margin-right:4px}
.temp-btn:hover:not(:disabled){border-color:var(--orange)}
.temp-btn.on{background:#2B2B2B;color:#fff;border-color:#2B2B2B}
.temp-btn:disabled{opacity:.4;cursor:default}

.chat-head{display:flex;align-items:center;gap:8px;padding:8px 18px;border-bottom:1px solid var(--linie);background:var(--flaeche);font-size:14px;min-height:44px}
.chat-head .ch-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-head .spacer,.box-foot .spacer,.proj-head .spacer{flex:1}
.crumb{display:flex;align-items:center;gap:6px;flex:none}
.crumb-btn{border:0;background:var(--orange-l);border-radius:999px;padding:3px 10px;font-size:13px}
.crumb-btn:hover{background:#D5E7EA}
.sep2{color:var(--text-3)}

.ctx,.pop{position:fixed;background:var(--flaeche);border:1px solid var(--linie);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.14);padding:6px;display:none;z-index:70;width:230px}
.ctx.open,.pop.open{display:block}
.ctx button,.pop button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;font-size:14px}
.ctx button:hover,.pop button:hover{background:var(--orange-xl)}
.ctx button.danger{color:var(--rot)}
.attach-wrap{position:relative;flex:none}
.pop{position:absolute;bottom:44px;left:-6px;width:300px}

/* Eingabeleiste */
.box-foot{flex-wrap:wrap;gap:6px;padding:6px 8px 8px 10px}
.pill{border:1px solid var(--linie);border-radius:999px;padding:6px 10px;background:var(--flaeche);font-size:13px;max-width:190px;color:var(--text)}
.pill:hover{border-color:var(--orange)}
.pill.model{color:var(--text-2);max-width:170px}
.img-opts select.pill{border-radius:999px;padding:6px 10px;font-size:13px}
.composer .status{flex:none;margin:6px 6px 0;min-height:18px}
.web{width:36px;height:36px;flex:none}
.web.on{background:#E3F0FF;color:#1B62B5}
.send .i-stop{display:none}
.send.stop{background:#2B2B2B}
.send.stop .i-send{display:none}.send.stop .i-stop{display:block}
.edit-bar{background:var(--gelb-l);border:1px solid #F3E2B0;border-radius:10px;padding:7px 12px;font-size:13px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.edit-bar .btn{padding:3px 10px;font-size:12.5px}

/* Nachrichten */
.ucol{display:flex;flex-direction:column;align-items:flex-end;max-width:calc(100% - 50px);min-width:0}
.ucol .bubble{max-width:100%}
.acol{min-width:0;max-width:calc(100% - 50px)}
.acol .bubble{max-width:100%}
.msg-actions.right{justify-content:flex-end;opacity:0;transition:opacity .15s}
.msg.user:hover .msg-actions.right,.msg-actions.right:focus-within{opacity:1}
@media (hover:none){.msg-actions.right{opacity:1}}
.web-tag{display:inline-block;font-size:11.5px;background:#E3F0FF;color:#1B62B5;border-radius:999px;padding:1px 8px;margin:0 6px 4px 0;white-space:nowrap}
.sources{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}
.sources b{font-size:12px;color:var(--text-3);margin-right:2px}
.sources a{border:1px solid var(--linie);background:var(--flaeche);border-radius:999px;padding:2px 10px;text-decoration:none;color:var(--text-2);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sources a:hover{border-color:var(--orange);color:var(--text)}
.stopped,.st-note{font-size:12.5px;color:var(--text-3);margin-top:6px}
.st-note{margin-left:8px}
.bubble a{color:#B36B12;text-decoration:underline;text-underline-offset:2px;word-break:break-word}
.code{margin:8px 0 10px;border-radius:10px;overflow:hidden;background:#2B2B2B}
.code-head{display:flex;justify-content:space-between;align-items:center;background:#3A3A3A;color:#cfcfcf;font-size:12px;padding:4px 10px}
.code-copy{border:0;background:none;color:#cfcfcf;font-size:12px;padding:2px 6px;border-radius:6px}
.code-copy:hover{background:#555;color:#fff}
.code pre{margin:0;border-radius:0}
.bubble table{display:block;overflow-x:auto;max-width:100%}

/* Startansicht: Assistenten-Karten */
.empty{padding-top:4vh}
.empty img{height:54px}
.a-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;max-width:760px;margin:0 auto 18px}
.a-card{border:1px solid var(--linie);background:var(--flaeche);border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}
.a-card:hover{border-color:var(--orange)}
.a-card.active{border-color:var(--orange);background:var(--orange-xl);box-shadow:inset 0 0 0 1px var(--orange)}
.a-card .ico{font-size:18px}
.a-card b{font-size:14px}
.a-card span:last-child{font-size:12.5px;color:var(--text-2);line-height:1.35}

/* Projektansicht */
.proj{max-width:820px;margin:0 auto;padding-bottom:40px}
.proj-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.proj-head h1{font-size:22px;margin:0}
.btn.big{padding:11px 16px;font-size:14.5px;margin-bottom:16px}
.proj textarea{width:100%;border:1px solid var(--linie);border-radius:10px;padding:10px 12px;resize:vertical;min-height:110px}
.proj textarea:focus{outline:2px solid var(--orange-l);border-color:var(--orange)}
.meter{height:8px;border-radius:99px;background:#EFEBE6;overflow:hidden}
.meter div{height:100%;background:var(--orange);border-radius:99px}
.meter-t{font-size:12.5px;color:var(--text-2);margin:5px 0 10px}
.pj-files{margin-bottom:10px}
.pj-file{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--linie);border-radius:10px;padding:7px 10px;margin-bottom:6px;font-size:14px;flex-wrap:wrap}
.pj-file small{color:var(--text-3);margin-left:6px}
.pj-file .btn{padding:4px 10px;font-size:12.5px}
.pj-file.blocked{background:var(--rot-l);border-color:#F0B8B0}
.pj-file.error{background:var(--flaeche);border-color:#F0B8B0}
.proj .s-item{border:1px solid var(--linie);margin-bottom:6px;padding:9px 6px 9px 12px;font-size:14px}

/* Dialoge */
.dialog.wide{max-width:600px}
.fhint{font-size:12.5px;color:var(--text-2);margin:0 0 6px}
.field textarea{resize:vertical}
.btn.red,.btn.primary.red{background:var(--rot);border-color:var(--rot)}
.privacy-body{font-size:14px;max-height:60vh;overflow:auto;margin-bottom:12px}
.privacy-body h3{font-size:14px;margin:12px 0 4px}
.privacy-body ul{margin:0;padding-left:18px}
.privacy-body li{margin:4px 0}

@media (max-width:860px){
  .sidebar{width:300px;max-width:86vw}
  .temp-btn span{display:none}
  .pill{max-width:140px}
  .pill.model{max-width:110px}
  .chat-head{padding:8px 12px}
  .pop{width:270px}
}
@media (max-width:560px){
  .a-cards{grid-template-columns:1fr 1fr;gap:6px}
  .a-card{padding:8px 10px;flex-direction:row;align-items:center;gap:8px}
  .a-card span:last-child{display:none}
  .a-card b{font-size:13.5px}
  .pill.model{display:none}
  .empty img{height:44px;margin-bottom:8px}
  .empty h1{font-size:20px}
  .examples{display:none}
  #assistantSel{flex:1;min-width:0;max-width:none}
  .img-opts{width:100%;order:5}
  .img-opts select.pill{flex:1;max-width:none}
}

.first-run{background:var(--gelb-l);border:1px solid #F3E2B0;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#5c4510;margin:14px 0 0;line-height:1.45}
.first-run code{background:var(--flaeche);padding:0 4px;border-radius:4px}

/* ---------- Text ins Bild ---------- */
.text-dialog{max-width:860px}
.td-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);gap:18px;align-items:start}
.td-prev{background:#F4F2EF;border:1px solid var(--linie);border-radius:12px;padding:8px;display:grid;place-items:center}
.td-prev canvas{max-width:100%;max-height:56vh;border-radius:8px;display:block}
.td-form .row .field{min-width:90px}
.td-check{display:flex;gap:8px;align-items:center;font-size:13.5px;margin-top:4px;cursor:pointer}
.td-check input{accent-color:var(--orange-d)}
@media (max-width:760px){.td-grid{grid-template-columns:1fr}.td-prev canvas{max-height:38vh}.text-dialog{max-height:94vh;overflow:auto}}

/* ---------- Erzeugte Dateien ---------- */
.files{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.file-card{display:flex;align-items:center;gap:12px;border:1px solid var(--linie);background:var(--flaeche);border-radius:14px;padding:10px 14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);max-width:520px}
.file-card:hover{border-color:var(--orange)}
.file-card .fi{font-size:28px;line-height:1}
.file-card .fn{flex:1;min-width:0;display:flex;flex-direction:column}
.file-card .fn b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-card .fn small{color:var(--text-3);font-size:12.5px}
.file-card .dl{background:var(--orange);color:#fff;font-weight:600;border-radius:9px;padding:7px 12px;font-size:13.5px;white-space:nowrap}
.file-card:hover .dl{background:var(--orange-d)}
@media (max-width:560px){.file-card .dl{font-size:0;padding:7px 9px}.file-card .dl::first-letter{font-size:15px}}

/* ================= Dunkelmodus ================= */
html[data-theme=dark]{color-scheme:dark;
  --bg:#0F1A1C; --weiss:#142124; --flaeche:#1B2B2F; --text:#E8EEEE; --text-2:#B3C0C2; --text-3:#84979A; --linie:#2C4045;
  --orange:#2A8794; --orange-d:#7FC4CE; --orange-l:#16363C; --orange-xl:#132B30; --rot:#FF8F80; --rot-l:#40231F; --gruen:#7FD09C; --gruen-l:#1E3527; --gelb-l:#3A311C;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.35)}
html[data-theme=dark] .banner,html[data-theme=dark] .edit-bar,html[data-theme=dark] .first-run{color:#F0D48A;border-color:#5A4A22}
html[data-theme=dark] .first-run code{background:#0F1A1C}
html[data-theme=dark] .status.warn{color:#E9C46A}
html[data-theme=dark] .findings{border-color:#6B3A34}
html[data-theme=dark] .findings.hint{border-color:#5A4A22}
html[data-theme=dark] .chip{border-color:#6B3A34}
html[data-theme=dark] .findings.hint .chip{border-color:#5A4A22}
html[data-theme=dark] .msg.user .bubble,html[data-theme=dark] .assistant.active,html[data-theme=dark] .msg-files .f,html[data-theme=dark] .msg-files img{border-color:#2F5560}
html[data-theme=dark] .att.blocked,html[data-theme=dark] .att.err,html[data-theme=dark] .pj-file.blocked,html[data-theme=dark] .pj-file.error,html[data-theme=dark] .error-note{border-color:#6B3A34}
html[data-theme=dark] .att.ok{border-color:#2F5A40}
html[data-theme=dark] .bubble code{background:#0F1A1C}
html[data-theme=dark] .bubble pre,html[data-theme=dark] .code{background:#0A1214}
html[data-theme=dark] .code-head{background:#132023}
html[data-theme=dark] .bubble a{color:#FFD400}
html[data-theme=dark] .web.on,html[data-theme=dark] .web-tag{background:#1E3552;color:#9CC7FF}
html[data-theme=dark] .send:disabled{background:#2C4045;color:#77736D}
html[data-theme=dark] .send.stop{background:#ECE9E4;color:#0F1A1C}
html[data-theme=dark] .temp-btn.on{background:#ECE9E4;color:#0F1A1C;border-color:#ECE9E4}
html[data-theme=dark] .toast{background:#ECE9E4;color:#0F1A1C}
html[data-theme=dark] .crumb-btn:hover{background:#1F4A52}
html[data-theme=dark] .td-prev,html[data-theme=dark] .gen img,html[data-theme=dark] .meter,html[data-theme=dark] .att .thumb{background:#0F1A1C}
html[data-theme=dark] .gen-wait .ph{background:linear-gradient(90deg,#1B2B2F 25%,#24383D 50%,#1B2B2F 75%);background-size:200% 100%}
html[data-theme=dark] table.t td,html[data-theme=dark] .fd-item{border-color:#24383D}
html[data-theme=dark] .proj .s-item{border-color:var(--linie)}
html[data-theme=dark] .login-wrap{background:linear-gradient(160deg,#0E3A42,var(--bg) 55%)}
html[data-theme=dark] mark.f{background:#6B3A34;color:var(--text)}
html[data-theme=dark] .overlay{background:rgba(0,0,0,.6)}
html[data-theme=dark] .dropzone{color:#fff}
html[data-theme=dark] .composer{background:linear-gradient(to bottom,rgba(15,26,28,0),var(--bg) 30%)}
html[data-theme=dark] .pill,html[data-theme=dark] .img-opts select{background:var(--flaeche)}
.theme-btn{font-size:17px}

/* ---------- v0.7: Skills, Dateien ändern, Ordner ---------- */
.box{position:relative}
.pop.slash{left:10px;right:10px;bottom:calc(100% + 6px);width:auto;max-width:460px;max-height:300px;overflow:auto;padding:6px;display:none}
.pop.slash.open{display:block}
.pop.slash button{display:flex;gap:10px;align-items:baseline;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px}
.pop.slash button b{font-weight:600;white-space:nowrap}
.pop.slash button span{color:var(--text-3);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop.slash button.sel,.pop.slash button:hover{background:var(--orange-l)}
.skill-chip{display:flex;align-items:center;gap:8px;margin:10px 12px 0;padding:5px 6px 5px 12px;border-radius:999px;background:var(--orange-l);border:1px solid var(--orange);font-size:13px;width:fit-content;max-width:calc(100% - 24px)}
.skill-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skill-chip button{border:0;background:none;width:22px;height:22px;border-radius:50%;font-size:15px;line-height:1;color:var(--text-2);flex:none}
.skill-chip button:hover{background:var(--flaeche);color:var(--text)}
body.skill-mode #attachBtn,body.skill-mode #assistantSel,body.skill-mode #model{display:none}
.sk-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;max-width:680px;margin:18px auto 0;font-size:13px;color:var(--text-3)}
.sk-chip{border:1px solid var(--linie);background:var(--flaeche);border-radius:999px;padding:4px 11px;font-size:13px;color:var(--text-2)}
.sk-chip:hover,.sk-chip.on{border-color:var(--orange);color:var(--text);background:var(--orange-l)}
.sk-chip.neu{border-style:dashed}
.skills .sk-lead{color:var(--text-2);margin:0 0 16px;max-width:680px}
.skills code,.skill-card code,.sk-lead code{background:var(--orange-l);border-radius:6px;padding:1px 7px;font-size:12.5px;font-family:ui-monospace,Consolas,monospace;color:var(--text)}
.sk-new{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.sk-new .btn.big{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0}
.sk-new .btn.big small{font-weight:400;font-size:12.5px;opacity:.9}
.sk-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--linie);flex-wrap:wrap}
.sk-row:first-of-type{border-top:0}
.sk-info{min-width:220px;flex:1}
.sk-info p{margin:2px 0 0;color:var(--text-2);font-size:13.5px}
.sk-act{display:flex;gap:6px;flex-wrap:wrap}
.sk-act .btn{padding:6px 12px;font-size:13px}
.skill-card{border:1px solid var(--orange);background:var(--flaeche);border-radius:14px;padding:14px 16px;margin-top:8px;max-width:560px;box-shadow:var(--shadow)}
.skill-card .sk-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15.5px}
.skill-card p{margin:4px 0 8px;color:var(--text-2);font-size:14px}
.skill-card details{margin-bottom:12px;font-size:13.5px}
.skill-card summary{cursor:pointer;color:var(--orange-d);font-weight:600}
.skill-card pre{white-space:pre-wrap;font-family:inherit;background:var(--bg);border:1px solid var(--linie);border-radius:10px;padding:10px 12px;margin:8px 0 0;max-height:280px;overflow:auto}
.skill-card .row{align-items:center}
.sk-kurz{max-width:210px}
.sk-kurz .pre{display:flex;align-items:center;border:1px solid var(--linie);border-radius:10px;background:var(--flaeche);padding-left:12px}
.sk-kurz .pre span{color:var(--text-3);font-weight:700}
.sk-kurz .pre input{border:0;padding-left:4px;background:transparent}
.sk-kurz .pre:focus-within{outline:2px solid var(--orange-l);border-color:var(--orange)}
.sk-kurz .pre input:focus{outline:0}
.field label small{font-weight:400;color:var(--text-3)}
.file-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.file-row .file-card{flex:1 1 320px}
.fsave{font-size:13px;padding:7px 12px;white-space:nowrap}
.fsaved{color:var(--gruen);font-size:13px}
.msg-actions .mdl{color:var(--text-3);font-size:12px;padding:3px 8px;margin-left:auto}
#skillsBtn{margin:0 0 2px}
html[data-theme=dark] .fsaved{color:#7BC79A}

/* ---------- v0.11: Icons, Diktat-Leiste, Vorschläge ---------- */
.ic{width:16px;height:16px;vertical-align:-3px;flex:none}
h1 .ic{width:22px;height:22px;vertical-align:-3px;color:var(--orange-d)}
.temp-btn{display:inline-flex;align-items:center;gap:6px}
.temp-btn:disabled{opacity:1}
#skillsBtn .ic{color:var(--orange-d);margin-right:4px}
.skill-chip .ic,.sk-chips .ic,.skill-card .ic{color:var(--orange-d)}
.rec-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 4px 0;font-size:13px;color:var(--text-2)}
.rec-bar button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--linie);background:var(--flaeche);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--text)}
.rec-bar button:hover{border-color:var(--orange)}
.rec-bar #recDone{border-color:var(--orange);background:var(--orange-l)}
.rec-bar #recTime{font-variant-numeric:tabular-nums;min-width:38px;color:var(--text)}
.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--rot);animation:pulse 1.2s infinite}
.rec-dot.pause{animation:none;background:var(--grau)}
.rec-hint{color:var(--text-3);font-size:12px}
.mic.paused{background:var(--grau);color:#fff}
.sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sugg button{border:1px solid var(--orange);background:var(--flaeche);color:var(--text);border-radius:999px;padding:6px 13px;font-size:13.5px}
.sugg button:hover{background:var(--orange-l)}
@media (max-width:700px){.rec-hint{display:none}}

/* ---------- v0.12 ---------- */
.topbar::after{display:none}
.a-cards{grid-template-columns:repeat(3,1fr);max-width:720px}
.theme-btn .ic{width:19px;height:19px;vertical-align:middle}
.frei{display:flex;gap:8px;align-items:flex-start;margin:10px 0 2px;font-size:13.5px;color:var(--text);cursor:pointer}
.frei input{margin-top:3px;accent-color:var(--orange)}
.reply-bar{display:flex;align-items:center;gap:8px;margin:0 4px 8px;padding:7px 8px 7px 12px;border-left:3px solid var(--orange);background:var(--flaeche);border-radius:8px;font-size:13px;color:var(--text-2)}
.reply-bar span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-bar button{border:0;background:none;font-size:16px;color:var(--text-3);width:24px;height:24px;border-radius:50%}
.reply-bar button:hover{background:var(--bg);color:var(--text)}
blockquote.bezug{margin:0 0 8px;padding:4px 10px;border-left:3px solid var(--orange);font-size:.9em;opacity:.8;white-space:normal}
#dialogBtn.on{background:var(--orange);color:#fff}

.schritte{font-size:13px;color:var(--text-2);margin:0 0 8px 2px}
.schritte summary{cursor:pointer;color:var(--text-3);list-style:none}
.schritte summary::before{content:"▸ "}.schritte[open] summary::before{content:"▾ "}
.schritte ul{list-style:none;margin:6px 0 0;padding:0 0 0 10px;border-left:2px solid var(--linie)}
.schritte li{padding:2px 0}

.pj-badge{display:inline-block;background:var(--gelb);color:var(--petrol);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600;margin-left:6px}
.pj-file small.pj-warn{color:#c9853a}

/* ================= v0.15: Seitenleiste ausblenden, Vorschau rechts ================= */
.app{overflow:hidden}
@media (min-width:861px){
  body.side-anim .sidebar{transition:margin-left .24s ease,opacity .2s ease,visibility 0s linear 0s}
  body.side-zu .sidebar{margin-left:-290px;opacity:0;visibility:hidden}
  body.side-anim.side-zu .sidebar{transition:margin-left .24s ease,opacity .2s ease,visibility 0s linear .24s}
}
.preview:not([hidden]){animation:pvRein .22s ease}
@keyframes pvRein{from{transform:translateX(28px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){ body.side-anim .sidebar,body.side-anim.side-zu .sidebar{transition:none} .preview:not([hidden]){animation:none} }
.main{min-width:0}
.preview{width:min(46vw,780px);min-width:360px;flex:none;display:flex;flex-direction:column;background:var(--weiss);border-left:1px solid var(--linie)}
.preview[hidden]{display:none}
.pv-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--linie)}
.pv-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px}
.pv-head .btn{padding:5px 11px;font-size:13px;text-decoration:none;white-space:nowrap}
.pv-note{padding:7px 12px;font-size:12.5px;color:var(--text-2);background:var(--bg);border-bottom:1px solid var(--linie)}
.pv-body{flex:1;min-height:0;overflow:auto;background:#8a8a8a22;position:relative}
.pv-body iframe{width:100%;height:100%;border:0;display:block;background:#fff}
.pv-body pre{margin:0;padding:18px;white-space:pre-wrap;word-break:break-word;font:13.5px/1.55 system-ui,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--weiss);min-height:100%}
.pv-body .pv-wait{padding:40px 20px;text-align:center;color:var(--text-2);font-size:14px}
.pv-body .docx-wrapper{background:transparent!important;padding:16px!important}
.pv-body .docx-wrapper>section.docx{box-shadow:0 1px 6px rgba(0,0,0,.25);margin-bottom:16px!important;max-width:100%}
.fbtn{font-size:13px;padding:7px 12px;white-space:nowrap}
.msg-files .f[data-aprev]{cursor:pointer}
.msg-files .f[data-aprev]:hover{border-color:var(--orange,#0E3A42)}
.att .pvlink{background:none;border:0;padding:0;margin-top:2px;color:var(--text-2);font-size:12.5px;text-decoration:underline;cursor:pointer}
@media (max-width:1100px){ .preview{position:fixed;inset:64px 0 0 0;width:auto;min-width:0;z-index:30} }

/* v0.17 */
.herkunft{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--text-2)}
.herkunft span{border:1px solid var(--linie);border-radius:999px;padding:1px 9px}


/* ================= MIA-Design: Kopfzeile in Petrol, Knöpfe in Gelb, Überschriften in Fraunces ================= */
body{font-size:16px;line-height:1.6}
b,strong{font-weight:700}
h1,h2,h3,.dialog h2,.panel h2{font-family:Fraunces,Georgia,serif;letter-spacing:-.01em;line-height:1.2}
.bubble h1,.bubble h2,.bubble h3{font-family:inherit;letter-spacing:0}
.topbar{background:var(--petrol);border-bottom:0;color:#fff;height:68px}
.topbar::after{display:none}
.app{height:calc(100% - 68px)}
.topbar .icon-btn{color:#d7e6e8}
.topbar .icon-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.brand .mia{height:30px}
.brand small{color:#cfe0e2}
.topbar .user-btn{background:rgba(255,255,255,.1);border-color:transparent;color:#fff}
.topbar .user-btn:hover{background:rgba(255,255,255,.17)}
.avatar{background:var(--gelb);color:var(--petrol);font-weight:700}
.topbar .temp-btn{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.topbar .temp-btn:hover:not(:disabled){border-color:var(--gelb)}
.topbar .temp-btn.on{background:var(--gelb);border-color:var(--gelb);color:var(--petrol)}
.topbar>.btn{background:var(--gelb);border-color:var(--gelb);color:var(--petrol);font-weight:700;text-decoration:none}
.new-chat,.btn.primary,.send,.file-card .dl,#dialogBtn.on{background:var(--gelb);color:var(--petrol);font-weight:700}
.btn.primary{border-color:var(--gelb)}
.new-chat,.btn.primary,.send{transition:transform .12s,box-shadow .12s}
.new-chat:hover,.btn.primary:hover,.send:hover:not(:disabled),.file-card:hover .dl{background:var(--gelb);color:var(--petrol)}
.new-chat:hover,.btn.primary:hover,.send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,212,0,.35)}
.msg.user .who{background:var(--petrol);color:#fff}
.msg.assistant .who{border:0;background:none}
.msg.assistant .who img{width:32px;border-radius:9px}
.meter div,.typing span{background:var(--petrol-3)}
.login-wrap{background:radial-gradient(1100px 520px at 85% -10%,var(--petrol-3),transparent 60%),var(--petrol)}
.login{border:0;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.login::before{background:var(--gelb)}
.login .logos .mia{height:56px}
.empty img{height:74px}
.empty h1{font-size:30px}
:focus-visible{outline:3px solid var(--gelb);outline-offset:2px}
html[data-theme=dark] .topbar{background:#0B2E35}
html[data-theme=dark] .login-wrap{background:radial-gradient(1100px 520px at 85% -10%,var(--petrol-2),transparent 60%),#0A2328}
html[data-theme=dark] .msg.user .who{background:var(--petrol-3)}
html[data-theme=dark] .empty img,html[data-theme=dark] .login .logos .mia{content:url(assets/mia-logo-hell.svg)}
html[data-theme=dark] .send:disabled{background:#2C4045;color:#84979A}

.code-html{color:var(--gelb);font-weight:700}
.code:has(.code-html) pre{max-height:320px}
/* Startseite im Chat: zehn Kacheln in zwei Reihen */
.inner:has(.empty){max-width:1010px}
.empty .a-cards{grid-template-columns:repeat(5,1fr);max-width:980px}
.empty .a-card{padding:12px 12px 13px}
@media (max-width:1180px){.empty .a-cards{grid-template-columns:repeat(3,1fr);max-width:720px}}
@media (max-width:640px){.empty .a-cards{grid-template-columns:1fr 1fr}}

/* Eigene Symbole */
.mi{width:1.5em;height:1.5em;display:block}
.mi .ak{fill:var(--gelb);stroke:none}.mi .akl{stroke:var(--gelb);stroke-width:2.4}
.a-card .ico{font-size:19px;color:var(--petrol);margin-bottom:4px;display:block}
html[data-theme=dark] .a-card .ico{color:#CFE6EA}
/* Der ausgeschriebene Name */
.brand small{max-width:230px;line-height:1.25}.brand small b{color:#fff;font-weight:700}
.mia-name{font-family:ui-monospace,Consolas,monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:-6px 0 14px!important}
.mia-name b{color:var(--petrol);background:var(--gelb);padding:0 3px;font-weight:700}
/* Mitschnitt */
.mit-hinweis{background:var(--gelb-l);border:1px solid #F3E2B0;border-radius:10px;padding:9px 12px;font-size:13.5px;color:var(--text)!important}
html[data-theme=dark] .mit-hinweis{border-color:#5A4A22}
.mit-ok{display:flex;gap:9px;align-items:flex-start;margin:10px 0 6px;font-size:14.5px}.mit-ok input{margin-top:4px;accent-color:var(--orange-d)}
.mit-uhr{font-family:Fraunces,Georgia,serif;font-size:44px!important;line-height:1.1;font-weight:700;color:var(--text)!important;display:flex;align-items:center;gap:14px;margin:6px 0 4px!important}
.mit-punkt{width:16px;height:16px;border-radius:50%;background:var(--rot);animation:mitp 1.2s infinite}@keyframes mitp{50%{opacity:.25}}
#recBtn{color:var(--rot)}

/* Tarif-Zeile unter dem Eingabefeld */
.plan-zeile{font-size:12.5px;color:var(--text-2);margin:2px 4px 0}
.plan-zeile.leer{color:var(--text);background:var(--gelb-l);border:1px solid #F3E2B0;border-radius:10px;padding:7px 11px;margin-top:6px;font-size:13.5px}
.plan-link{border:0;background:none;padding:0;color:var(--orange-d);text-decoration:underline;font:inherit;cursor:pointer}

/* Bild in groß */
.msg-files img,.gen img,.att img{cursor:zoom-in}
.bildschau{position:fixed;inset:0;z-index:90;background:rgba(6,20,23,.88);display:grid;place-items:center;padding:28px;cursor:zoom-out}
.bildschau img{max-width:100%;max-height:calc(100vh - 56px);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff}
.bs-zu{position:fixed;top:16px;right:18px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:18px}
.bs-zu:hover{background:var(--gelb);color:var(--petrol)}
/* Pfeil zum Ende des Chats */
.main{position:relative}
.runter{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--composer-h,150px) + 10px);z-index:6;width:38px;height:38px;border-radius:50%;border:1px solid var(--linie);background:var(--flaeche);color:var(--text-2);display:grid;place-items:center;box-shadow:var(--shadow);opacity:.92}
.runter:hover{color:var(--petrol);border-color:var(--gelb);background:var(--gelb)}

.s-item .t .mi{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.22em;margin-right:6px;color:var(--text-2)}

/* Funktionskatalog */
.fn-box{max-width:980px;margin:0 auto 14px;text-align:left}
.fn-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--text-2);margin:0 2px 8px}
.fn-alle,.kat-knopf{border:1px solid var(--linie);background:var(--flaeche);color:var(--text);border-radius:999px;padding:5px 12px;font-size:13px;white-space:nowrap;cursor:pointer}
.fn-alle:hover,.kat-knopf:hover{border-color:var(--orange)}
.fn-chips{display:flex;flex-wrap:wrap;gap:8px}
.fn-chip{border:1px solid var(--linie);background:var(--flaeche);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer;box-shadow:var(--shadow)}
.fn-chip:hover{border-color:var(--orange);background:var(--orange);color:#fff}
.kat-bg{position:fixed;inset:0;background:rgba(10,30,34,.45);z-index:90;display:flex;align-items:center;justify-content:center;padding:18px}
.kat{background:var(--bg,#fff);color:var(--text);border:1px solid var(--linie);border-radius:14px;max-width:920px;width:100%;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.kat-kopf{display:flex;align-items:baseline;gap:12px;padding:16px 20px;border-bottom:1px solid var(--linie)}
.kat-kopf b{font-size:18px}.kat-kopf span{font-size:13px;color:var(--text-2);flex:1}
.kat-zu{border:0;background:none;font-size:18px;color:var(--text-2);cursor:pointer}
.kat-inhalt{overflow:auto;padding:6px 20px 20px}
.kat-inhalt section{padding:14px 0;border-bottom:1px solid var(--linie)}.kat-inhalt section:last-child{border-bottom:0}
.kat-inhalt h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0 0 10px}
.kat-inhalt h3 .mi{width:20px;height:20px;color:var(--orange)}
@media (max-width:700px){.fn-kopf span{display:none}.fn-chip{padding:7px 11px;font-size:13px}.kat-knopf{display:none}}

/* MIA-Symbol vor der Antwort; solange MIA nachdenkt, hüpft der Kopf und schaut nach links und rechts */
.msg.assistant .who{background:none;border:0;border-radius:0}
.mia-zeichen{width:32px;height:32px;overflow:visible;display:block}
.mia-zeichen rect{fill:#0E3A42}
.mia-zeichen .m{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 100%}
.mia-zeichen .kopf{fill:#FFD400;transform-box:fill-box;transform-origin:50% 100%}
.msg.denkt .mia-zeichen .m{animation:miaM 2.6s ease-in-out infinite}
.msg.denkt .mia-zeichen .kopf{animation:miaKopf 2.6s cubic-bezier(.4,0,.3,1) infinite}
.msg.denkt .bubble{background:none;border:0;box-shadow:none;padding:6px 0 0;min-height:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes miaKopf{
  0%,6%{transform:translate(0,0)}
  16%{transform:translate(0,-9px)}
  27%{transform:translate(0,0) scale(1.16,.84)}
  33%,38%{transform:translate(0,0)}
  48%{transform:translate(-6px,-7px)}
  59%{transform:translate(0,0) scale(1.14,.86)}
  65%,70%{transform:translate(0,0)}
  80%{transform:translate(6px,-7px)}
  91%{transform:translate(0,0) scale(1.14,.86)}
  100%{transform:translate(0,0)}
}
@keyframes miaM{0%,22%,31%,54%,63%,86%,95%,100%{transform:scaleY(1)}27%,59%,91%{transform:scaleY(.955)}}
@media (prefers-reduced-motion:reduce){.msg.denkt .mia-zeichen .m{animation:none}.msg.denkt .mia-zeichen .kopf{animation:miaRuhig 1.8s ease-in-out infinite}@keyframes miaRuhig{50%{opacity:.45}}}

/* Symbole unter der Antwort, Rückmeldung */
.msg-actions{align-items:center;flex-wrap:wrap}
.msg-actions button{display:inline-flex;align-items:center;gap:5px;padding:5px 6px}
.msg-actions .ai{width:17px;height:17px;display:block}
.msg-actions button.an{color:var(--petrol-3,var(--orange))}
.msg-actions button.an .ai{stroke-width:2.2}
.msg-actions .fb-link{font-size:12.500px;text-decoration:underline;text-underline-offset:2px;color:var(--text-2);margin-left:6px;padding:5px 8px}
.kat.fb{max-width:520px}
.fb-inhalt{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}
.fb-inhalt label{font-size:14px}
.fb-inhalt textarea{width:100%;border:1px solid var(--linie);border-radius:10px;padding:10px 12px;font:inherit;background:var(--flaeche);color:var(--text);resize:vertical}
.fb-inhalt .fb-wahl{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text-2)}
.fb-inhalt .fb-wahl input{width:auto;margin-top:2px}
.fb-inhalt .hint{font-size:12.500px;color:var(--text-3);margin:0}
