/**
 * SUITE Docs Shared Styles
 * Premium Dark Theme - Matches homepage, profile, factory, become-operator
 * Single source of truth for all docs pages styling
 */

/* ============================================
   CSS VARIABLES - DARK PREMIUM THEME
   ============================================ */
:root {
    /* Dark Premium Palette */
    --bg-deep: #0a0a0f;
    --bg-elevated: #12121a;
    --bg-surface: #1a1a28;
    --bg-surface-hover: #22222e;

    /* Warm Accents */
    --accent-warm: #ff8c42;
    --accent-amber: #fbbf24;
    --accent-coral: #ff6b6b;
    --accent-purple: #8b5cf6;
    --accent-blue: #3b82f6;

    /* Text Colors */
    --text-primary: #f5f5f7;
    --text-secondary: #a1a1aa;
    --text-muted: #71717a;

    /* Glass Effects */
    --glass-bg: rgba(255, 255, 255, 0.03);
    --glass-bg-hover: rgba(255, 255, 255, 0.06);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-border-hover: rgba(255, 255, 255, 0.15);

    /* Status Colors */
    --success: #22c55e;
    --success-muted: rgba(34, 197, 94, 0.15);
    --info: #3b82f6;
    --info-muted: rgba(59, 130, 246, 0.15);
    --warning: #f59e0b;
    --warning-muted: rgba(245, 158, 11, 0.15);
    --danger: #ef4444;
    --danger-muted: rgba(239, 68, 68, 0.15);

    /* Glow Effects */
    --glow-warm: rgba(255, 140, 66, 0.4);
    --glow-amber: rgba(251, 191, 36, 0.3);
}

/* Base body styles for docs pages */
body {
    font-family: 'Nunito', sans-serif;
    background: var(--bg-deep);
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
}

/* Ambient floating gradient background */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse 80% 50% at 20% 40%, rgba(255, 140, 66, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 80% 60%, rgba(99, 102, 241, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
    animation: ambientFloat 20s ease-in-out infinite alternate;
}

@keyframes ambientFloat {
    0% { transform: translate(0, 0) scale(1); opacity: 0.8; }
    50% { transform: translate(-20px, 20px) scale(1.05); opacity: 1; }
    100% { transform: translate(20px, -10px) scale(0.95); opacity: 0.9; }
}

/* Canvas container - ensures centered alignment */
.canvas-container {
    width: 100% !important;
    padding: 100px 24px 40px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 1;
}

/* Main docs wrapper - Glass Card */
.docs-container {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 32px;
    box-shadow: 0 16px 80px rgba(0, 0, 0, 0.4);
    padding: 30px !important;
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 500px;
    margin: 0 auto !important;
    display: flex !important;
    gap: 30px !important;
    box-sizing: border-box !important;
}

/* Sidebar */
.docs-sidebar {
    width: 220px !important;
    min-width: 220px !important;
    flex-shrink: 0 !important;
    border-right: 1px solid var(--glass-border);
    padding-right: 24px !important;
}

/* Main content area - takes remaining space */
.docs-content {
    flex: 1 !important;
    min-width: 0 !important;
}

.sidebar-section {
    margin-bottom: 24px;
}

.sidebar-title {
    font-size: 0.7rem !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9rem !important;
    transition: all 0.2s;
    margin-bottom: 4px;
}

.sidebar-link:hover {
    background: rgba(255, 140, 66, 0.1);
    color: var(--accent-warm);
}

.sidebar-link.active {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
    font-weight: 700;
}

/* Main content area */
.docs-content {
    flex: 1;
    min-width: 0;
}

.docs-content h1 {
    font-size: 2rem;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 8px;
}

.docs-content h2 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 32px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(255, 140, 66, 0.3);
}

.docs-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-secondary);
    margin: 20px 0 12px;
}

