:root{--sidebar-bg: #1a1a2e;--sidebar-hover: #16213e;--sidebar-active: #0f3460;--sidebar-text: #e0e0e0;--sidebar-text-muted: #8a8a9a;--sidebar-border: #2a2a4a;--sidebar-width: 280px;--chat-bg: #f8f9fa;--chat-header-bg: #ffffff;--chat-border: #e9ecef;--bubble-user-bg: #0f3460;--bubble-user-text: #ffffff;--bubble-assistant-bg: #ffffff;--bubble-assistant-text: #1a1a2e;--bubble-shadow: 0 1px 3px rgba(0, 0, 0, .12);--report-bg: #f0f4ff;--report-border: #c7d3f5;--report-font: "Courier New", Courier, monospace;--notes-bg: #fafafa;--notes-text: #555;--btn-primary: #0f3460;--btn-primary-hover: #1a4a80;--btn-danger: #e53e3e;--btn-danger-hover: #c53030;--btn-success: #38a169;--color-error: #e53e3e;--color-success: #38a169;--header-height: 56px;--input-area-height: auto;--border-radius: 8px;--border-radius-lg: 12px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:15px;line-height:1.5;color:#1a1a2e;background:var(--chat-bg);-webkit-font-smoothing:antialiased}#app{height:100vh;height:100dvh;overflow:hidden}.app-layout{display:flex;height:100%;overflow:hidden}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--sidebar-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--chat-border);border-top-color:var(--btn-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border);overflow:hidden;flex-shrink:0}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;background:var(--sidebar-bg);color:var(--sidebar-text);border:none;border-radius:var(--border-radius);width:36px;height:36px;cursor:pointer;font-size:18px;align-items:center;justify-content:center}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150}.sidebar-user{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--sidebar-border);gap:8px}.user-info{display:flex;align-items:center;gap:10px;min-width:0}.user-kuerzel{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;background:var(--btn-primary);border-radius:50%;font-weight:700;font-size:13px;letter-spacing:.5px}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebar-text)}.user-email{font-size:11px;color:var(--sidebar-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{background:none;border:none;color:var(--sidebar-text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color var(--transition);flex-shrink:0}.btn-logout:hover{color:var(--sidebar-text)}.sidebar-new{padding:12px 16px;border-bottom:1px solid var(--sidebar-border)}.btn-new-session{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:var(--btn-primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--transition)}.btn-new-session:hover{background:var(--btn-primary-hover)}.session-list{flex:1;overflow-y:auto;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent}.session-list::-webkit-scrollbar{width:4px}.session-list::-webkit-scrollbar-thumb{background:var(--sidebar-border);border-radius:2px}.session-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;border-radius:0;transition:background var(--transition);min-height:48px}.session-item:hover{background:var(--sidebar-hover)}.session-item--active{background:var(--sidebar-active)}.session-info{display:flex;flex-direction:column;flex:1;min-width:0}.session-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sidebar-text)}.session-date{font-size:11px;color:var(--sidebar-text-muted)}.session-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.session-item:hover .session-actions,.session-item--active .session-actions{opacity:1}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--sidebar-text-muted);transition:color var(--transition),background var(--transition)}.btn-rename:hover{color:var(--sidebar-text);background:#ffffff14}.btn-delete:hover{color:#fc8181;background:#e53e3e26}.btn-confirm:hover{color:#68d391}.btn-cancel:hover{color:#fc8181}.session-edit-input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--sidebar-text);font-size:13px;padding:4px 8px;outline:none}.session-edit-input:focus{border-color:#fff6}.session-edit-actions{display:flex;gap:2px}.session-empty{padding:24px 16px;color:var(--sidebar-text-muted);font-size:13px;text-align:center;line-height:1.7}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--sidebar-border)}.sidebar-footer p{font-size:11px;color:var(--sidebar-text-muted);line-height:1.5}.chat-area{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{height:var(--header-height);min-height:var(--header-height);display:flex;align-items:center;padding:0 24px;background:var(--chat-header-bg);border-bottom:1px solid var(--chat-border);box-shadow:0 1px 4px #0000000d}.chat-title{font-size:16px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-area{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--chat-border) transparent}.messages-area::-webkit-scrollbar{width:4px}.messages-area::-webkit-scrollbar-thumb{background:var(--chat-border);border-radius:2px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:48px 24px;flex:1}.chat-empty-icon{color:#c0c4d0;margin-bottom:4px}.chat-empty h2{font-size:18px;font-weight:600;color:#4a4a6a}.chat-empty p{font-size:14px;color:#8a8aaa;max-width:380px;line-height:1.6}.hint-text{font-size:13px!important;color:#aac!important;font-style:italic}.chat-loading{display:flex;justify-content:center;padding:40px}.message-bubble{display:flex;flex-direction:column;max-width:80%;gap:4px}.message-bubble--user{align-self:flex-end;align-items:flex-end}.message-bubble--assistant{align-self:flex-start;align-items:flex-start}.bubble-body{padding:10px 14px;border-radius:var(--border-radius-lg);box-shadow:var(--bubble-shadow);word-break:break-word;overflow-wrap:break-word}.message-bubble--user .bubble-body{background:var(--bubble-user-bg);color:var(--bubble-user-text);border-bottom-right-radius:4px}.message-bubble--assistant .bubble-body{background:var(--bubble-assistant-bg);color:var(--bubble-assistant-text);border-bottom-left-radius:4px;border:1px solid var(--chat-border);padding:12px 16px}.message-text{font-size:14px;line-height:1.6;white-space:pre-wrap}.bubble-time{font-size:11px;color:var(--sidebar-text-muted);padding:0 4px}.typing-indicator{display:flex;align-items:center;gap:4px;padding:4px 0}.typing-indicator span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a0aec0;animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}.report-block{background:var(--report-bg);border:1px solid var(--report-border);border-radius:var(--border-radius);overflow:hidden;margin-bottom:8px}.report-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#e8eeff;border-bottom:1px solid var(--report-border)}.report-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#4a6fa5}.report-content{font-family:var(--report-font);font-size:13px;line-height:1.7;padding:14px;white-space:pre-wrap;word-break:break-word;color:var(--bubble-assistant-text);background:var(--report-bg)}.report-notes{margin-top:4px;padding:8px 0 0;border-top:1px dashed #dde3f0}.notes-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#9aa5b4;display:block;margin-bottom:4px}.notes-content{font-size:13px;color:var(--notes-text);line-height:1.6;white-space:pre-wrap}.btn-copy{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--btn-primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--transition)}.btn-copy:hover{background:var(--btn-primary-hover)}.input-area{border-top:1px solid var(--chat-border);background:var(--chat-header-bg);padding:12px 16px}.chat-input-wrapper{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid var(--chat-border);border-radius:var(--border-radius-lg);padding:8px 12px;box-shadow:0 1px 4px #0000000f;transition:border-color var(--transition),box-shadow var(--transition)}.chat-input-wrapper:focus-within{border-color:var(--btn-primary);box-shadow:0 0 0 3px #0f34601a}.chat-textarea{flex:1;border:none;outline:none;resize:none;background:transparent;font-family:inherit;font-size:14px;line-height:1.5;color:#1a1a2e;max-height:200px;overflow-y:auto}.chat-textarea::placeholder{color:#a0aec0}.chat-textarea:disabled{opacity:.6;cursor:not-allowed}.chat-input-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.btn-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--btn-primary);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background var(--transition),opacity var(--transition)}.btn-send:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-mic{display:flex;align-items:center;justify-content:center;gap:6px;width:36px;height:36px;background:transparent;color:#718096;border:1px solid var(--chat-border);border-radius:50%;cursor:pointer;transition:all var(--transition);font-size:12px;font-weight:600}.btn-mic:hover:not(:disabled){background:#eef2ff;color:var(--btn-primary);border-color:var(--btn-primary)}.btn-mic--recording{background:#fed7d7;color:var(--btn-danger);border-color:var(--btn-danger);animation:mic-pulse 1.5s ease-in-out infinite;width:auto;padding:0 10px;border-radius:18px}.btn-mic--transcribing{background:#e6fffa;color:var(--btn-success);border-color:var(--btn-success);cursor:wait}.btn-mic:disabled{opacity:.4;cursor:not-allowed}.mic-duration{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--btn-danger)}.mic-spinner{width:16px;height:16px;border:2px solid #b2f5ea;border-top-color:var(--btn-success);border-radius:50%;animation:spin .8s linear infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #e53e3e66}50%{box-shadow:0 0 0 6px #e53e3e00}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fff5f5;color:var(--btn-danger);border-bottom:1px solid #fed7d7;font-size:13px}.error-banner-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--btn-danger);padding:0 4px;line-height:1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1a1a2e;color:#fff;padding:10px 20px;border-radius:var(--border-radius-lg);font-size:13px;z-index:1000;box-shadow:0 4px 16px #00000040;max-width:90vw;text-align:center}.toast-enter-active,.toast-leave-active{transition:opacity .25s ease,transform .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(12px)}.hamburger-icon{pointer-events:none}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;height:100%;z-index:160;transform:translate(-100%);transition:transform .25s ease}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar-toggle{display:flex}.chat-area{width:100%}.chat-header{padding-left:56px}.message-bubble{max-width:92%}.messages-area{padding:16px 12px}.input-area{padding:8px 12px}}@media (max-width: 480px){:root{font-size:14px}.chat-header{padding-left:56px}.report-content{font-size:12px}}
