:root {
    color-scheme: light;
    --bs-primary: #28654f;
    --bs-primary-rgb: 40, 101, 79;
    --bs-link-color: #28654f;
    --bs-link-hover-color: #194a38;
    --page-background: #f8f8f3;
    --surface-background: #ffffff;
    --surface-border: #e5e6dc;
    --brand-color: #28654f;
    --brand-soft: #edf3e9;
}

[data-theme="dark"] {
    color-scheme: dark;
    --page-background: #0f1b18;
    --surface-background: #1e2d28;
    --surface-border: #34463e;
    --brand-soft: #263c31;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--page-background);
}

.site-navbar,
.study-card,
.site-footer {
    background: var(--surface-background);
}

.site-navbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    border-bottom: 1px solid var(--surface-border);
    backdrop-filter: blur(16px);
    background: color-mix(in srgb, var(--surface-background) 94%, transparent);
}

.navbar-brand,
.nav-link {
    color: var(--bs-body-color);
}

.navbar-brand:hover,
.nav-link:hover {
    color: var(--brand-color);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    letter-spacing: -0.025em;
}

.brand-mark {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    color: #fff;
    background: var(--brand-color);
    border-radius: 0.7rem;
    font-size: 1rem;
}

.navigation-menu-toggle {
    display: grid;
    place-items: center;
    min-width: 44px;
    min-height: 44px;
    font-size: 1.25rem;
}

.navigation-menu-toggle:focus-visible {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--brand-color) 20%, transparent);
}

.navigation-menu .dropdown-menu {
    min-width: 12rem;
    padding: 0.5rem;
    border-color: var(--surface-border);
    background: var(--surface-background);
}

.navigation-menu .dropdown-item {
    padding: 0.6rem 0.75rem;
    border-radius: 0.35rem;
}

.header-toolbar {
    flex-wrap: nowrap !important;
    gap: 0.5rem;
}

.header-toolbar .navbar-brand {
    min-width: 0;
    margin-right: 0;
}

.header-toolbar .brand-mark,
.header-toolbar .profile-button,
.header-toolbar .navigation-menu {
    flex-shrink: 0;
}

.header-toolbar .notification-bell {
    min-width: 44px;
    min-height: 44px;
    flex-shrink: 0;
}

.navbar-actions.show {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.header-actions-menu .dropdown-menu {
    width: 16rem;
    max-width: calc(100vw - 1.5rem);
}

#installFeedback:empty {
    display: none;
}

#headerStateFeedback:empty {
    display: none;
}

.navbar-actions #headerStateFeedback {
    flex-basis: 100%;
}

.navbar-actions #installFeedback {
    flex-basis: 100%;
    text-align: end;
}

@media (max-width: 991.98px) {
    .site-navbar .navbar-brand {
        font-size: 1rem;
        margin-right: 0.25rem;
    }

    .header-toolbar .header-brand-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    @media (max-width: 575.98px) {
        .header-toolbar .header-brand-title {
            display: none;
        }

        .header-toolbar .navbar-brand {
            flex: 1;
        }
    }

    .navbar-actions #subscribeButton,
    .navbar-actions #installFeedback,
    .navbar-actions #headerStateFeedback {
        grid-column: 1 / -1;
    }

    .navbar-actions #installFeedback {
        font-size: 0.75rem;
        line-height: 1.3;
        text-align: start;
    }
}

.subscribe-modal .modal-content {
    color: var(--bs-body-color);
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
}

.notification-modal .modal-content {
    color: var(--bs-body-color);
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
    border-radius: 1rem;
}

.notification-header {
    gap: .75rem;
}

.notification-header-title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.notification-header-actions {
    margin-left: auto;
    flex-shrink: 0;
}

.notification-header-actions .btn-close {
    margin: 0;
}