.docs-content p,
.docs-content li {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.docs-content a {
    color: var(--accent-warm);
    text-decoration: none;
    transition: color 0.2s;
}

.docs-content a:hover {
    color: var(--accent-amber);
}

/* Shared components */
.highlight-box {
    background: rgba(255, 140, 66, 0.08);
    border: 1px solid rgba(255, 140, 66, 0.2);
    border-radius: 16px;
    padding: 20px;
    margin: 20px 0;
}

.highlight-box h4 {
    margin: 0 0 12px 0;
    color: var(--accent-warm);
    font-size: 1rem;
}

.highlight-box p {
    color: var(--text-secondary);
}

/* Highlight Box Variants */
.highlight-box--warm {
    background: rgba(255, 140, 66, 0.08);
    border-color: rgba(255, 140, 66, 0.25);
}

.highlight-box--warm h4 {
    color: var(--accent-warm);
}

.highlight-box--success {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.25);
}

.highlight-box--success h4 {
    color: var(--success);
}

.highlight-box--info {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.25);
}

.highlight-box--info h4 {
    color: var(--info);
}

.highlight-box--purple {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.25);
}

.highlight-box--purple h4 {
    color: var(--accent-purple);
}

.flow-diagram {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 20px;
    color: #a6e3a1;
    font-family: monospace;
    font-size: 0.85rem;
    line-height: 1.6;
    overflow-x: auto;
    margin: 16px 0;
}

/* Responsive */
@media (max-width: 768px) {
    .docs-container {
        flex-direction: column;
    }

    .docs-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--glass-border);
        padding-right: 0;
        padding-bottom: 20px;
    }
}

/* ============================================
   ECOSYSTEM OVERVIEW PAGE STYLES
   ============================================ */

/* Interactive Banner */
.interactive-banner {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    flex-wrap: wrap;
    gap: 16px;
}

.interactive-banner-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: white;
    margin-bottom: 4px;
}

.interactive-banner-desc {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9);
}

.interactive-banner-btn {
    background: white;
    color: var(--bg-deep);
    padding: 12px 24px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.interactive-banner-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Ecosystem Layout */
.ecosystem-layout {
    display: flex;
    gap: 24px;
}

.ecosystem-main {
    flex: 1;
    min-width: 0;
}

.journey-sidebar {
    width: 180px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    height: fit-content;
    position: sticky;
    top: 100px;
}

.journey-sidebar-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.journey-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.journey-tab:hover {
    background: rgba(255, 140, 66, 0.1);
    color: var(--accent-warm);
}

.journey-tab.active {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
}

.tab-icon {
    font-size: 1rem;
}

/* Entity Grid */
.entity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
    margin: 24px 0;
}

.entity-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.entity-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    border-color: var(--glass-border-hover);
}

.entity-icon {
    font-size: 2rem;
    margin-bottom: 12px;
}

.entity-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.entity-subtitle {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.entity-desc {
    font-size: 0.8rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

/* Different entity card colors */
.entity-card.user {
    border-top: 3px solid #3b82f6;
}

.entity-card.treasury {
    border-top: 3px solid #22c55e;
}

.entity-card.token {
    border-top: 3px solid #f59e0b;
}

.entity-card.appstore {
    border-top: 3px solid #8b5cf6;
}

.entity-card.discord {
    border-top: 3px solid #ef4444;
}

.entity-card.charity {
    border-top: 3px solid #ec4899;
}

.entity-card.wallet {
    border-top: 3px solid #06b6d4;
}

.entity-card.developer {
    border-top: 3px solid #10b981;
}

.entity-card.governance {
    border-top: 3px solid #6366f1;
}

/* Journey Flow */
.journey-flow {
    display: none;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 20px;
    margin: 24px 0;
}

.journey-flow.active {
    display: block;
}

.journey-flow-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 16px;
}

.journey-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 8px 0;
}

.journey-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 80px;
}

.step-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    background: var(--bg-surface);
    border: 1px solid var(--glass-border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.step-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-secondary);
    text-align: center;
}

.journey-arrow {
    color: var(--accent-warm);
    font-size: 1.2rem;
    font-weight: bold;
}

/* Connection List */
.connection-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 16px 0;
}

.connection-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-elevated);
    border-radius: 12px;
    border: 1px solid var(--glass-border);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}

