* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
        body { font-family: 'Inter', -apple-system, sans-serif; -webkit-font-smoothing: antialiased; background: #0A0A0C; overflow: auto; min-height: 100dvh; height: 100dvh; display: flex; flex-direction: column; }
        ::-webkit-scrollbar { width: 4px; height: 4px; }
        ::-webkit-scrollbar-thumb { background: #2E2E35; border-radius: 4px; }
        ::-webkit-scrollbar-track { background: transparent; }
        #chat-container { flex: 1; overflow-y: scroll; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
        footer { flex-shrink: 0; }
        .apple-blur { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
        @keyframes pulse-wave { 0%,100%{transform:scaleY(.3)} 50%{transform:scaleY(1)} }
        .voice-bar { animation: pulse-wave 1.2s infinite ease-in-out; }
        @keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
        .fade-up { animation: fadeUp .25s ease forwards; }
        .toast-box { position: fixed; bottom: 220px; left: 50%; transform: translateX(-50%) translateY(20px); opacity: 0; transition: all .3s ease; pointer-events: none; z-index: 99; }
        .toast-box.show { transform: translateX(-50%) translateY(0); opacity: 1; }
        .input-row { display: flex; align-items: flex-end; gap: 10px; }
        .text-input { flex: 1; background: #1F1F24; border: 1px solid #2E2E35; border-radius: 22px; padding: 11px 16px; color: #E4E4E7; font-family: 'Inter', sans-serif; font-size: 15px; outline: none; resize: none; min-height: 44px; max-height: 110px; line-height: 1.45; -webkit-appearance: none; }
        .text-input::placeholder { color: #52525B; }
        .send-btn { width: 44px; height: 44px; border-radius: 50%; background: #FF6D00; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: opacity .15s; }
        .send-btn:active { opacity: .7; }
        .send-btn:disabled { opacity: .3; }
        .mode-toggle { display: flex; background: #1F1F24; border-radius: 20px; padding: 3px; }
        .mode-btn { flex: 1; padding: 6px 12px; border-radius: 16px; border: none; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; cursor: pointer; transition: all .2s; color: #71717A; background: transparent; }
        .mode-btn.active { background: #2E2E35; color: #fff; }
        .kunden-toggle { display: flex; background: #1F1F24; border-radius: 16px; padding: 2px; border: 1px solid #2E2E35; }
        .kunden-btn { padding: 5px 10px; border-radius: 14px; border: none; font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700; cursor: pointer; transition: all .2s; color: #71717A; background: transparent; letter-spacing: .03em; }
        .kunden-btn.active { background: #FF6D00; color: #fff; }
        .marge-badge { position: fixed; top: 58px; right: 12px; z-index: 40; background: rgba(48,209,88,.12); border: 1px solid rgba(48,209,88,.35); border-radius: 14px; padding: 8px 12px; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; pointer-events: none; backdrop-filter: blur(8px); }
        .marge-badge.hidden { display: none; }
        .marge-badge-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #71717A; }
        .marge-badge-value { font-size: 13px; font-weight: 800; color: #30D158; }
        #stornoConfirmModal.flex { display: flex; }
        @media print {
            body > *:not(#pdfContainerModal) { display: none !important; }
            #pdfContainerModal { display: block !important; position: static !important; background: white !important; }
            #pdfContainerModal > div:first-child,
            #pdfContainerModal > div:last-child { display: none !important; }
            #pdfRenderArea { padding: 0 !important; overflow: visible !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
            @page { size: A4; margin: 12mm; }
        }
