        /* Global font family */
        body {
            font-family: var(--hh-font-family);
        }
        
        /* Navigation styling from main app */
        .navbar {
            background: var(--hh-color-base-white, #ffffff);
            border-bottom: 1px solid var(--hh-color-borders-default, #e6e6e6);
            padding: 8px 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: var(--hh-shadow-sm, 0 1px 2px rgba(0,0,0,0.06));
        }
        
        .navbar-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            min-height: 44px;
        }
        
        .navbar-brand {
            font-size: 0;
            font-weight: 500;
            color: #1a1a1a;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
            font-family: var(--hh-font-family);
        }
        
        .navbar-brand img {
            width: 32px;
            height: 32px;
        }
        
        .navbar-nav {
            display: flex;
            gap: 16px;
            align-items: center;
        }
        
        .nav-link {
            color: var(--hh-color-text-secondary, #4a4a4a);
            text-decoration: none;
            font-weight: 400;
            font-size: 14px;
            padding: 6px 10px;
            border-radius: 6px;
            transition: all 0.2s ease;
            min-height: 44px;
            display: flex;
            align-items: center;
            font-family: var(--hh-font-family);
        }
        
        .nav-link:hover {
            color: var(--hh-color-text-primary, #000000);
            background: var(--hh-color-base-cloud, #f5f5f5);
        }
        
        .nav-link.active {
            color: var(--hh-color-text-primary, #000000);
            background: var(--hh-color-base-cloud, #f5f5f5);
        }
        
        .token-counter {
            display: flex;
            align-items: center;
            gap: 8px;
            background: #f3f4f6;
            color: #1a1a1a;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 600;
            border: 2px solid transparent;
            text-decoration: none;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        
        .token-counter:hover {
            background: #e5e7eb;
            border-color: #3b82f6;
            color: #3b82f6;
            text-decoration: none;
        }
        
        .token-counter.low {
            background: #fef2f2;
            border-color: #fca5a5;
            color: #dc2626;
        }
        
        .token-icon {
            width: 32px;
            height: 32px;
            object-fit: contain;
        }
        
        .auth-buttons {
            display: flex;
            gap: 12px;
            align-items: center;
        }
        
        .login-btn, .logout-btn {
            padding: 8px 16px;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 500;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        
        .login-btn {
            background: var(--hh-color-brand-slate, #3d405b);
            color: white;
        }
        
        .login-btn:hover {
            background: var(--hh-color-brand-slate-800, #2b2c3f);
        }
        
        .logout-btn {
            background: #f3f4f6;
            color: #1a1a1a;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .logout-btn:hover {
            background: #e5e7eb;
        }

        /* Main pricing styles */
        .pricing-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: var(--hh-space-3xl, 40px) var(--hh-space-xl, 24px);
        }
        
        .pricing-header {
            text-align: center;
            margin-bottom: 60px;
        }
        
        .pricing-header h1 {
            font-family: var(--hh-font-family);
            font-size: var(--hh-type-h1-size, 32px);
            font-weight: var(--hh-type-h1-weight, 700);
            line-height: var(--hh-type-h1-lh, 40px);
            color: var(--hh-color-text-primary, #000000);
            margin-bottom: var(--hh-space-lg, 16px);
        }
        
        .pricing-header p {
            font-family: var(--hh-font-family);
            font-size: var(--hh-type-body-size, 16px);
            line-height: var(--hh-type-body-lh, 24px);
            color: var(--hh-color-text-secondary, #4a4a4a);
            max-width: 500px;
            margin: 0 auto;
        }
        
        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--hh-space-2xl, 32px);
            margin-bottom: 60px;
            max-width: 1000px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .pricing-card {
            background: var(--hh-color-base-white, #ffffff);
            border-radius: var(--hh-radius-lg, 16px);
            border: 2px solid var(--hh-color-borders-default, #e6e6e6);
            padding: var(--hh-space-2xl, 32px) var(--hh-space-xl, 24px);
            position: relative;
            transition: all 0.2s ease;
            height: auto;
            display: flex;
            flex-direction: column;
        }
        
        .pricing-card:hover {
            box-shadow: var(--hh-shadow-lg, 0 8px 24px rgba(0,0,0,0.12));
            transform: translateY(-2px);
        }
        
        .pricing-card.popular {
            border-color: var(--hh-color-brand-sage, #81b29a);
            background: linear-gradient(135deg, var(--hh-color-brand-sage-300, #b3cfc0) 0%, var(--hh-color-base-white, #ffffff) 100%);
            box-shadow: var(--hh-shadow-md, 0 2px 8px rgba(0,0,0,0.08));
        }
        
        .popular-badge {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--hh-color-brand-sage, #81b29a);
            color: var(--hh-color-text-inverse, #ffffff);
            padding: var(--hh-space-sm, 8px) var(--hh-space-xl, 24px);
            border-radius: var(--hh-radius-full, 999px);
            font-size: var(--hh-type-small-size, 14px);
            font-weight: var(--hh-type-small-weight, 400);
            font-family: var(--hh-font-family);
        }
        
        .plan-icon {
            width: 160px;
            height: 160px;
            margin: 0 auto var(--hh-space-xl, 24px);
            display: block;
            border-radius: var(--hh-radius-md, 12px);
        }

        /* Plan-specific styling */
        .pricing-card.starter {
            border-color: var(--hh-color-brand-primary, #e07a5f);
        }

        .pricing-card.starter:hover {
            border-color: var(--hh-color-brand-primary-600, #c35e46);
        }

        .pricing-card.ultra {
            border-color: var(--hh-color-brand-slate, #3d405b);
        }

        .pricing-card.ultra:hover {
            border-color: var(--hh-color-brand-slate-800, #2b2c3f);
        }
        
        .plan-name {
            font-size: var(--hh-type-h2-size, 24px);
            font-weight: var(--hh-type-h2-weight, 600);
            line-height: var(--hh-type-h2-lh, 32px);
            color: var(--hh-color-text-primary, #000000);
            font-family: var(--hh-font-family);
            text-align: center;
            margin-bottom: var(--hh-space-sm, 8px);
        }
        
        .plan-price {
            text-align: center;
            margin-bottom: var(--hh-space-xl, 24px);
        }
        
        .price-amount {
            font-size: var(--hh-type-h1-size, 32px);
            font-weight: var(--hh-type-h1-weight, 700);
            line-height: var(--hh-type-h1-lh, 40px);
            color: var(--hh-color-text-primary, #000000);
            font-family: var(--hh-font-family);
        }
        
        .price-period {
            font-size: var(--hh-type-body-size, 16px);
            color: var(--hh-color-text-secondary, #4a4a4a);
            font-weight: var(--hh-type-body-weight, 400);
            font-family: var(--hh-font-family);
        }
        
        .plan-tokens {
            text-align: center;
            margin-bottom: var(--hh-space-2xl, 32px);
            padding: var(--hh-space-lg, 16px);
            background: var(--hh-color-base-offWhite, #fafafa);
            border-radius: var(--hh-radius-sm, 8px);
            border: 1px solid var(--hh-color-borders-subtle, #f0f0f0);
        }
        
        .tokens-amount {
            font-size: var(--hh-type-h3-size, 20px);
            font-weight: var(--hh-type-h3-weight, 600);
            line-height: var(--hh-type-h3-lh, 28px);
            color: var(--hh-color-text-primary, #000000);
            font-family: var(--hh-font-family);
            display: block;
        }
        
        .tokens-label {
            font-size: var(--hh-type-small-size, 14px);
            color: var(--hh-color-text-secondary, #4a4a4a);
            font-family: var(--hh-font-family);
        }
        
        .plan-description {
            text-align: center;
            margin-bottom: var(--hh-space-2xl, 32px);
            padding: 0;
        }
        
        .plan-description p {
            font-size: var(--hh-type-body-size, 16px);
            line-height: var(--hh-type-body-lh, 24px);
            color: var(--hh-color-text-secondary, #4a4a4a);
            font-family: var(--hh-font-family);
            margin: 0;
        }
        
        .cta-button {
            width: 100%;
            border: none;
            padding: var(--hh-space-lg, 16px) var(--hh-space-xl, 24px);
            border-radius: var(--hh-radius-sm, 8px);
            font-size: var(--hh-type-body-size, 16px);
            font-weight: var(--hh-type-h4-weight, 500);
            font-family: var(--hh-font-family);
            cursor: pointer;
            transition: all 0.2s ease;
            margin-top: var(--hh-space-xl, 24px);
            min-height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        /* Plan-specific button colors */
        .pricing-card.starter .cta-button {
            background: var(--hh-color-brand-primary, #e07a5f);
            color: var(--hh-color-text-inverse, #ffffff);
        }
        
        .pricing-card.starter .cta-button:hover {
            background: var(--hh-color-brand-primary-600, #c35e46);
        }
        
        .pricing-card.pro .cta-button {
            background: var(--hh-color-brand-sage, #81b29a);
            color: var(--hh-color-text-inverse, #ffffff);
        }
        
        .pricing-card.pro .cta-button:hover {
            background: var(--hh-color-brand-sage-700, #5f8c79);
        }
        
        .pricing-card.ultra .cta-button {
            background: var(--hh-color-brand-slate, #3d405b);
            color: var(--hh-color-text-inverse, #ffffff);
        }
        
        .pricing-card.ultra .cta-button:hover {
            background: var(--hh-color-brand-slate-800, #2b2c3f);
        }
        
        .cta-button:disabled {
            background: var(--hh-color-base-stone, #b0b0b0) !important;
            cursor: not-allowed;
        }
        
        /* FAQ Section */
        .faq-section {
            max-width: 800px;
            margin: 0 auto;
        }
        
        .faq-title {
            font-family: var(--hh-font-family);
            font-size: var(--hh-type-h2-size, 24px);
            font-weight: var(--hh-type-h2-weight, 600);
            line-height: var(--hh-type-h2-lh, 32px);
            color: var(--hh-color-text-primary, #000000);
            text-align: center;
            margin-bottom: var(--hh-space-2xl, 32px);
        }
        
        .faq-container {
            display: flex;
            flex-direction: column;
            gap: var(--hh-space-lg, 16px);
        }
        
        .faq-item {
            border: 1px solid var(--hh-color-borders-default, #e6e6e6);
            border-radius: var(--hh-radius-sm, 8px);
            overflow: hidden;
            transition: all 0.2s ease;
        }
        
        .faq-item:hover {
            border-color: var(--hh-color-brand-sage, #81b29a);
        }
        
        .faq-question {
            width: 100%;
            padding: var(--hh-space-lg, 16px) var(--hh-space-xl, 24px);
            background: var(--hh-color-base-white, #ffffff);
            border: none;
            text-align: left;
            font-family: var(--hh-font-family);
            font-size: var(--hh-type-body-size, 16px);
            font-weight: var(--hh-type-h4-weight, 500);
            color: var(--hh-color-text-primary, #000000);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.2s ease;
        }
        
        .faq-question:hover {
            background: var(--hh-color-base-offWhite, #fafafa);
        }
        
        .faq-icon {
            font-size: 20px;
            font-weight: 300;
            color: var(--hh-color-brand-sage, #81b29a);
            transition: transform 0.2s ease;
        }
        
        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }
        
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            background: var(--hh-color-base-offWhite, #fafafa);
        }
        
        .faq-item.active .faq-answer {
            max-height: 200px;
        }
        
        .faq-answer p {
            padding: var(--hh-space-lg, 16px) var(--hh-space-xl, 24px);
            margin: 0;
            font-family: var(--hh-font-family);
            font-size: var(--hh-type-body-size, 16px);
            line-height: var(--hh-type-body-lh, 24px);
            color: var(--hh-color-text-secondary, #4a4a4a);
        }
        
        .loading {
            opacity: 0.6;
            pointer-events: none;
        }
        
        .error-message {
            background: #fee2e2;
            border: 1px solid #fecaca;
            color: #dc2626;
            padding: 12px 16px;
            border-radius: 8px;
            margin-bottom: 20px;
            text-align: center;
        }
        
        .success-message {
            background: #d1fae5;
            border: 1px solid #bbf7d0;
            color: #059669;
            padding: 12px 16px;
            border-radius: 8px;
            margin-bottom: 20px;
            text-align: center;
        }
        
        @media (max-width: 768px) {
            /* Navigation mobile fixes - deferred to mobile.css */
            .navbar-container {
                padding: 0 12px !important;
            }
            
            .navbar-nav {
                gap: 8px !important;
                flex-wrap: nowrap !important;
            }
            
            .nav-link {
                font-size: 14px !important;
                padding: 10px 12px !important;
                min-height: 44px !important;
                display: flex !important;
                align-items: center !important;
            }
            
            .token-counter {
                padding: 8px 12px !important;
                font-size: 12px !important;
                min-height: 44px !important;
            }
            
            .auth-buttons {
                gap: 8px !important;
            }
            
            .login-btn, .logout-btn {
                padding: 10px 16px !important;
                font-size: 14px !important;
                min-height: 44px !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }

            /* Pricing mobile optimizations - enhanced in mobile.css */
            .pricing-container {
                padding: 16px 12px !important;
            }
            
            .pricing-header h1 {
                font-size: 28px !important;
                line-height: 36px !important;
            }
            
            .pricing-header p {
                font-size: 16px !important;
                padding: 0 8px !important;
            }
            
            .pricing-grid {
                grid-template-columns: 1fr !important;
                gap: 24px !important;
                margin-top: 32px !important;
                max-width: 400px !important;
                margin-left: auto !important;
                margin-right: auto !important;
            }
            
            .pricing-card {
                padding: 24px 20px !important;
                margin: 0 auto !important;
                max-width: 360px !important;
                height: auto !important;
                border-radius: 16px !important;
            }
            
            .plan-icon {
                width: 80px !important;
                height: 80px !important;
            }
            
            .cta-button {
                padding: 16px 24px !important;
                font-size: 18px !important;
                font-weight: 600 !important;
                min-height: 56px !important;
            }

        }

        @media (max-width: 480px) {
            /* Ultra-mobile navigation */
            .navbar-nav {
                gap: 6px !important;
            }
            
            .nav-link {
                font-size: 13px !important;
                padding: 8px 10px !important;
            }
            
            .token-counter {
                padding: 6px 10px !important;
                font-size: 11px !important;
            }
            
            /* Ultra-mobile pricing */
            .pricing-container {
                padding: 12px 8px !important;
            }
            
            .pricing-header h1 {
                font-size: 24px !important;
                line-height: 40px !important;
            }
            
            .pricing-header p {
                font-size: 15px !important;
            }
            
            .pricing-grid {
                max-width: 320px !important;
                gap: 20px !important;
            }
            
            .pricing-card {
                padding: 20px 16px !important;
                max-width: 300px !important;
            }
            
            .plan-icon {
                width: 64px !important;
                height: 64px !important;
            }
            
            .price-amount {
                font-size: 30px !important;
                line-height: 36px !important;
            }
            
            .tokens-amount {
                font-size: 18px !important;
            }
            
            .cta-button {
                padding: 16px 20px !important;
                font-size: 16px !important;
                font-weight: 600 !important;
                min-height: 52px !important;
            }
        }