.connection-arrow {
    color: var(--accent-warm);
    font-weight: bold;
}

/* Quick Links */
.quick-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0;
}

.quick-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--bg-surface);
    border-radius: 12px;
    border: 1px solid var(--glass-border);
    text-decoration: none;
    color: var(--text-primary);
    font-weight: 600;
    transition: all 0.2s ease;
}

.quick-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
    background: var(--bg-surface-hover);
}

.quick-link-icon {
    font-size: 1.2rem;
}

/* Responsive */
@media (max-width: 900px) {
    .ecosystem-layout {
        flex-direction: column;
    }

    .journey-sidebar {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        position: static;
    }

    .entity-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   QUICK START PAGE STYLES
   ============================================ */

/* Step Cards */
.step-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 20px;
    border: 1px solid var(--glass-border);
    position: relative;
}

.step-number {
    position: absolute;
    top: -12px;
    left: 24px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
}

.step-title {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted);
    margin-bottom: 12px;
    padding-top: 8px;
}

.step-content {
    color: var(--text-secondary);
}

.step-content p {
    margin-bottom: 12px;
}

.step-content ul {
    margin: 12px 0;
    padding-left: 0;
    list-style: none;
}

.step-content ul li {
    margin-bottom: 8px;
    padding-left: 0;
}

/* Command Preview */
.command-preview {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
    margin: 12px 0;
    overflow-x: auto;
    color: var(--text-secondary);
}

.command-preview .cmd {
    color: var(--accent-warm);
    font-weight: 700;
}

.command-preview .param {
    color: var(--accent-purple);
}

.command-preview .comment {
    color: var(--text-muted);
}

/* Info Box */
.info-box {
    background: rgba(255, 140, 66, 0.08);
    border-left: 4px solid var(--accent-warm);
    border-radius: 8px;
    padding: 16px 20px;
    margin: 20px 0;
}

.info-box-title {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.info-box ul {
    margin: 10px 0 0 20px;
    padding-left: 0;
    list-style: disc;
}

.info-box ul li {
    margin-bottom: 6px;
}

/* Button Link */
.btn-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    color: white;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px var(--glow-warm);
}

.btn-link.btn-secondary {
    background: var(--bg-surface);
    color: var(--text-primary);
    border: 1px solid var(--glass-border);
}

.btn-link.btn-secondary:hover {
    border-color: var(--accent-warm);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
}

/* Bottom Links */
.bottom-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0;
}

/* Subtitle */
.subtitle {
    font-size: 1rem;
    color: var(--text-secondary);
    margin-bottom: 24px;
}

/* ============================================
   DEVELOPER JOURNEY CARDS
   ============================================ */

.journey-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 24px 0;
}

.journey-card {
    background: var(--bg-elevated);
    border-radius: 20px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    transition: all 0.3s ease;
    text-align: left;
}

.journey-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.journey-icon {
    font-size: 1.8rem;
    margin-bottom: 10px;
    text-align: left;
}

.journey-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
    text-align: left;
}

.journey-desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 14px;
    text-align: left;
}

.journey-card .journey-steps {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: left !important;
    align-items: flex-start !important;
}

.docs-content .journey-card .journey-steps li,
.journey-card .journey-steps li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.85rem !important;
    color: var(--text-secondary) !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
    width: 100% !important;
}

.docs-content .journey-card .journey-steps .step-num,
.journey-card .journey-steps .step-num {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber)) !important;
    color: #000 !important;
    min-width: 20px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    flex-shrink: 0 !important;
}

/* Info Box title fix */
.info-box h4 {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 8px 0;
}

/* CTA Section */
.cta-section {
    background: rgba(255, 140, 66, 0.08);
    border: 1px solid rgba(255, 140, 66, 0.2);
    border-radius: 20px;
    padding: 32px;
    text-align: center;
    margin-top: 32px;
}

.cta-section h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 8px 0;
}

.cta-section p {
    color: var(--text-secondary);
    margin: 0 0 20px 0;
}

.cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    color: white;
    border-radius: 14px;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px var(--glow-warm);
}

/* Section Title */
.section-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 32px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(255, 140, 66, 0.3);
}

/* Responsive for journey cards */
@media (max-width: 1100px) {
    .journey-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .journey-cards {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   EARN SUITE PAGE STYLES
   ============================================ */

/* Earning Method Cards */
.earn-method {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.earn-method:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.earn-icon {
    font-size: 2rem;
    width: 56px;
    height: 56px;
    background: rgba(255, 140, 66, 0.1);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.earn-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.earn-desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 8px;
}

.earn-reward {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    font-size: 0.9rem;
}

/* Steps List */
.steps-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: none !important;
}

.docs-content .steps-list li,
.steps-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    background: var(--bg-elevated);
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 12px !important;
    border: 1px solid var(--glass-border);
}

.docs-content .steps-list .step-num,
.steps-list .step-num {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber)) !important;
    color: #000 !important;
    min-width: 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    flex-shrink: 0 !important;
}

/* ============================================
   REVENUE & FEES PAGE STYLES
   ============================================ */

/* Fee Table */
.fee-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-elevated);
    border-radius: 16px;
    overflow: hidden;
    margin: 16px 0 24px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    border: 1px solid var(--glass-border);
}

.fee-table thead {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
}

.fee-table th {
    color: #000;
    font-weight: 700;
    font-size: 0.85rem;
    text-align: left;
    padding: 14px 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fee-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--glass-border);
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.fee-table tbody tr:hover {
    background: rgba(255, 140, 66, 0.05);
}

.fee-table tbody tr:last-child td {
    border-bottom: none;
}

/* Fee Badges */
.fee-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.8rem;
}

.fee-badge.fee-green {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
}

.fee-badge.fee-orange {
    background: rgba(255, 149, 0, 0.15);
    color: #ff9500;
}

.fee-badge.fee-purple {
    background: rgba(139, 92, 246, 0.15);
    color: #7c3aed;
}

.fee-badge.fee-blue {
    background: rgba(59, 130, 246, 0.15);
    color: #2563eb;
}

/* Revenue Grid */
.revenue-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.revenue-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.revenue-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.revenue-card h4 {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 10px 0;
}

.revenue-card p {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin: 0 0 8px 0;
}

.revenue-card p:last-child {
    margin-bottom: 0;
}

/* Revenue grid responsive */
@media (max-width: 700px) {
    .revenue-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   FLOWS & ACTIONS PAGE STYLES
   ============================================ */

.flow-section {
    margin-bottom: 32px;
}

.flow-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.flow-section-header h2 {
    margin: 0;
    border: none;
    padding: 0;
}

.flow-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.flow-badge.admin {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.15));
    color: #dc2626;
}

.flow-badge.user {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(22, 163, 74, 0.15));
    color: #16a34a;
}

.flow-dropdown {
    background: var(--bg-elevated);
    border-radius: 12px;
    border: 1px solid var(--glass-border);
    margin-bottom: 12px;
    overflow: hidden;
}

.flow-dropdown-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    cursor: pointer;
    transition: background 0.2s;
}

.flow-dropdown-header:hover {
    background: var(--glass-bg-hover);
}

.flow-dropdown-icon {
    font-size: 1.3rem;
}

.flow-dropdown-title {
    flex: 1;
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-primary);
}

.flow-dropdown-toggle {
    font-size: 0.8rem;
    color: var(--text-muted);
    transition: transform 0.2s;
}

.flow-dropdown.open .flow-dropdown-toggle {
    transform: rotate(180deg);
}

.flow-dropdown-content {
    display: none;
    padding: 0 20px 20px 20px;
    border-top: 1px solid var(--glass-border);
}

.flow-dropdown.open .flow-dropdown-content {
    display: block;
}

.flow-dropdown-content p {
    color: var(--text-secondary);
    margin: 12px 0;
    font-size: 0.95rem;
}

.flow-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 16px 0;
    padding: 16px;
    background: var(--bg-surface);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
}

