.app-avatar {
    display: inline-flex; align-items: center; justify-content: center;
    vertical-align: middle; border-radius: 50%; font-weight: 600;
    color: #ffffff; overflow: hidden; flex-shrink: 0; text-transform: uppercase;
    background-color: var(--bs-secondary, #6c757d); 
}
.app-avatar img { width: 100%; height: 100%; object-fit: cover; }
.app-avatar.app-avatar-default { width: 40px; height: 40px; font-size: 1.2rem; }
.app-avatar.app-avatar-small { width: 32px; height: 32px; font-size: 1rem; }
.app-avatar.app-avatar-large { width: 100px; height: 100px; font-size: 3rem; border: 3px solid var(--bs-border-color); }


/* --- START: Landing Page Styles (Inspired by AgentVerse) --- */
.landing-page-body { background-color: var(--bs-body-bg); }
.av-navbar { background-color: var(--bs-tertiary-bg) !important; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
.av-navbar .navbar-brand { font-weight: 600; color: var(--bs-emphasis-color) !important; }
.av-navbar .nav-link { color: var(--bs-secondary-color) !important; font-weight: 500; }
.av-navbar .nav-link:hover, .av-navbar .nav-link.active { color: var(--bs-primary) !important; }
.av-hero-section { padding: 8rem 1rem; text-align: center; background-size: cover; background-position: center; position: relative; color: #fff !important; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7); }
.av-hero-section::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1; }
.av-hero-section .container { position: relative; z-index: 2; }
.av-hero-section h1 { color: #fff !important; text-shadow: 0 2px 4px rgba(0,0,0,0.85), 0 4px 15px rgba(0,0,0,0.5); }
.av-hero-section .lead { color: #e9ecef !important; text-shadow: 0 1px 3px rgba(0,0,0,0.8); max-width: 800px; margin: 1.5rem auto 2.5rem auto; }
.av-section { padding: 6rem 1rem; }
.av-section-title { text-align: center; margin-bottom: 4rem; font-size: 2.75rem; font-weight: 700; color: var(--bs-emphasis-color); }
.av-section-subtitle { text-align: center; font-size: 1.2rem; color: var(--bs-secondary-color); max-width: 700px; margin-left: auto; margin-right: auto; margin-top: -3rem; margin-bottom: 4rem; }
.av-section-alt-bg { background-color: var(--bs-tertiary-bg); }
.av-feature-card { border: none; background: transparent; text-align: center; }
.av-feature-icon { font-size: 3rem; margin-bottom: 1.5rem; color: var(--bs-primary); }
.av-feature-card .card-title { font-size: 1.25rem; font-weight: 600; color: var(--bs-emphasis-color); }
.av-feature-card .card-text { color: var(--bs-secondary-color); }
.av-cta-section { background-color: var(--bs-primary-bg-subtle); }
.av-footer { padding: 3rem 1rem; background-color: var(--bs-tertiary-bg); color: var(--bs-secondary-color); text-align: center; }
/* --- END: Landing Page Styles --- */
