body {
            font-family: 'Noto Sans KR', sans-serif;
            background-color: #F8FAFC; /* Slate 50 */
        }
        
        /* Navigation Active State */
        .nav-item.active {
            background-color: #E0F2FE;
            color: #0284C7;
            border-right: 3px solid #0284C7;
        }
        .nav-item {
            transition: all 0.2s;
            border-right: 3px solid transparent;
        }

        /* Chat Scrollbar */
        .chat-scroll::-webkit-scrollbar {
            width: 6px;
        }
        .chat-scroll::-webkit-scrollbar-track {
            background: transparent;
        }
        .chat-scroll::-webkit-scrollbar-thumb {
            background-color: #CBD5E1;
            border-radius: 3px;
        }

        /* Message Styles */
        .msg-user {
            background-color: #E0F2FE; /* Sky 100 */
            color: #0c4a6e;
            border-bottom-right-radius: 4px;
        }
        .msg-ai {
            background-color: white;
            border: 1px solid #E2E8F0;
            border-bottom-left-radius: 4px;
            box-shadow: 0 1px 2px rgba(0,0,0,0.05);
        }

        /* Typing Indicator */
        .typing-dot {
            animation: typing 1.4s infinite ease-in-out both;
        }
        .typing-dot:nth-child(1) { animation-delay: -0.32s; }
        .typing-dot:nth-child(2) { animation-delay: -0.16s; }
        @keyframes typing {
            0%, 80%, 100% { transform: scale(0); }
            40% { transform: scale(1); }
        }

        /* Right Panel Transition */
        #right-panel {
            transition: margin-right 0.3s ease-in-out;
        }
        #right-panel.collapsed {
            margin-right: -320px;
        }