.flow-step {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    color: #fff;
    padding: 8px 14px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.85rem;
}

.flow-step.admin-step {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

.flow-arrow {
    color: var(--text-muted);
    font-size: 1.1rem;
}

.flow-dropdown-content ul {
    margin: 12px 0 0 20px;
    padding: 0;
}

.flow-dropdown-content li {
    margin-bottom: 8px;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.flow-dropdown-content li strong {
    color: var(--text-primary);
}

.quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.quick-action {
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 10px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.quick-action-icon {
    font-size: 1.2rem;
}

.quick-action-text {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--accent-purple);
}

/* ============================================
   AI FLEET PAGE STYLES
   ============================================ */

/* Concept Cards */
.concept-card {
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 16px;
    padding: 20px;
    margin: 20px 0;
}

.concept-card h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--accent-purple);
}

.concept-card p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
}

.concept-card.green {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.2);
}

.concept-card.green h4 {
    color: var(--success);
}

.concept-card.info {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.2);
}

.concept-card.info h4 {
    color: var(--info);
}

/* Fleet Diagram / Flywheel */
.fleet-diagram {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 30px;
    margin: 24px 0;
    text-align: center;
}

.diagram-title {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin-bottom: 24px;
}

.flow-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.flow-box {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 20px 24px;
    min-width: 120px;
    transition: all 0.3s ease;
}

.flow-box:hover {
    transform: translateY(-4px);
    background: var(--glass-bg-hover);
}

.flow-box.highlight {
    background: linear-gradient(135deg, rgba(255, 140, 66, 0.2), rgba(255, 107, 107, 0.2));
    border-color: rgba(255, 140, 66, 0.4);
}

.flow-box.green {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(16, 185, 129, 0.2));
    border-color: rgba(34, 197, 94, 0.4);
}

.flow-box.purple {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(99, 102, 241, 0.2));
    border-color: rgba(139, 92, 246, 0.4);
}

.flow-icon {
    font-size: 1.5rem;
    font-weight: 800;
    color: white;
    margin-bottom: 8px;
}

.flow-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: white;
}

.flow-sublabel {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 4px;
}

.flow-container > .flow-arrow {
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.5rem;
    font-weight: bold;
}

/* Yield Example Box */
.yield-example {
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 16px;
    padding: 20px;
    margin: 20px 0;
}

.yield-example h4 {
    margin: 0 0 12px 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--success);
}

.yield-example .calc {
    background: var(--bg-deep);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
    color: #a6e3a1;
    line-height: 1.8;
    white-space: pre-line;
}

/* Stats Row */
.stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 24px 0;
}

.stat-box {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.stat-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 140, 66, 0.15);
    border-color: var(--glass-border-hover);
}

.stat-box .value {
    font-size: 1.8rem;
    font-weight: 900;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat-box .label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-top: 4px;
}

@media (max-width: 700px) {
    .stats-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* App Grid */
.app-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.app-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
    position: relative;
}

.app-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.app-card .emoji {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.app-card .name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.app-card .desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 12px;
}

.app-card .status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.app-card .status.live {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
}

.app-card .status.building {
    background: rgba(255, 149, 0, 0.15);
    color: #ff9500;
}

@media (max-width: 900px) {
    .app-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .app-grid {
        grid-template-columns: 1fr;
    }

    .flow-container {
        flex-direction: column;
    }

    .flow-container > .flow-arrow {
        transform: rotate(90deg);
    }
}

/* ============================================
   EARNING PAGE STYLES
   ============================================ */

/* Credit Card */
.credit-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    border-radius: 20px;
    padding: 24px;
    margin: 24px 0;
}

.credit-icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 900;
    color: white;
    flex-shrink: 0;
}

.credit-info h3 {
    margin: 0 0 8px 0;
    font-size: 1.2rem;
    font-weight: 800;
    color: white;
}

