        body { 
            font-family: 'Inter', sans-serif; 
            box-sizing: border-box;
        }
        .active-tab {
            background: #e7f4eb;
            color: #065f46;
            box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.16), 0 10px 30px rgba(6, 95, 70, 0.08);
        }
        .portal-nav-icon {
            background: rgba(255, 255, 255, 0.82);
            color: #047857;
            box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.08);
        }
        .active-tab .portal-nav-icon {
            background: #ffffff;
            color: #065f46;
        }
        .service-panel { display: none; }
        .service-panel.active { display: block; }
        .active-mobile-tab {
            background: #e7f4eb;
            color: #065f46;
        }
        .mobile-tab:hover { color: #064e3b; }

        /* Mobile sidebar styles */
        @media (max-width: 1023px) {
            .sidebar-open {
                transform: translateX(0) !important;
            }
        }

        .chat-markdown {
            direction: rtl;
            text-align: right;
            font-size: 0.875rem;
            line-height: 1.75;
            color: #1f2937;
            word-break: break-word;
        }

        .chat-markdown p,
        .chat-markdown ul,
        .chat-markdown ol,
        .chat-markdown pre,
        .chat-markdown blockquote,
        .chat-markdown table,
        .chat-markdown hr {
            margin-top: 0.75rem;
            margin-bottom: 0.75rem;
        }

        .chat-markdown > :first-child {
            margin-top: 0;
        }

        .chat-markdown > :last-child {
            margin-bottom: 0;
        }

        .chat-markdown ul,
        .chat-markdown ol {
            padding-right: 1.25rem;
            padding-left: 0;
        }

        .chat-markdown ul {
            list-style-type: disc;
        }

        .chat-markdown ol {
            list-style-type: decimal;
        }

        .chat-markdown li {
            margin: 0.35rem 0;
        }

        .chat-markdown a {
            color: #047857;
            font-weight: 500;
            text-decoration: underline;
        }

        .chat-markdown a:hover,
        .chat-markdown a:focus {
            color: #065f46;
        }

        .chat-markdown table {
            width: 100%;
            border-collapse: collapse;
        }

        .chat-markdown th,
        .chat-markdown td {
            border: 1px solid #d1d5db;
            padding: 0.5rem;
            text-align: right;
            vertical-align: top;
        }

        .chat-markdown hr {
            border: none;
            border-top: 1px solid #e5e7eb;
        }

        .chat-markdown blockquote {
            border-right: 4px solid #10b981;
            padding: 0.75rem 1rem;
            background-color: #ecfdf5;
            border-radius: 0.75rem;
            color: #374151;
        }

        .chat-markdown code {
            background-color: #f3f4f6;
            padding: 0.125rem 0.375rem;
            border-radius: 0.375rem;
            font-size: 0.8125rem;
            direction: ltr;
            display: inline-block;
            text-align: left;
        }

        .chat-markdown pre {
            background-color: #f3f4f6;
            border-radius: 0.75rem;
            padding: 1rem;
            overflow-x: auto;
            direction: ltr;
            text-align: left;
        }
