/* KI-Wertschicht-Modell© · styles.css */
/* CI-Farben: #122459 (Blau) · #E84910 (Orange) */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --blue:#122459;--blue-mid:#1E3A7A;--blue-light:#C5D5EE;
  --orange:#E84910;--bg:#F4F6FB;--text:#122459;
  --text-light:#5A6A8A;--border:#DDE3F0
}
body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);height:100vh;display:flex;flex-direction:column;overflow:hidden}

/* ── Header ─────────────────────────────────────────────── */
header{background:var(--blue);padding:0 20px;height:48px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.hlogo{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45)}
.htitle{font-size:12px;font-weight:600;color:white;margin-left:10px}
.hbadge{font-size:9px;background:var(--orange);color:white;padding:2px 7px;border-radius:3px;font-weight:700}
.hbadge-pro{font-size:9px;background:var(--orange);color:white;padding:2px 8px;border-radius:3px;font-weight:700;margin-left:6px}

/* ── Ebenen-Leiste ───────────────────────────────────────── */
.layers-bar{background:white;border-bottom:1px solid var(--border);padding:7px 20px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.layers-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-right:4px;white-space:nowrap}
.lp{font-size:9px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:.4px;white-space:nowrap}
.lp06{background:#122459;color:white}.lp05{background:#1E3A7A;color:white}.lp04{background:#2E5BA8;color:white}
.lp03{background:#7A9DD4;color:white}.lp02{background:#8AAFD4;color:white}.lp01{background:#C5D5EE;color:#122459}
.lp-div{font-size:9px;color:#E84910;font-weight:700;margin:0 2px}

/* ── Warn-Bar ────────────────────────────────────────────── */
.warn-bar{background:#FFF3E0;border-bottom:1px solid #FFB74D;padding:5px 20px;display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px;color:#E65100;font-weight:600}

/* ── Login ───────────────────────────────────────────────── */
#login-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{background:white;border:1px solid var(--border);border-radius:8px;padding:36px 40px;width:100%;max-width:420px}
.login-title{font-size:18px;font-weight:700;color:var(--blue);margin-bottom:6px}
.login-sub{font-size:12px;color:var(--text-light);margin-bottom:14px;line-height:1.5}
.login-info{background:white;border:1px solid var(--border);border-radius:4px;padding:12px 14px;font-size:12px;color:var(--text);line-height:1.7;margin-bottom:14px}
.login-notice{background:#FFF3E0;border:1px solid #FFB74D;border-radius:4px;padding:10px 13px;font-size:11px;color:#E65100;line-height:1.6;margin-bottom:18px}
label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-light);display:block;margin-bottom:6px}
input[type=text],input[type=password]{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:4px;font-size:14px;font-family:'Courier New',monospace;color:var(--text);outline:none;transition:border-color .15s;background:var(--bg)}
input:focus{border-color:var(--blue);background:white}
.login-btn{width:100%;padding:11px;background:var(--blue);color:white;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;margin-top:14px;transition:background .15s}
.login-btn:hover{background:var(--blue-mid)}
.err-msg{font-size:12px;color:#c00;margin-top:8px;display:none}

/* ── Chat ────────────────────────────────────────────────── */
#chat-panel{flex:1;display:none;flex-direction:column;overflow:hidden}
.toolbar{background:white;border-bottom:1px solid var(--border);padding:8px 20px;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
.toolbar-btn{background:transparent;border:1px solid var(--border);padding:6px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-light)}
.toolbar-btn:hover{border-color:var(--blue);color:var(--blue)}
.toolbar-btn-primary{background:var(--blue);color:white;border:none;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer}
.toolbar-btn-primary:hover{background:var(--blue-mid)}
.toolbar-status{font-size:11px;color:var(--orange)}

/* ── Nachrichten ─────────────────────────────────────────── */
.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.msg-wrap{display:flex;gap:10px;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.msg-wrap.user{align-self:flex-end;flex-direction:row-reverse;max-width:75%}
.msg-wrap.assistant{max-width:85%}
.avatar{width:30px;height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;letter-spacing:.5px}
.msg-wrap.assistant .avatar{background:var(--blue);color:white}
.msg-wrap.user .avatar{background:var(--orange);color:white}
.bubble{padding:11px 15px;border-radius:6px;font-size:13px;line-height:1.65}
.msg-wrap.assistant .bubble{background:white;border:1px solid var(--border);color:var(--text)}
.msg-wrap.user .bubble{background:var(--blue);color:white}
.bubble strong{font-weight:700}.bubble em{font-style:italic;opacity:.85}

/* ── Analyse-Karte ───────────────────────────────────────── */
.analyse-card{background:white;border:2px solid var(--blue);border-radius:8px;padding:22px 24px;margin:4px 0}
.analyse-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--blue);margin-bottom:12px}
.analyse-text{font-size:13px;line-height:1.75;color:var(--text)}

/* ── Markdown-Header im Chat ─────────────────────────────── */
.chat-h2{font-size:13px;font-weight:700;color:var(--blue);margin:10px 0 4px;padding-bottom:2px;border-bottom:1px solid var(--border)}
.chat-h3{font-size:12px;font-weight:700;color:var(--text-light);margin:8px 0 3px}
.fazit-card{background:white;border:2px solid var(--orange);border-radius:8px;padding:22px 24px;margin:4px 0}
.fazit-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--orange);margin-bottom:12px}
.fazit-text{font-size:13px;line-height:1.75;color:var(--text);margin-bottom:16px}
.fazit-warning{background:#FFF3E0;border:1px solid #FFB74D;border-radius:4px;padding:10px 14px;font-size:12px;color:#E65100;margin-bottom:16px;line-height:1.5}
.fazit-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.fazit-cta{display:inline-block;background:var(--orange);color:white;padding:10px 20px;border-radius:4px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s}
.fazit-cta:hover{background:#c73d0e}
.fazit-email{font-size:12px;color:var(--text-light)}
.fazit-email a{color:var(--orange);font-weight:600;text-decoration:none}
.fazit-pdf-hint{margin-top:12px;font-size:11px;color:var(--text-light);padding:8px 12px;background:var(--bg);border-radius:4px;border:1px solid var(--border)}

/* ── Typing-Indikator ────────────────────────────────────── */
.typing{display:flex;gap:5px;padding:6px 2px;align-items:center}
.dot{width:7px;height:7px;background:var(--blue-mid);border-radius:50%;animation:bounce 1.2s infinite}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
@keyframes bounce{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}

/* ── Eingabe ─────────────────────────────────────────────── */
.input-area{background:white;border-top:1px solid var(--border);padding:12px 20px;flex-shrink:0}
.input-row{display:flex;gap:8px;align-items:flex-end}
textarea{flex:1;padding:9px 13px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;color:var(--text);resize:none;outline:none;min-height:42px;max-height:110px;line-height:1.5;transition:border-color .15s}
textarea:focus{border-color:var(--blue)}
.send-btn{width:42px;height:42px;background:var(--orange);color:white;border:none;border-radius:6px;cursor:pointer;font-size:19px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.send-btn:hover{background:#c73d0e}.send-btn:disabled{background:var(--border);cursor:not-allowed}
.chips{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.chip{font-size:11px;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;cursor:pointer;color:var(--text-light);transition:all .15s;white-space:nowrap}
.chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}

/* ── Footer ──────────────────────────────────────────────── */
footer{background:var(--blue);padding:5px 20px;font-size:8.5px;color:rgba(255,255,255,.3);text-align:center;flex-shrink:0}
