            body {
                font-family: 'Inter', sans-serif;
                background-color: #27272a;
                color: #a1a1aa;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

            /* užitkové třídy */
            .text-primary { color: #f4f4f5; }
            .text-secondary { color: #a1a1aa; }
            .text-accent { color: #e20074; }
            .border-color { border-color: #3f3f46; }
            .bg-card { background-color: #18181b; }
            .bg-dark { background-color: #27272a; }
            .text-on-accent { color: #ffffff; }

            /* komponenty */
            .btn-accent {
                background-color: #e20074;
                color: #ffffff;
                transition: background-color 0.3s ease, transform 0.3s ease;
            }

            .btn-accent:hover {
                background-color: #c00062;
                transform: scale(1.05);
            }

            .form-input {
                background-color: #18181b;
                border: 1px solid #3f3f46;
                color: #f4f4f5;
            }

            .form-input:focus {
                outline: none;
                border-color: #e20074;
                box-shadow: 0 0 0 2px #e2007466;
            }

            /* modal - přihlási se */
            #login-overlay {
                position: fixed;
                inset: 0;
                background-color: #00000099;
                backdrop-filter: blur(5px);
                z-index: 100;
                display: none;
                align-items: center;
                justify-content: center;
                padding: 1rem;
            }

            #login-modal {
                background-color: #18181b;
                border: 1px solid #3f3f46;
                border-radius: 0.5rem;
                max-width: 460px;
                width: 100%;
                padding: 1.5rem;
                position: relative;
                box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
                opacity: 0;
                transform: scale(0.95);
                transition: opacity 0.2s ease, transform 0.2s ease;
            }

            #login-overlay.visible {
                display: flex;
            }

            #login-overlay.visible #login-modal {
                opacity: 1;
                transform: scale(1);
            }

            /* formulář přihlášení */
            .form-label {
                display: block;
                font-weight: 500;
                color: #f4f4f5;
                margin-bottom: 0.5rem;
                font-size: 0.875rem;
            }

            .form-input {
                width: 100%;
                display: block;
                border-radius: 0.375rem;
                padding: 0.65rem 0.75rem;
                transition: border-color 0.2s ease, box-shadow 0.2s ease;
            }

            .form-input:invalid:not(:placeholder-shown) {
                border-color: #ef4444;
                box-shadow: 0 0 0 2px #ef444466;
            }

            .password-wrapper {
                position: relative;
            }

            #toggle-password {
                position: absolute;
                top: 50%;
                right: 0.75rem;
                transform: translateY(-50%);
                color: #a1a1aa;
                cursor: pointer;
                background: none;
                border: none;
                padding: 0.25rem;
                border-radius: 99px;
            }

            #toggle-password:hover {
                color: #f4f4f5;
            }

            #toggle-password:focus {
                outline: none;
            }

            .form-checkbox {
                width: 1rem;
                height: 1rem;
                border-radius: 0.25rem;
                background-color: #3f3f46;
                border: 1px solid #3f3f46;
                appearance: none;
                cursor: pointer;
                position: relative;
                margin-right: 0.5rem;
                accent-color: #e20074;
            }

            .form-checkbox:checked {
                background-color: #e20074;
                border-color: #e20074;
            }

            .form-checkbox:checked::before {
                content: '✔';
                font-size: 0.75rem;
                color: #ffffff;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                line-height: 1;
            }

            .form-checkbox:focus {
                outline: none;
                box-shadow: 0 0 0 2px #e2007466;
            }

            .login-feedback-message {
                font-size: 0.875rem;
                text-align: center;
                margin-top: 1rem;
            }

            .login-feedback-error {
                color: #ef4444;
            }

            .login-feedback-success {
                color: #22c55e;
            }
            
            /* animace otevření */
            #chat-modal {
                transition: opacity 0.3s ease, transform 0.3s ease;
            }
            #chat-modal.hidden {
                opacity: 0;
                transform: translateY(20px);
                pointer-events: none;
            }

            .suggestion-chip {
                background-color: #27272a;
                color: #a1a1aa;
                padding: 6px 12px;
                border-radius: 16px;
                font-size: 14px;
                cursor: pointer;
                transition: all 0.2s ease;
                border: 1px solid #3f3f46;
            }
            .suggestion-chip:hover {
                background-color: #3f3f46;
                border-color: #e20074;
                color: #f4f4f5;
            }