.credit-info p {
    margin: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

/* Earn Grid */
.earn-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.earn-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.earn-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.earn-card .icon {
    font-size: 2rem;
    margin-bottom: 12px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.earn-card .title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.earn-card .desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 12px;
}

.earn-card .reward {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    font-size: 0.9rem;
}

/* Earn card colored border variants */
.earn-card--success {
    border-left: 4px solid var(--success);
}

.earn-card--success .title {
    color: var(--success);
}

.earn-card--warning {
    border-left: 4px solid var(--warning);
}

.earn-card--warning .title {
    color: var(--warning);
}

/* Reward badge variants */
.reward--success {
    background: rgba(34, 197, 94, 0.15) !important;
    color: var(--success) !important;
    -webkit-text-fill-color: var(--success) !important;
    padding: 4px 10px;
    border-radius: 6px;
}

.reward--warning {
    background: rgba(245, 158, 11, 0.15) !important;
    color: var(--warning) !important;
    -webkit-text-fill-color: var(--warning) !important;
    padding: 4px 10px;
    border-radius: 6px;
}

/* Utility classes */
.code-block {
    font-family: monospace;
    font-size: 0.9rem;
    line-height: 1.8;
}

.success-text {
    margin-top: 12px;
    color: var(--success);
}

@media (max-width: 700px) {
    .earn-grid {
        grid-template-columns: 1fr;
    }

    .credit-card {
        flex-direction: column;
        text-align: center;
    }
}

/* Use Case List */
.use-case-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 20px 0;
}

.use-case {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--bg-elevated);
    border-radius: 12px;
    padding: 14px 16px;
    border: 1px solid var(--glass-border);
}

.use-case .emoji {
    font-size: 1.3rem;
}

.use-case .name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}

@media (max-width: 700px) {
    .use-case-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Steps Container */
.steps-container {
    margin: 20px 0;
}

.step-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--bg-elevated);
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 12px;
    border: 1px solid var(--glass-border);
}

.step-item .step-num {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
    min-width: 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 800;
    flex-shrink: 0;
}

.step-item .step-content strong {
    display: block;
    font-size: 1rem;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.step-item .step-content span {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

/* ============================================
   SAFETY PAGE STYLES
   ============================================ */

.safety-section {
    margin-bottom: 32px;
}

.safety-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 16px 0;
    border: 1px solid var(--glass-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.safety-card h3 {
    margin: 0 0 12px 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-primary);
}

.safety-card p {
    margin: 0 0 12px 0;
}

.safety-card ul {
    margin: 12px 0 0 0;
    padding-left: 20px;
}

.safety-card li {
    margin-bottom: 8px;
}

/* ============================================
   WHITE-LABEL APPS PAGE STYLES
   ============================================ */

.hero-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ff9500, #ff6b9d);
    color: white;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.concept-card.purple {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.2);
}

.concept-card.purple h4 {
    color: var(--accent-purple);
}

.business-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.business-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.business-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 140, 66, 0.15);
    border-color: var(--accent-warm);
}

.business-card .emoji {
    font-size: 2rem;
    margin-bottom: 12px;
}

.business-card .type {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.business-card .example {
    font-size: 0.8rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

@media (max-width: 900px) {
    .business-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .business-grid {
        grid-template-columns: 1fr;
    }
}

/* Revenue Box */
.revenue-box {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 30px;
    margin: 24px 0;
    text-align: center;
}

.revenue-title {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin-bottom: 24px;
}

.revenue-split {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.revenue-you, .revenue-suite {
    text-align: center;
}

.revenue-you .percent {
    font-size: 3rem;
    font-weight: 900;
    background: linear-gradient(135deg, #22c55e, #10b981);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.revenue-suite .percent {
    font-size: 2rem;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.7);
}

.revenue-split .label {
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 8px;
}

.revenue-divider {
    width: 2px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
}

.revenue-note {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 20px;
}

/* Comparison Table */
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: var(--bg-elevated);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    border: 1px solid var(--glass-border);
}

.comparison-table th {
    background: var(--bg-surface);
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text-primary);
    border-bottom: 1px solid var(--glass-border);
}

.comparison-table th.highlight-col {
    background: rgba(255, 140, 66, 0.15);
    color: var(--accent-warm);
}

.comparison-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--glass-border);
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.comparison-table td.highlight-col {
    background: rgba(255, 140, 66, 0.05);
}