.saved-category { cursor: pointer; list-style: none; gap: .5rem; }
.saved-category::-webkit-details-marker { display: none; }
details[open] > .saved-category .bi-chevron-right { transform: rotate(90deg); }
.saved-video-thumbnail { width: 110px; flex-shrink: 0; }
.saved-video-thumbnail img { width: 100%; border-radius: .5rem; }
.saved-item-content { min-width: 0; overflow-wrap: anywhere; }
.saved-highlight { background: #fff2b3; color: #292929; padding: .5rem; border-radius: .25rem; }

.notification-bell {
    position: relative;
}

.notification-badge {
    position: absolute;
    top: -0.45rem;
    right: -0.45rem;
    display: grid;
    min-width: 1.2rem;
    height: 1.2rem;
    place-items: center;
    padding-inline: 0.25rem;
    color: #fff;
    background: #dc3545;
    border: 2px solid var(--surface-background);
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
}

.notification-list,
.notification-preference-list {
    display: grid;
    gap: 0.75rem;
}

.notification-item,
.notification-category {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    color: var(--bs-body-color);
    text-align: left;
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
    border-radius: 0.8rem;
}

.notification-item {
    cursor: pointer;
}

.notification-item:hover,
.notification-category:hover {
    background: var(--brand-soft);
    border-color: var(--brand-color);
}

.notification-item.is-unread {
    background: var(--brand-soft);
}

.notification-item-icon,
.notification-category-icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    color: var(--brand-color);
    background: var(--page-background);
    border-radius: 50%;
    font-size: 1.2rem;
}

.notification-item-content {
    display: grid;
    flex: 1 1 auto;
    gap: 0.25rem;
}

.notification-item-title {
    font-weight: 600;
}

.notification-item-message,
.notification-item-category {
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
    line-height: 1.45;
}

.notification-item-category {
    font-size: 0.75rem;
}

.notification-unread-marker {
    width: 0.55rem;
    height: 0.55rem;
    flex: 0 0 auto;
    background: var(--brand-color);
    border-radius: 50%;
    opacity: 0;
}

.notification-item.is-unread .notification-unread-marker {
    opacity: 1;
}

.notification-category {
    min-height: 5rem;
}

.notification-preference {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
}

.notification-preference .form-check-input {
    cursor: pointer;
}

.notification-disclaimer {
    padding: 0.75rem;
    background: var(--page-background);
    border-radius: 0.5rem;
}

.home-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
    min-height: 27rem;
    padding: clamp(2rem, 6vw, 5.25rem);
    overflow: hidden;
    background:
        radial-gradient(ellipse at 12% 110%, rgb(216 226 199 / 48%), transparent 44%),
        linear-gradient(125deg, #f1f2e8 0%, #f8f7f0 53%, #e8efe3 100%);
    border: 1px solid #e6e8dc;
    border-radius: 1.75rem;
}

.home-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 37rem;
}

.home-hero .eyebrow {
    color: var(--brand-color);
    font-size: 0.76rem;
    letter-spacing: 0.13em;
}

.home-hero-title {
    max-width: 10ch;
    color: #1e2b25;
    font-size: clamp(2.8rem, 5.7vw, 5rem);
    letter-spacing: -0.065em;
    line-height: 0.99;
}

.home-hero-description {
    max-width: 31rem;
    color: #5f6b63;
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    line-height: 1.65;
}

.home-hero .btn {
    border-radius: 0.8rem;
    white-space: nowrap;
}

.home-hero-note {
    color: #69746a;
}

.verse-of-day-card {
    position: relative;
    display: flex;
    min-height: 21rem;
    align-items: flex-end;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(ellipse at 85% 10%, rgb(205 184 122 / 35%), transparent 35%),
        radial-gradient(ellipse at 5% 100%, rgb(80 126 94 / 45%), transparent 48%),
        linear-gradient(145deg, #314c3e, #182f26 75%);
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 1.35rem;
    box-shadow: 0 1.25rem 3rem rgb(38 58 44 / 18%);
}

.verse-of-day-card::before,
.verse-of-day-card::after {
    position: absolute;
    content: "";
    border: 1px solid rgb(237 243 233 / 12%);
    border-radius: 50%;
    pointer-events: none;
}

.verse-of-day-card::before {
    top: -8rem;
    right: -5rem;
    width: 23rem;
    height: 23rem;
}

.verse-of-day-card::after {
    top: -5rem;
    right: -2rem;
    width: 17rem;
    height: 17rem;
}

.verse-card-decoration {
    position: absolute;
    top: 1.8rem;
    right: 2rem;
    color: rgb(239 222 174 / 82%);
    font-size: 3.25rem;
    line-height: 1;
    opacity: 0.4;
    filter: drop-shadow(0 0 1.25rem rgb(239 222 174 / 35%));
}

.verse-of-day-content {
    position: relative;
    z-index: 1;
    max-width: 26rem;
}

.verse-card-label {
    color: #e4d7b5;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
}

.verse-of-day-quote {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 2.7vw, 2rem);
    letter-spacing: -0.025em;
    line-height: 1.36;
}

.verse-of-day-reference {
    color: #e6d6ae;
    font-weight: 600;
}

.verse-of-day-reference span {
    color: rgb(255 255 255 / 64%);
    font-size: 0.85rem;
    font-weight: 400;
}