.comparison-table .check {
    color: var(--success);
    font-weight: 700;
}

.comparison-table .x {
    color: var(--danger);
}

/* Process Steps */
.process-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 24px 0;
}

.process-step {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.process-step:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 140, 66, 0.15);
    border-color: var(--glass-border-hover);
}

.process-step .step-num {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 12px;
}

.process-step .step-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.process-step .step-desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

@media (max-width: 900px) {
    .process-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .process-steps {
        grid-template-columns: 1fr;
    }
}

/* Testimonial */
.testimonial {
    background: rgba(139, 92, 246, 0.08);
    border-radius: 20px;
    padding: 30px;
    margin: 24px 0;
    border-left: 4px solid var(--accent-purple);
}

.testimonial-quote {
    font-size: 1.05rem;
    font-style: italic;
    color: var(--text-primary);
    line-height: 1.7;
    margin-bottom: 16px;
}

.testimonial-author {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
}

.testimonial-role {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

/* CTA Box */
.cta-box {
    background: rgba(255, 140, 66, 0.08);
    border: 1px solid rgba(255, 140, 66, 0.2);
    border-radius: 20px;
    padding: 32px;
    text-align: center;
    margin: 32px 0;
}

.cta-box h3 {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 8px 0;
}

.cta-box p {
    color: var(--text-secondary);
    margin: 0 0 20px 0;
}

.cta-box .cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral));
    color: white;
    border-radius: 14px;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cta-box .cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px var(--glow-warm);
}

/* Page Navigation (prev/next links at bottom of docs pages) */
.docs-page-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--glass-border);
}

.docs-page-nav .prev-link,
.docs-page-nav .next-link {
    color: var(--accent-warm);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.docs-page-nav .prev-link:hover,
.docs-page-nav .next-link:hover {
    color: var(--accent-amber);
}

/* ============================================
   REVENUE PAGE STYLES
   ============================================ */

.revenue-flow {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    padding: 30px;
    margin: 24px 0;
}

.revenue-flow .flow-title {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin-bottom: 24px;
    text-align: center;
}

.flow-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.flow-row:last-child {
    margin-bottom: 0;
}

.flow-item {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 16px 24px;
    text-align: center;
    min-width: 100px;
}

.flow-item.highlight {
    background: linear-gradient(135deg, rgba(255, 149, 0, 0.3), rgba(255, 107, 157, 0.3));
    border-color: rgba(255, 149, 0, 0.4);
}

.flow-item .value {
    font-size: 1.2rem;
    font-weight: 800;
    color: white;
}

.flow-item .label {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 4px;
}

.flow-row .flow-arrow {
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.3rem;
    font-weight: bold;
}

/* Fee Grid */
.fee-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.fee-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.fee-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--glass-border-hover);
}

.fee-card .title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.fee-card .rate {
    display: inline-block;
    background: rgba(34, 197, 94, 0.15);
    color: var(--success);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.fee-card .rate.orange {
    background: rgba(255, 140, 66, 0.15);
    color: var(--accent-warm);
}

.fee-card .desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

@media (max-width: 700px) {
    .fee-grid {
        grid-template-columns: 1fr;
    }
}

/* Example Box */
.example-box {
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 16px;
    padding: 20px;
    margin: 20px 0;
}

.example-box h4 {
    margin: 0 0 12px 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--success);
}

.example-box .calc {
    background: var(--bg-deep);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
    color: #a6e3a1;
    line-height: 1.8;
    white-space: pre-line;
}

/* ============================================
   SYSTEMS PAGE STYLES
   ============================================ */

.admin-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-left: 12px;
    vertical-align: middle;
}

.arch-diagram {
    background: var(--bg-elevated);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 24px;
    margin: 20px 0;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #cdd6f4;
    overflow-x: auto;
    white-space: pre;
}