.verse-card-action {
    color: #234535;
    border: 0;
    border-radius: 0.75rem;
    font-weight: 600;
}

.section-heading {
    scroll-margin-top: 6rem;
}

#statistics {
    scroll-margin-top: 6rem;
}

.section-heading .eyebrow {
    font-size: 0.74rem;
    letter-spacing: 0.13em;
}

.section-more-link {
    color: var(--brand-color);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.section-more-link:hover {
    color: #194a38;
    text-decoration: underline;
}

.verse-modal .modal-content {
    color: var(--bs-body-color);
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
    border-radius: 1.25rem;
    box-shadow: 0 1.5rem 4rem rgb(15 23 42 / 20%);
}

.verse-card {
    color: var(--bs-body-color);
    background: var(--brand-soft);
    border: 1px solid var(--surface-border);
}

.verse-card blockquote {
    font-size: clamp(1.15rem, 3vw, 1.5rem);
    line-height: 1.65;
}

.verse-card figcaption {
    color: var(--brand-color);
    font-size: 1rem;
    font-weight: 600;
}

[data-verse-theme="sage"] {
    --verse-background: #e7f1e9;
    --verse-foreground: #163e2c;
    --verse-accent: #28654f;
}

[data-verse-theme="ocean"] {
    --verse-background: #e3f1fc;
    --verse-foreground: #143652;
    --verse-accent: #185886;
}

[data-verse-theme="parchment"] {
    --verse-background: #fbefd9;
    --verse-foreground: #4a321b;
    --verse-accent: #79502c;
}

[data-verse-theme="night"] {
    --verse-background: #1d293b;
    --verse-foreground: #f1f5f9;
    --verse-accent: #b7d8fa;
}

#dailyVerseCard,
#verse-generator[data-verse-theme] {
    color: var(--verse-foreground);
    background: var(--verse-background);
    border-color: var(--verse-accent);
}

#dailyVerseCard figcaption,
#verse-generator[data-verse-theme] .tool-card-kicker,
#verse-generator[data-verse-theme] .text-body-secondary {
    color: var(--verse-foreground) !important;
}

#verse-generator[data-verse-theme] .btn-outline-primary {
    --bs-btn-color: var(--verse-foreground);
    --bs-btn-border-color: var(--verse-accent);
    --bs-btn-hover-bg: var(--verse-foreground);
    --bs-btn-hover-color: var(--verse-background);
}

[data-verse-layout="centered"] {
    text-align: center;
}

#verse-generator[data-verse-layout="centered"] .tool-icon-wrap {
    align-self: center;
}

#dailyVerseCard[data-verse-layout="minimal"],
#verse-generator[data-verse-layout="minimal"] {
    border: 0;
    border-left: 4px solid var(--verse-accent) !important;
    border-radius: 0 !important;
    box-shadow: none;
}

[data-verse-layout="minimal"] blockquote {
    font-family: Georgia, serif;
}

.eyebrow {
    letter-spacing: 0.08em;
}

.btn-primary {
    --bs-btn-bg: var(--brand-color);
    --bs-btn-border-color: var(--brand-color);
    --bs-btn-hover-bg: #194a38;
    --bs-btn-hover-border-color: #194a38;
}

.btn-outline-primary {
    --bs-btn-color: var(--brand-color);
    --bs-btn-border-color: var(--brand-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-color);
    --bs-btn-hover-border-color: var(--brand-color);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #194a38;
    --bs-btn-active-border-color: #194a38;
    --bs-btn-disabled-color: var(--brand-color);
    --bs-btn-disabled-border-color: var(--brand-color);
}