.arch-diagram .title {
    display: block;
    text-align: center;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 2px;
    margin-bottom: 16px;
    font-size: 0.75rem;
}

.arch-diagram .comment {
    color: #6c7086;
}

.arch-diagram .highlight {
    color: #89b4fa;
    font-weight: 700;
}

.arch-diagram .orange {
    color: #fab387;
}

.arch-diagram .purple {
    color: #cba6f7;
}

.component-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.component-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
}

.component-card h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary);
}

.component-card p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

@media (max-width: 700px) {
    .component-grid {
        grid-template-columns: 1fr;
    }
}

/* Data Table */
.data-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    background: var(--bg-elevated);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    border: 1px solid var(--glass-border);
}

.data-table th {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-amber));
    color: #000;
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 0.85rem;
}

.data-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--glass-border);
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.data-table tbody tr:hover {
    background: rgba(255, 140, 66, 0.05);
}

/* Tech Badges */
.tech-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    margin-right: 6px;
    margin-bottom: 4px;
}

.tech-badge.tech-frontend {
    background: rgba(59, 130, 246, 0.15);
    color: #2563eb;
}

.tech-badge.tech-backend {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
}

.tech-badge.tech-ai {
    background: rgba(139, 92, 246, 0.15);
    color: #7c3aed;
}

.tech-badge.tech-blockchain {
    background: rgba(255, 149, 0, 0.15);
    color: #ff9500;
}

/* ============================================
   GOVERNANCE PAGE STYLES
   ============================================ */

.power-example {
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 16px;
    padding: 20px;
    margin: 20px 0;
}

.power-example h4 {
    margin: 0 0 12px 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--accent-purple);
}

.power-example .calc {
    background: var(--bg-deep);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
    color: #cdd6f4;
    line-height: 1.8;
    white-space: pre-line;
}

.power-example .calc .highlight {
    color: #a6e3a1;
    font-weight: 700;
}

.vote-types {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 20px 0;
}

.vote-type {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--glass-border);
    transition: all 0.2s ease;
}

.vote-type:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.15);
    border-color: var(--glass-border-hover);
}

.vote-type .icon {
    font-size: 2rem;
    margin-bottom: 12px;
}

.vote-type .title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.vote-type .desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

@media (max-width: 700px) {
    .vote-types {
        grid-template-columns: 1fr;
    }
}

.gov-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 16px 0;
    border: 1px solid var(--glass-border);
    border-left: 4px solid var(--accent-warm);
}

.gov-card h4 {
    margin: 0 0 10px 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-primary);
}

.gov-card p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ============================================
   CONTENT POLICY PAGE STYLES
   ============================================ */

.policy-card {
    background: var(--bg-elevated);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 16px 0;
    border: 1px solid var(--glass-border);
}

.policy-card h4 {
    margin: 0 0 10px 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-primary);
}

.policy-card p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

.policy-card.success {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.2);
    border-left: 4px solid var(--success);
}

.policy-card.success h4 {
    color: var(--success);
}

.policy-card.danger {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.2);
    border-left: 4px solid var(--danger);
}

.policy-card.danger h4 {
    color: var(--danger);
}

/* ============================================
   DARK THEME NAV OVERRIDE
   ============================================ */

/* Override nav styles for docs pages */
body .nav-inner {
    background: rgba(18, 18, 26, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(20px);
}

body .nav-link {
    color: var(--text-secondary) !important;
}

body .nav-link:hover {
    color: var(--accent-warm) !important;
}

body .nav-link.active {
    color: var(--text-primary) !important;
}

body .nav-cta {
    background: linear-gradient(135deg, var(--accent-warm), var(--accent-coral)) !important;
}

/* Mobile menu dark theme */
@media (max-width: 768px) {
    body .mobile-menu {
        background: var(--bg-elevated) !important;
        border: 1px solid var(--glass-border) !important;
    }

    body .mobile-nav-link {
        color: var(--text-secondary) !important;
    }

    body .mobile-nav-link:hover {
        background: rgba(255, 140, 66, 0.1) !important;
        color: var(--accent-warm) !important;
    }
}