.study-card {
    border-color: var(--surface-border);
    border-radius: 1.15rem;
    box-shadow: 0 0.45rem 1.5rem rgb(39 54 42 / 5%);
    scroll-margin-top: 6rem;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.study-card:hover {
    transform: translateY(-0.2rem);
    border-color: color-mix(in srgb, var(--brand-color) 24%, var(--surface-border));
    box-shadow: 0 0.9rem 2rem rgb(39 54 42 / 9%);
}

.tool-icon-wrap {
    width: 3.25rem;
    height: 3.25rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 1.35rem;
}

.tool-icon-reading {
    color: #28654f;
    background: #e8f0e8;
}

.tool-icon-verse {
    color: #8e6c2e;
    background: #f5efdc;
}

.tool-icon-plans {
    color: #8a5a47;
    background: #f4e9e2;
}

.tool-icon-explore {
    color: #536c88;
    background: #e9eef2;
}

.tool-card-kicker {
    color: var(--brand-color);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
}

.study-card .btn {
    padding-block: 0.7rem;
    border-radius: 0.75rem;
    font-weight: 600;
}

.reading-plan-progress {
    scroll-margin-top: 2rem;
}

.video-card {
    overflow: hidden;
    border-color: var(--surface-border);
    background: var(--surface-background);
    border-radius: 1rem;
}

.account-card {
    max-width: 36rem;
    border-color: var(--surface-border);
    background: var(--surface-background);
    border-radius: 1rem;
}

.video-art {
    aspect-ratio: 16 / 9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
    color: #fff;
    background: linear-gradient(135deg, #28654f, #15392c);
}

.video-art > i {
    font-size: 3rem;
}

.video-art-bibleproject { background: linear-gradient(135deg, #315677, #1f3449); }
.video-art-spoken { background: linear-gradient(135deg, #765538, #483421); }
.video-art-streetlights { background: linear-gradient(135deg, #604776, #352243); }

.video-featured {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
    border-radius: 1.25rem;
    background: var(--brand-soft);
}

.video-featured-symbol {
    color: var(--brand-color);
    font-size: clamp(3rem, 10vw, 6rem);
}

.reading-day-panel {
    background: var(--brand-soft);
}

.reading-passages {
    padding-left: 0;
    list-style: none;
}

.reading-passage {
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
    background: var(--surface-background);
}

.reading-passage label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.85rem;
    cursor: pointer;
}

.reading-passage.is-completed {
    border-color: var(--brand-color);
    background: var(--brand-soft);
    box-shadow: inset 4px 0 var(--brand-color);
}

.reading-passage-status {
    margin-left: auto;
}

.reading-passage.is-completed .reading-passage-status {
    color: var(--brand-color);
    font-weight: 600;
}

.reading-passages li + li {
    margin-top: 0.5rem;
}

.reading-plan-catalog {
    display: grid;
    gap: 0.75rem;
    max-height: 32rem;
    overflow-y: auto;
    padding: 0.15rem;
}

.reading-plan-card,
.reading-plan-detail {
    border: 1px solid var(--surface-border);
    border-radius: 0.9rem;
    background: var(--surface-background);
    padding: 1rem;
}

.reading-plan-card {
    transition: border-color 150ms ease, background-color 150ms ease;
}

.reading-plan-card:hover,
.reading-plan-card.is-selected {
    border-color: var(--brand-color);
    background: var(--brand-soft);
}

.reading-plan-detail {
    position: sticky;
    top: 0;
}

#readingDaySelect {
    min-width: 10rem;
}

@media (max-width: 991.98px) {
    .reading-plan-detail {
        position: static;
    }

    .reading-plan-catalog {
        max-height: 22rem;
    }
}

.bible-analytics {
    scroll-margin-top: 2rem;
}

.analytics-stat-card,
.analytics-panel {
    color: var(--bs-body-color);
    background: var(--surface-background);
    border-color: var(--surface-border);
    border-radius: 1rem;
}

.analytics-stat-card .h3 {
    color: var(--brand-color);
}

.analytics-search {
    max-width: 15rem;
}

.book-analytics-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
    gap: 0.5rem;
    max-height: 28rem;
    overflow-y: auto;
}

.book-analytics-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.75rem;
    color: var(--bs-body-color);
    text-align: left;
    background: var(--surface-background);
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
}

.book-analytics-item:hover,
.book-analytics-item:focus-visible {
    background: var(--brand-soft);
    border-color: var(--brand-color);
}

.selected-book-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: 0.75rem;
}

.selected-book-stats > div,
.reading-history-day {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem;
    background: var(--page-background);
    border-radius: 0.5rem;
}

.selected-book-stats > div {
    flex-direction: column;
}

.selected-book-stats span,
.reading-history-day span {
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}

.chapter-number-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    max-height: 13rem;
    overflow-y: auto;
}

.chapter-number {
    display: flex;
    min-width: 7.75rem;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.5rem 0.65rem;
    color: var(--bs-body-color);
    background: var(--page-background);
    border: 1px solid var(--surface-border);
    border-radius: 0.5rem;
}

.chapter-number strong {
    font-size: 0.875rem;
}

.chapter-number span {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.reading-history-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: 0.5rem;
}

.reading-history-day {
    align-items: center;
}

.tool-icon {
    margin-bottom: 1rem;
    font-size: 2rem;
}

.site-footer {
    border-top: 1px solid var(--surface-border);
}

@media (max-width: 991.98px) {
    .home-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
        min-height: auto;
    }

    .home-hero-copy {
        max-width: 42rem;
    }

    .home-hero-title {
        max-width: 12ch;
    }

    .verse-of-day-card {
        min-height: 18rem;
    }
}

@media (max-width: 575.98px) {
    .home-hero {
        gap: 1.5rem;
        padding: 1.5rem;
        border-radius: 1.25rem;
    }

    .home-hero-title {
        font-size: clamp(2.65rem, 12vw, 3.6rem);
    }

    .home-hero .btn {
        width: 100%;
    }

    .verse-of-day-card {
        min-height: 19rem;
        padding: 1.4rem;
        border-radius: 1.1rem;
    }

    .verse-card-decoration {
        top: 1.4rem;
        right: 1.5rem;
        font-size: 2.75rem;
    }

    .notification-item,
    .notification-category {
        gap: 0.65rem;
        padding: 0.75rem;
    }

    .notification-item-icon,
    .notification-category-icon {
        width: 2.35rem;
        height: 2.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
.discover-search { max-width: 560px; }
.discover-card { border-color: var(--surface-border); background: var(--surface-background); border-radius: 1rem; transition: transform .15s, box-shadow .15s; }
.discover-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.08); }
.discover-card blockquote { font-family: Georgia, serif; line-height: 1.6; }
.discover-tag { background: var(--brand-soft); color: var(--brand-color); font-weight: 600; }
.discover-cta { background: var(--brand-soft); border-radius: 1.25rem; }

.church-details { display: grid; gap: .45rem; }
.church-detail { display: flex; gap: .5rem; align-items: flex-start; line-height: 1.4; }
.church-detail > i { color: var(--brand-color); margin-top: .1rem; }

.place-suggest { position: absolute; top: 100%; left: 0; right: 0; z-index: 1050; max-height: 260px; overflow-y: auto; margin-top: 2px; }
.place-suggest .list-group-item { text-align: left; font-size: .9rem; }

.profile-button { display: inline-flex; align-items: center; text-decoration: none; }
.profile-avatar, .profile-avatar-small { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #28654f; color: #fff; font-weight: 700; overflow: hidden; flex-shrink: 0; }
.profile-avatar { width: 40px; height: 40px; border: 2px solid #d7e6df; }
.profile-avatar img, .profile-avatar-large img { width: 100%; height: 100%; object-fit: cover; }
.profile-avatar-small { width: 36px; height: 36px; font-size: .85rem; }
.profile-header { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; }
.profile-avatar-large { position: relative; display: block; width: 96px; height: 96px; border-radius: 50%; background: #28654f; color: #fff; font-size: 2rem; font-weight: 700; cursor: pointer; flex-shrink: 0; }
.profile-avatar-large > span:first-child { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; }
.profile-avatar-edit { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #28654f; border: 1px solid #cfd8d3; font-size: .9rem; }
.profile-avatar-large:focus-within { outline: 3px solid #86b7a3; outline-offset: 2px; }
.profile-card { background: #fff; border: 1px solid #e3e8e5; border-radius: 12px; padding: 1.25rem; }
.profile-row { display: flex; gap: .75rem; padding: .5rem 0; }
.profile-row > i { color: #28654f; font-size: 1.15rem; }
.profile-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.profile-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: #fff; border: 1px solid #e3e8e5; border-radius: 12px; padding: .85rem 1rem; }
.profile-empty { padding: 1.5rem 0; }
.profile-tabs .nav-link { color: #28654f; }
.profile-tabs .nav-link.active { background: #28654f; color: #fff; }

.qr-box { width: min(260px, 100%); background: #fff; padding: .5rem; border: 1px solid #e3e8e5; border-radius: 12px; }
.qr-box svg { display: block; width: 100%; height: auto; }
/* Feed content uses preserved line breaks without interpreting user HTML. */
.feed-content { white-space: pre-wrap; overflow-wrap: anywhere; }
.feed-card { max-width: 850px; margin-inline: auto; }
.feed-avatar { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; background: #464feb; color: #fff; font-weight: 700; }
.feed-comment { border-left: 3px solid #e6e6e6; padding: .5rem 1rem; margin-bottom: .75rem; overflow-wrap: anywhere; }
.feed-comment time { display: block; }
.feed-account-code { overflow-wrap: anywhere; }
#homeFeed a { text-decoration: none; color: #464feb; }
#homeFeed a.btn-primary { color: #fff; }
#homeFeed tr th, #homeFeed tr td { border: 1px solid #e6e6e6; }
#homeFeed tr th { background-color: #f5f5f5; }
