
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap');


*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; } 

html {
    font-size: var(--font-size-md);
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overscroll-behavior: none;
    
    background: var(--aurora-base);
    min-height: 100dvh;
    position: relative;
}


html::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 70% at 15%   0%,  var(--aurora-1) 0%, transparent 70%),
        radial-gradient(ellipse 65% 80% at 88%   8%,  var(--aurora-2) 0%, transparent 70%),
        radial-gradient(ellipse 90% 55% at 55%  98%,  var(--aurora-3) 0%, transparent 70%),
        radial-gradient(ellipse 55% 60% at  4%  88%,  var(--aurora-4) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
}

body {
    font-family: var(--font-base);
    background: transparent;  
    color: var(--text);
    min-height: 100dvh;
    max-width: var(--app-max-width);
    margin: 0 auto;
    position: relative;
    overflow-x: hidden;
}

a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }


#app {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

#app-header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--header-height);
    
    background: var(--glass-bg-header);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    color: var(--text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-4);
    border-bottom: 1px solid var(--glass-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.80);
}
.header-brand {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}
.header-cross {
    font-size: 1.7rem;
    opacity: .90;
    filter: drop-shadow(0 1px 3px rgba(80,20,130,.25));
}
.header-title-wrap {
    display: flex;
    flex-direction: column;
}
#app-header .app-title {
    font-size: var(--font-size-lg);
    font-weight: 800;
    letter-spacing: -.4px;
    line-height: 1.15;
    color: var(--color-primary);
}
.header-date {
    font-size: 10px;
    color: var(--text-muted);
    font-weight: 500;
    letter-spacing: .2px;
    margin-top: 1px;
}
#app-header .header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}
#app-header .header-actions > * {
    flex-shrink: 0;
}
#app-header button {
    background: var(--glass-bg-subtle);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    border: 1px solid var(--glass-border);
    color: var(--color-primary);
    font-size: 1.2rem;
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: background var(--transition-fast), box-shadow var(--transition-fast);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.70);
}
#app-header button:hover {
    background: rgba(255,255,255,.62);
    box-shadow: 0 4px 12px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.80);
}
#btn-header-share svg {
    width: 18px;
    height: 18px;
    display: block;
}
.header-lang-switcher {
    position: relative;
}
.header-lang-switcher[open] {
    z-index: 120;
}
.lang-switcher__toggle {
    list-style: none;
    min-width: 72px;
    height: 36px;
    padding: 0 10px 0 12px;
    border-radius: 999px;
    border: 1px solid var(--glass-border);
    background: var(--glass-bg-subtle);
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: .85rem;
    font-weight: 800;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.70);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    cursor: pointer;
    user-select: none;
}
.lang-switcher__toggle::-webkit-details-marker {
    display: none;
}
.lang-switcher__code {
    letter-spacing: .08em;
    line-height: 1;
}
.lang-switcher__name {
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8rem;
    color: var(--text);
}
.lang-switcher__caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
}
.lang-switcher__caret svg {
    width: 14px;
    height: 14px;
}
.header-lang-switcher[open] .lang-switcher__caret {
    transform: rotate(180deg);
}
.lang-switcher__menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 188px;
    padding: 8px;
    border-radius: 18px;
    background: var(--glass-bg-strong);
    border: 1px solid var(--glass-border);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255,255,255,.82);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}
.lang-switcher__option {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 12px;
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
}
.lang-switcher__option:hover {
    text-decoration: none;
    background: rgba(255,255,255,.5);
}
.lang-switcher__option.is-active {
    background: color-mix(in srgb, var(--color-primary) 12%, rgba(255,255,255,.6) 88%);
    color: var(--color-primary);
}
.lang-switcher__option-code {
    min-width: 28px;
    font-size: .78rem;
    letter-spacing: .08em;
}
.lang-switcher__option-text {
    font-size: .9rem;
    line-height: 1.2;
}

.global-share-title {
    margin: 0 0 6px;
    font-size: 1.08rem;
    font-weight: 800;
    color: var(--text);
}
.global-share-sub {
    margin: 0 0 12px;
    font-size: .86rem;
    color: var(--text-muted);
}
.global-share-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.global-share-btn {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.5);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .86rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
    text-decoration: none;
}
.global-share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15,23,42,.16);
    filter: saturate(1.06);
}
.global-share-btn:active {
    transform: scale(.98);
}
.global-share-btn__icon {
    font-size: 1rem;
    line-height: 1;
}
.global-share-btn--whatsapp {
    color: #fff;
    background: linear-gradient(145deg, #2bd46f, #168f45);
}
.global-share-btn--fb {
    color: #fff;
    background: linear-gradient(145deg, #2f89ff, #1668dc);
}
.global-share-btn--copy {
    color: #fff;
    background: linear-gradient(145deg, var(--color-primary), var(--color-primary-dark));
}
.global-share-close {
    width: 100%;
    margin-top: 10px;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(148,163,184,.36);
    background: rgba(255,255,255,.72);
    color: var(--text-secondary);
    font-size: .9rem;
    font-weight: 700;
}

#app-main {
    flex: 1;
    padding-bottom: calc(20px + var(--safe-bottom) + var(--space-4));
    
}

.footer-quick-links {
    padding: 12px 16px calc(var(--nav-height) + var(--safe-bottom) + 12px);
}
.footer-quick-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.footer-quick-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 104px;
    border-radius: 18px;
    text-decoration: none;
    color: var(--text);
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.75);
    -webkit-backdrop-filter: blur(10px) saturate(1.2);
    backdrop-filter: blur(10px) saturate(1.2);
    transition: transform .18s ease, border-color .2s ease, box-shadow .2s ease;
}
.footer-quick-link:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--color-primary) 32%, var(--glass-border) 68%);
    box-shadow: 0 8px 22px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.85);
}
.footer-quick-link:active {
    transform: scale(.98);
}
.footer-quick-link__icon {
    font-size: 1.45rem;
    line-height: 1;
    margin-bottom: 10px;
    color: var(--color-primary);
}
.footer-quick-link__label {
    font-size: 1.02rem;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
    color: var(--text);
}
@media (min-width: 992px) {
    .footer-quick-links__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .footer-quick-link {
        min-height: 96px;
    }
}
@media (max-width: 430px) {
      .lang-switcher__name {
        display: none;
    }
}
@media (max-width: 420px) {
    #app-header {
        padding: 0 10px;
    }
    .header-brand {
        gap: 8px;
        min-width: 0;
    }
    .header-logo {
        width: 40px;
        height: 40px;
    }
    #app-header .app-title {
        font-size: 1.05rem;
    }
    .header-date {
        font-size: 9px;
    }
    #app-header .header-actions {
        gap: 8px;
    }
    .lang-switcher__toggle {
        min-width: 54px;
        padding: 0 8px 0 10px;
        gap: 6px;
    }
    .lang-switcher__name {
        display: none;
    }
    .lang-switcher__menu {
        min-width: 160px;
        right: -2px;
    }
    #app-header button {
        width: 34px;
        height: 34px;
    }
    .footer-quick-link__label {
        font-size: .95rem;
    }
}

#app-nav {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    
    height: calc(var(--nav-height) + var(--safe-bottom));
    padding-bottom: var(--safe-bottom);
    
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-top: 1px solid var(--glass-border);
    display: flex;
    align-items: stretch;
    z-index: 100;
    isolation: isolate;
    overflow: visible;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.72);
}
#app-nav::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -27px;
    transform: translateX(-50%);
    width: 80px;
    height: 26px;
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border);
    border-bottom: none;
    border-radius: 34px 35px 0 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
    pointer-events: none;
    z-index: 0;
}
.nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    border: none;
    background: none;
    padding-top: 6px;
    transition: color var(--transition-fast);
    position: relative;
    z-index: 1;
}
.nav-item.active { color: var(--color-primary); }
.nav-item .nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px; height: 24px;
}
.nav-item .nav-icon svg { width: 24px; height: 24px; }
.nav-item .nav-label {font-size: 13px;font-weight: 600;}


.spinner {
    width: 40px; height: 40px;
    border: 3px solid var(--border);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin .7s linear infinite;
    margin: 40px auto;
}
@keyframes spin { to { transform: rotate(360deg); } }

.page-loading {
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-8);
}


.section-title {
    font-size: var(--font-size-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--text-muted);
    padding: var(--space-4) var(--space-4) var(--space-2);
}


.card {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    overflow: hidden;
}
.card + .card { margin-top: var(--space-3); }


.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: 600;
    border: none;
    transition: background var(--transition-fast), transform var(--transition-fast);
    user-select: none;
}
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dark); }
.btn-outline { background: transparent; color: var(--color-primary); border: 1px solid var(--color-primary); }
.btn-ghost   { background: transparent; color: var(--text-muted); }
.btn-full    { width: 100%; }


.btn-profile-glass {
    background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.52));
    border: 1px solid var(--glass-border);
    color: var(--color-primary);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.7);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    font-weight: 700;
}
.btn-profile-glass:hover {
    background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(255,255,255,.62));
    text-decoration: none;
}
.btn-profile-edit {
    padding: 6px 12px;
    font-size: .76rem;
    min-height: 30px;
    border-radius: 999px;
    gap: 6px;
}
.btn-profile-logout {
    color: var(--vestment-red);
}
.profile-community-link-wrap {
    margin-top: var(--space-3);
    text-align: center;
}
.profile-community-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .86rem;
    font-weight: 700;
    color: var(--color-primary);
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--glass-border);
    background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.5));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
}
.profile-community-link:hover {
    text-decoration: none;
    background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.62));
}
.profile-community-link.is-disabled {
    opacity: .7;
    pointer-events: none;
}

.profile-modal {
    padding: 2px 0 var(--space-2);
}
.profile-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 4px;
    margin: 0 0 var(--space-4);
    border-radius: 999px;
    background: rgba(148, 163, 184, .12);
    border: 1px solid rgba(148, 163, 184, .18);
}
.profile-tab {
    min-height: 38px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-muted);
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
    line-height: 1.15;
    padding: 6px 8px;
}
.profile-tab.is-active {
    background: #fff;
    color: var(--color-primary);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.75);
}
.profile-tab-panel {
    display: none;
}
.profile-tab-panel.is-active {
    display: block;
}
.profile-identity {
    text-align: center;
    padding: var(--space-3) 0 var(--space-4);
}
.profile-medal {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: var(--space-2);
}
.profile-name-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.profile-name-row h2 {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--text);
}
.profile-identity p {
    margin: 5px 0 0;
    font-size: .82rem;
    font-weight: 600;
    color: var(--text-muted);
}
.profile-action-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.profile-goal-widget {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.78);
    box-shadow: 0 6px 20px rgba(0,20,60,.08);
    backdrop-filter: blur(14px) saturate(1.25);
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
}
.profile-goal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.profile-goal-head h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--text);
}
.profile-goal-list {
    display: grid;
    gap: 8px;
    text-align: left;
}
.profile-info-goals {
    margin: var(--space-4) 0;
}
.profile-goal-item {
    padding: 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(15,23,42,.06);
}
.profile-goal-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}
.profile-goal-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .9rem;
    font-weight: 800;
    color: var(--text);
}
.profile-goal-title span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-goal-val {
    flex: 0 0 auto;
    font-size: .86rem;
    font-weight: 900;
    color: var(--color-primary);
}
.profile-goal-track {
    height: 8px;
    border-radius: 999px;
    background: rgba(148,163,184,.25);
    overflow: hidden;
}
.profile-goal-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-primary-dark), var(--color-primary));
}
.profile-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.profile-section-head h2,
.profile-edit-prayer h2 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 900;
    color: var(--text);
}
.profile-section-head p,
.profile-edit-prayer p {
    margin: 4px 0 0;
    font-size: .82rem;
    line-height: 1.45;
    color: var(--text-muted);
}
.profile-mini-action {
    flex: 0 0 auto;
    padding: 7px 11px;
    min-height: 34px;
    font-size: .78rem;
}
.profile-prayer-head-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}
.profile-prayer-head-actions .btn-primary {
    box-shadow: 0 12px 24px rgba(46, 125, 50, .18);
}
@media (max-width: 520px) {
    .profile-tab-panel[data-profile-panel="prayers"] .profile-section-head {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .profile-tab-panel[data-profile-panel="prayers"] .profile-section-head h2 {
        max-width: 100%;
        font-size: 1.22rem;
        line-height: 1.18;
    }
    .profile-tab-panel[data-profile-panel="prayers"] .profile-section-head p {
        max-width: 100%;
    }
    .profile-prayer-head-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        justify-content: stretch;
        align-items: stretch;
    }
    .profile-prayer-head-actions .profile-mini-action {
        width: 100%;
        min-height: 42px;
        padding: 9px 12px;
    }
}
@media (max-width: 380px) {
    .profile-prayer-head-actions {
        grid-template-columns: 1fr;
    }
}
.profile-loading {
    padding: 18px 10px;
    text-align: center;
    color: var(--text-muted);
    font-size: .9rem;
    font-weight: 700;
}
.profile-prayers-list {
    display: grid;
    gap: 10px;
}
.profile-prayer-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .07);
}
.profile-prayer-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(46, 125, 50, .1);
    font-size: 1.18rem;
}
.profile-prayer-main {
    min-width: 0;
}
.profile-prayer-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 4px;
    font-size: .72rem;
    font-weight: 700;
    color: var(--text-muted);
}
.profile-prayer-status {
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .16);
    color: var(--text-muted);
}
.profile-prayer-status.is-editable {
    color: var(--color-primary);
    background: rgba(46, 125, 50, .12);
}
.profile-prayer-status.is-locked {
    color: #64748b;
}
.profile-prayer-main p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.45;
    color: var(--text);
}
.profile-prayer-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
.profile-prayer-card.is-editing {
    align-items: flex-start;
}
.profile-prayer-edit-form {
    min-width: 0;
    display: grid;
    gap: 8px;
}
.profile-prayer-edit-label {
    font-size: .82rem;
    font-weight: 900;
    color: var(--text);
}
.profile-prayer-edit-form textarea {
    width: 100%;
    min-height: 112px;
    resize: vertical;
    border-radius: 14px;
    padding: 10px 11px;
    font-size: .9rem;
    line-height: 1.45;
}
.profile-prayer-edit-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.profile-prayer-edit-form p {
    margin: 0;
    font-size: .75rem;
    line-height: 1.4;
    color: var(--text-muted);
}
.profile-icon-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15,23,42,.08);
}
.profile-icon-btn:disabled {
    opacity: .42;
    cursor: not-allowed;
    box-shadow: none;
}
.profile-icon-btn.is-danger {
    color: var(--vestment-red);
}
.profile-icon-btn.is-publish {
    color: var(--color-primary);
    background: rgba(46, 125, 50, .08);
}
.profile-prayer-pager {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}
.profile-prayer-pager span {
    font-size: .78rem;
    font-weight: 800;
    color: var(--text-muted);
    white-space: nowrap;
}
.profile-prayer-pager .btn {
    min-height: 34px;
    padding: 7px 10px;
    font-size: .78rem;
}
.profile-prayer-pager .btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.profile-empty-state {
    display: grid;
    gap: 5px;
    justify-items: center;
    padding: 18px 14px;
    border-radius: 16px;
    background: rgba(148, 163, 184, .1);
    color: var(--text-muted);
    text-align: center;
}
.profile-empty-state strong {
    color: var(--text);
    font-size: .92rem;
}
.profile-empty-state span {
    font-size: .8rem;
    line-height: 1.4;
}
.profile-empty-icon {
    font-size: 1.8rem;
}
.profile-edit-prayer textarea {
    width: 100%;
    margin: 14px 0 12px;
    min-height: 150px;
    resize: vertical;
    border-radius: 16px;
    padding: 12px;
    font-size: .94rem;
    line-height: 1.5;
}


.form-group { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-4); }
.form-group label { font-size: var(--font-size-sm); font-weight: 600; color: var(--text-muted); }
input[type="text"], input[type="tel"], input[type="search"], select, textarea {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--glass-border);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-md);
    font-family: inherit;
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    color: var(--text);
    transition: border-color var(--transition-fast);
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--color-primary);
}


.badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    border-radius: var(--radius-full);
    font-size: var(--font-size-xs);
    font-weight: 600;
}
.badge-primary { background: var(--color-primary-light); color: var(--color-primary); }
.badge-accent  { background: var(--color-accent-light);  color: #7a5c00; }
.badge-success { background: #d1fae5; color: #065f46; }


.streak-bar {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: rgba(255, 248, 210, 0.65);
    backdrop-filter: var(--glass-blur-light);
    -webkit-backdrop-filter: var(--glass-blur-light);
    border-radius: 5px;
    padding: var(--space-2) var(--space-4);
    margin: var(--space-3) var(--space-2) 0;
    border: 1px solid rgba(252, 211, 77, 0.50);
    box-shadow: 0 4px 16px rgba(249,168,37,.12), inset 0 1px 0 rgba(255,255,255,0.70);
}
.streak-bar .streak-fire  { font-size: 1.5rem; flex-shrink: 0; }
.streak-bar .streak-num   { font-size: var(--font-size-xl); font-weight: 700; color: #b07c00; }
.streak-bar .streak-label { font-size: var(--font-size-xs); color: #7a5c00; }
.streak-bar .streak-medal { font-size: 1.4rem; flex-shrink: 0; }
.streak-progress-track {
    flex: 1;
    height: 6px;
    background: #f0d060;
    border-radius: 3px;
    overflow: hidden;
    min-width: 40px;
}
.streak-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #f9a825, #ff8f00);
    border-radius: 3px;
    transition: width .6s ease;
}
.streak-bar .streak-score      { font-size: var(--font-size-sm); font-weight: 700; color: #b07c00; margin-left: auto; }
.streak-bar .streak-score-unit { font-size: var(--font-size-xs); color: #7a5c00; }


#toast-container {
    position: fixed;
    bottom: calc(var(--nav-height) + var(--safe-bottom) + var(--space-4));
    left: 50%;
    transform: translateX(-50%);
    z-index: 500;
    width: calc(100% - var(--space-8));
    max-width: 400px;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}
.toast {
    position: relative;
    background: linear-gradient(135deg, rgba(255,255,255,0.28), rgba(255,255,255,0.14));
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    color: #1f2937;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: .92rem;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,0.55);
    box-shadow: 0 14px 34px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.7);
    animation: toast-in .24s cubic-bezier(.2,.8,.2,1) forwards;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
}
.toast::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(120deg, rgba(255,255,255,.35), transparent 45%, rgba(255,255,255,.12));
}
.toast-icon {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: .84rem;
    color: #ffffff;
    background: linear-gradient(135deg, #475569, #1f2937);
    box-shadow: 0 4px 14px rgba(15,23,42,.28);
    flex-shrink: 0;
}
.toast-text {
    min-width: 0;
    line-height: 1.35;
}
.toast.success .toast-icon {
    background: linear-gradient(135deg, #22c55e, #0f766e);
}
.toast.error .toast-icon {
    background: linear-gradient(135deg, #ef4444, #b91c1c);
}
@keyframes toast-in {
    from { opacity:0; transform:translateY(10px) scale(.98); }
    to   { opacity:1; transform:translateY(0); }
}
@keyframes toast-out {
    from { opacity:1; transform:translateY(0) scale(1); }
    to   { opacity:0; transform:translateY(-6px) scale(.98); }
}


.page { display: none; }
.page.active { display: block; }


.empty-state {
    text-align: center;
    padding: var(--space-8) var(--space-4);
    color: var(--text-muted);
}
.empty-state .empty-icon { font-size: 3rem; margin-bottom: var(--space-3); }
.empty-state p { font-size: var(--font-size-sm); }


.daily-prayer-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px calc(var(--safe-bottom) + 16px);
}
.daily-prayer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 14, 28, 0.48);
    backdrop-filter: blur(6px) saturate(1.06);
    -webkit-backdrop-filter: blur(6px) saturate(1.06);
}
.daily-prayer-center-card {
    position: relative;
    width: min(100%, 520px);
    border-radius: 22px;
    padding: 52px 20px 18px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.86);
    box-shadow:
        0 28px 64px rgba(10, 14, 35, 0.36),
        0 8px 24px rgba(16, 24, 40, 0.22),
        inset 0 1px 0 rgba(255,255,255,0.92);
}
.daily-prayer-center-icon {
    position: absolute;
    left: 50%;
    top: -36px;
    transform: translateX(-50%);
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, rgba(255,255,255,0.96), rgba(238,242,255,0.96));
    border: 4px solid #fff;
    box-shadow:
        0 10px 24px rgba(79, 70, 229, 0.30),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.daily-prayer-center-icon svg {
    width: 62px;
    height: 62px;
    display: block;
}
.daily-prayer-title {
    margin: 0 0 10px;
    text-align: center;
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--color-primary);
    letter-spacing: .01em;
}
.daily-prayer-content {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(138, 114, 210, 0.18);
    color: var(--text);
    font-size: 1.03rem;
    line-height: 1.62;
    max-height: min(38vh, 320px);
    overflow-y: auto;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.daily-prayer-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#btn-daily-prayer-amen,
#btn-daily-prayer-close {
    min-height: 48px;
    font-size: 1.1rem;
    font-weight: 700;
}
#btn-daily-prayer-amen:disabled {
    opacity: .9;
    cursor: not-allowed;
    background: rgba(149, 117, 235, .20);
    color: var(--color-primary);
}
#btn-daily-prayer-close {
    color: #667085;
}
@media (max-width: 420px) {
    .daily-prayer-center-card {
        border-radius: 20px;
        padding: 48px 14px 14px;
    }
    .daily-prayer-title {
        font-size: 1.14rem;
    }
    .daily-prayer-content {
        font-size: 0.98rem;
    }
}




.nav-item--center {
    flex: 1.25;
    position: relative;
    padding-top: 0;
    color: var(--color-primary);
    transform: translateY(-10px);
}
.nav-center-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 60px;
    border-radius: 50%;
    margin-bottom: 8px;
    transform: translateY(0);
    background-image:
        linear-gradient(160deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 45%, rgba(0,0,0,.10) 100%),
        linear-gradient(145deg, var(--color-primary-dark, #003e80) 0%, var(--color-primary) 70%, #28b9d4 100%);
    border: 1px solid rgba(255,255,255,.42);
    box-shadow:
        0 12px 30px rgba(0, 85, 165, .34),
        0 2px 10px rgba(0, 45, 110, .25),
        inset 0 1px 0 rgba(255,255,255,.42),
        inset 0 -1px 0 rgba(0,0,0,.18);
    backdrop-filter: blur(8px) saturate(1.3);
    -webkit-backdrop-filter: blur(8px) saturate(1.3);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}
.nav-center-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.24) 0%, transparent 56%);
    pointer-events: none;
}
.nav-center-icon::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.38);
    opacity: .8;
    pointer-events: none;
}
.nav-center-icon svg {
    width: 35px;
    height: 45px;
    color: #fff;
    stroke: #fff;
    stroke-width: 2.2;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.28));
}
.nav-item--center .nav-label {
    transform: translateY(0);
    font-weight: 800;
    letter-spacing: .01em;
}
.nav-item--center.active .nav-center-icon {
    filter: saturate(1.1);
    box-shadow:
        0 14px 34px rgba(0, 85, 165, .42),
        0 4px 12px rgba(0, 45, 110, .30),
        inset 0 1px 0 rgba(255,255,255,.48),
        inset 0 -1px 0 rgba(0,0,0,.24);
}
.nav-item--center:active .nav-center-icon { transform: scale(.96); }


.danh-muc-sheet {
    position: fixed;
    inset: 0;
    z-index: 400;
}
.danh-muc-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.40);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.danh-muc-panel {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    max-width: var(--app-max-width);
    margin: 0 auto;
    background: var(--glass-bg-strong, rgba(255,255,255,0.96));
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: 24px 24px 0 0;
    padding: 16px 20px calc(env(safe-area-inset-bottom, 0px) + calc(var(--nav-height) + 8px));
    box-shadow: 0 -8px 40px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.60);
    border-top: 1px solid var(--glass-border);
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}
.danh-muc-sheet.is-open .danh-muc-panel { transform: translateY(0); }
.danh-muc-handle {
    width: 36px; height: 4px;
    background: rgba(0,0,0,0.18);
    border-radius: 2px;
    margin: 0 auto 16px;
}
.danh-muc-title {
    font-size: var(--font-size-md);
    font-weight: 800;
    color: var(--text);
    text-align: center;
    margin: 0 0 16px;
}
.danh-muc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.danh-muc-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 8px;
    border-radius: 16px;
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.70);
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast);
}
.danh-muc-item:hover  { background: rgba(255,255,255,0.80); }
.danh-muc-item:active { transform: scale(.95); }
.danh-muc-icon { font-size: 1.8rem; line-height: 1; }
.danh-muc-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    color: color-mix(in srgb, var(--color-primary) 78%, #64748b 22%);
}
.danh-muc-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--text);
    text-align: center;
    line-height: 1.3;
}
.danh-muc-close {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: var(--radius-full);
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--text-muted);
    cursor: pointer;
    transition: background var(--transition-fast);
}
.sch-collapsible .sch-title {
    
    font-size: 1em;
}
h2{  font-size: 1.2em;}
#btn-logout{display: none;}
a:hover{text-decoration: none;}
.danh-muc-close:hover { background: rgba(255,255,255,0.75); }
.header-logo {
    height: 36px;
    width: auto;
    display: block;
}

@media (prefers-color-scheme: dark) {
    .danh-muc-panel1 { background: rgba(25,25,35,0.97); }
    .nav-center-icon1 {
        border-color: rgba(255,255,255,.20);
        box-shadow:
            0 14px 34px rgba(0, 0, 0, .45),
            0 4px 12px rgba(0, 0, 0, .30),
            inset 0 1px 0 rgba(255,255,255,.20),
            inset 0 -1px 0 rgba(0,0,0,.28);
    }
    .nav-center-icon1::after { border-color: rgba(255,255,255,.18); }
    .danh-muc-item1 { background: rgba(255,255,255,0.08); }
  
}
.modal-overlay input[type="text"],.modal-overlay  input[type="tel"],.modal-overlay  input[type="search"], .modal-overlay select,.modal-overlay  textarea {
    
    border: 1.5px solid rgba(155, 155, 155, 0.52);
    
}
.pq-overlay input[type="text"],.pq-overlay  input[type="tel"],.pq-overlay  input[type="search"], .pq-overlay select,.pq-overlay  textarea {
    
    border: 1.5px solid rgba(155, 155, 155, 0.52);
    
}
#pq-lib-search{border: 0px !important;}

@media (min-width: 768px) {
     body {
    
    max-width: 100%;
   
}
}
@media (min-width: 1024px) {
     body {
    
    max-width:1024px;
   
}
}


#sch {
    padding: 12px 16px 0;
}
.sch-glass {
    background: var(--glass-bg-subtle);
    border: 1px solid var(--glass-border);
    border-radius: 18px;
    padding: 12px 14px;
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
    box-shadow: var(--shadow-sm);
    -webkit-backdrop-filter: blur(10px) saturate(1.25);
            backdrop-filter: blur(10px) saturate(1.25);
}
.sch-collapsible .sch-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sch-collapsible .sch-title {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
}
.sch-collapsible .sch-toggle {
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(255,255,255,.45);
    color: var(--color-primary);
    border-radius: 999px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s ease;
    -webkit-backdrop-filter: blur(8px) saturate(1.2);
            backdrop-filter: blur(8px) saturate(1.2);
}
.sch-collapsible .sch-toggle:active {
    transform: scale(.97);
}
.sch-collapsible .sch-toggle-icon {
    font-size: 12px;
    line-height: 1;
}
.sch-collapsible .sch-body {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .28s ease, opacity .22s ease, margin-top .22s ease;
    margin-top: 0;
    color: var(--text-muted);
    font-size: 13px;
    line-height: 1.6;
}
.sch-collapsible.is-open .sch-body {
    max-height: 1000px;
    opacity: 1;
    margin-top: 10px;
    color: #333;
    font-size: 14px;
}
.sch-collapsible .sch-body p {
    margin: 0 0 8px;
}
.sch-collapsible .sch-body p:last-child {
    margin-bottom: 0;
}
[data-theme="dark"] .sch-collapsible .sch-toggle {
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.18);
    color: #cfd8ff;
}
[data-theme="dark"] .sch-collapsible .sch-body {
    color: rgba(255,255,255,.72);
}

#lcghn .cal-today-block {
    margin: 12px 16px 0;
    border-radius: 22px;
    padding: 18px 18px 16px;
    position: relative;
    overflow: hidden;
    background: rgba(255,255,255,.74);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
            backdrop-filter: blur(18px) saturate(1.5);
    border: 1px solid rgba(255,255,255,.82);
    border-left: 4px solid var(--tb-vhex, var(--color-primary, #0055a5));
    box-shadow: 0 6px 28px rgba(0,30,80,.10), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(0,0,0,.03);
}
#lcghn .cal-today-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 42%;
    background: linear-gradient(180deg, rgba(255,255,255,.26) 0%, transparent 100%);
    border-radius: 22px 22px 0 0;
    pointer-events: none;
    z-index: 0;
}
#lcghn .cal-tb-meta { display: flex; align-items: center; gap: 8px; position: relative; z-index: 1; margin-bottom: 10px; }
#lcghn .cal-tb-weekday { font-size: 12px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; }
#lcghn .cal-tb-season-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 99px; background: rgba(0,85,165,.07); border: 1px solid rgba(0,85,165,.12); font-size: 11px; font-weight: 700; color: var(--color-primary); }
#lcghn .cal-tb-season-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
#lcghn .cal-tb-date-row { display: flex; align-items: flex-start; justify-content: space-between; position: relative; z-index: 1; margin-bottom: 12px; }
#lcghn .cal-tb-solar { display: flex; align-items: flex-end; gap: 8px; }
#lcghn .cal-tb-day-num {
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(145deg, var(--tb-vhex, var(--color-primary-dark)), var(--color-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
#lcghn .cal-tb-solar-sub { display: flex; flex-direction: column; gap: 2px; padding-bottom: 6px; }
#lcghn .cal-tb-month-label { font-size: 14px; font-weight: 800; color: var(--text); }
#lcghn .cal-tb-year-label { font-size: 12px; font-weight: 600; color: var(--text-muted); }
#lcghn .cal-tb-lunar { text-align: right; padding-top: 4px; }
#lcghn .cal-tb-lunar-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin-bottom: 2px; }
#lcghn .cal-tb-lunar-val { font-size: 13px; font-weight: 700; color: var(--text); }
#lcghn .cal-tb-feast-row { display: flex; align-items: flex-start; gap: 10px; position: relative; z-index: 1; margin-bottom: 10px; }
#lcghn .cal-tb-vest-swatch { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; margin-top: 3px; border: 2px solid rgba(255,255,255,.8); box-shadow: 0 1px 4px rgba(0,0,0,.15); }
#lcghn .cal-tb-feast-info { flex: 1; min-width: 0; }
#lcghn .cal-tb-vest-label { font-size: 11px; font-weight: 700; color: var(--text-muted); margin-bottom: 2px; text-transform: capitalize; }
#lcghn .cal-tb-feast-name { font-size: 15px; font-weight: 800; color: var(--text); line-height: 1.35; }
#lcghn .cal-tb-feast-type { font-size: 11px; font-weight: 600; color: var(--tb-vhex, var(--color-primary)); margin-top: 2px; }
#lcghn .cal-tb-quote { position: relative; z-index: 1; padding: 10px 12px; background: rgba(0,85,165,.05); border-radius: 12px; border-left: 3px solid var(--tb-vhex, var(--color-primary)); margin-bottom: 10px; display: flex; gap: 6px; align-items: flex-start; }
#lcghn .cal-tb-quote-mark { font-size: 18px; line-height: 1; color: var(--tb-vhex, var(--color-primary)); opacity: .6; flex-shrink: 0; margin-top: -2px; }
#lcghn .cal-tb-quote-text { font-size: 13px; font-style: italic; line-height: 1.55; color: var(--text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#lcghn .cal-tb-readings { display: flex; flex-wrap: wrap; gap: 5px; position: relative; z-index: 1; margin-bottom: 12px; }
#lcghn .cal-tb-chip { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: rgba(0,85,165,.08); border: 1px solid rgba(0,85,165,.15); color: var(--color-primary); }
#lcghn .cal-tb-cta {
    width: 100%;
    padding: 11px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.28);
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 700;
    color: #fff;
    background-image: linear-gradient(135deg, rgba(255,255,255,.16) 0%, rgba(0,0,0,.06) 100%), linear-gradient(135deg, var(--tb-vhex, var(--color-primary-dark)) 0%, var(--color-primary) 100%);
    box-shadow: 0 3px 14px rgba(0,60,160,.20), inset 0 1px 0 rgba(255,255,255,.42);
}
#lcghn .cal-tb-day-links {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    position: relative;
    z-index: 1;
}
#lcghn .cal-tb-day-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 10px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(255,255,255,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 2px 8px rgba(0,30,80,.10);
}
#lcghn .cal-tb-day-link.is-disabled { opacity: .45; cursor: default; pointer-events: none; }
.gospel-pending-note { margin: 12px 16px; padding: 10px 14px; border-radius: 12px; font-size: .92rem; background: rgba(148,163,184,.15); }
.gospel-pending-note a { font-weight: 700; margin-left: 6px; }
#lcghn .cal-tb-day-link.is-current {
    color: #fff;
    background-image:
        linear-gradient(145deg, rgba(255,255,255,.18) 0%, rgba(0,0,0,.06) 100%),
        linear-gradient(145deg, var(--tb-vhex, var(--color-primary-dark)) 0%, var(--color-primary) 100%);
    border-color: rgba(255,255,255,.32);
}
[data-theme="dark"] #lcghn .cal-today-block { background: rgba(10,20,50,.68); border-color: rgba(255,255,255,.10); box-shadow: 0 6px 28px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07); }
[data-theme="dark"] #lcghn .cal-tb-weekday,
[data-theme="dark"] #lcghn .cal-tb-year-label,
[data-theme="dark"] #lcghn .cal-tb-vest-label { color: rgba(255,255,255,.55); }
[data-theme="dark"] #lcghn .cal-tb-month-label,
[data-theme="dark"] #lcghn .cal-tb-lunar-val,
[data-theme="dark"] #lcghn .cal-tb-feast-name,
[data-theme="dark"] #lcghn .cal-tb-quote-text { color: #dde4f0; }
[data-theme="dark"] #lcghn .cal-tb-season-tag,
[data-theme="dark"] #lcghn .cal-tb-chip { background: rgba(0,85,165,.22); border-color: rgba(0,85,165,.35); }
[data-theme="dark"] #lcghn .cal-tb-day-link {
    color: #dde4f0;
    background: rgba(15,23,42,.52);
    border-color: rgba(148,163,184,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 2px 8px rgba(0,0,0,.20);
}
.nd-content ul{margin-left:25px;}

.fp-prayers-ssr{
    margin: 12px 16px 0;
    padding: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(255,255,255,.84);
    box-shadow: 0 6px 24px rgba(0,30,80,.10), inset 0 1px 0 rgba(255,255,255,.92);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
            backdrop-filter: blur(16px) saturate(1.4);
}
.fp-prayers-heading{
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 800;
    color: var(--text);
}
.fp-prayers-cards,.fp-news-list{display:grid;gap:10px}
.fp-prayers-sessions{
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
}
.fp-prayers-sessions .fp-prayers-heading{
    margin: 0 0 8px;
    padding: 0 2px;
}
.fp-prayers-sessions .fp-prayers-cards{
    display: grid;
    gap: 10px;
}
.fp-prayers-sessions .ps-card{
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-primary, #fb923c) 45%, #ffd5b2 55%);
    background:
        linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.76)),
        linear-gradient(120deg, rgba(255,154,60,.04), rgba(255,255,255,.03));
    box-shadow:
        0 6px 20px rgba(15,23,42,.08),
        0 2px 8px rgba(15,23,42,.05),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.fp-prayers-sessions .ps-card::after{
    content: '';
    position: absolute;
    left: 0;
    top: 14%;
    bottom: 14%;
    width: 4px;
    border-radius: 0 6px 6px 0;
    background: linear-gradient(180deg, #fb7185 0%, #ef4444 100%);
    box-shadow: 0 0 14px rgba(239,68,68,.4);
    opacity: 0;
    transition: opacity .22s ease;
}
.fp-prayers-sessions .ps-card-inner{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 15px 14px 20px;
}
.fp-prayers-sessions .ps-card-no{
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(180deg, #fb4d62 0%, #e11d1d 100%);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow:
        0 8px 18px rgba(220, 38, 38, .32),
        inset 0 1px 0 rgba(255,255,255,.45);
}
.fp-prayers-sessions .ps-card-body{
    min-width: 0;
    flex: 1;
}
.fp-prayers-sessions .ps-card-title{
    margin: 0 0 6px;
    font-size: 1.03rem;
    line-height: 1.3;
    font-weight: 800;
    color: color-mix(in srgb, var(--color-primary-dark, #9a3412) 68%, #7c2d12 32%);
}
.fp-prayers-sessions .ps-card-pills{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.fp-prayers-sessions .ps-card-pill{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: #7a7d86;
    background: rgba(241,245,249,.95);
    border: 1px solid rgba(226,232,240,.95);
}
.fp-prayers-sessions .ps-card-pill--live{
    color: #b91c1c;
    background: rgba(254,226,226,.92);
    border-color: rgba(252,165,165,.72);
}
.fp-prayers-sessions .ps-card-pill--countdown{
    color: #9a3412;
    background: rgba(255,237,213,.92);
    border-color: rgba(253,186,116,.7);
}
.fp-prayers-sessions .ps-card-comm{
    margin-top: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary, #6a1b9a);
    background: rgba(0,85,165,.08);
    border: 1px solid rgba(0,85,165,.18);
}
.fp-prayers-sessions .ps-card-arrow{
    color: #d1d5db;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}
.fp-prayers-sessions .ps-card.is-live{
    box-shadow:
        0 10px 28px rgba(220,38,38,.14),
        0 2px 8px rgba(15,23,42,.08),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.fp-prayers-sessions .ps-card.is-live::after{
    opacity: 1;
}
.fp-prayers-sessions .ps-card.is-live .ps-card-title{
    color: #c2410c;
    font-size: 1.08rem;
}
.fp-prayers-sessions .ps-card.is-upcoming-soon{
    border-color: rgba(251,146,60,.65);
    background:
        linear-gradient(180deg, rgba(255,251,245,.88), rgba(255,244,234,.82));
    box-shadow:
        0 10px 30px rgba(249,115,22,.14),
        0 2px 8px rgba(15,23,42,.08);
}
.fp-prayers-sessions .ps-card.is-upcoming-soon::after{
    opacity: .85;
    background: linear-gradient(180deg, #fb923c 0%, #f97316 100%);
    box-shadow: 0 0 14px rgba(249,115,22,.35);
}
.fp-prayers-sessions .ps-card.is-upcoming-soon .ps-card-title{
    color: #9a3412;
    font-size: 1.06rem;
}
@media (max-width: 640px){
    .fp-prayers-sessions .ps-card{ border-radius: 16px; }
    .fp-prayers-sessions .ps-card::after{ width: 4px; }
    .fp-prayers-sessions .ps-card-inner{
        gap: 10px;
        padding: 12px 12px 12px 16px;
    }
    .fp-prayers-sessions .ps-card-no{
        width: 34px;
        height: 34px;
        min-width: 34px;
        font-size: .95rem;
    }
    .fp-prayers-sessions .ps-card-title{
        font-size: 1rem;
        margin-bottom: 6px;
    }
    .fp-prayers-sessions .ps-card-pill{
        font-size: 11px;
        padding: 2px 6px;
        border-radius: 6px;
    }
    .fp-prayers-sessions .ps-card-arrow{ width: 13px; height: 13px; }
}
.fp-prayers-session-card{
    position: relative;
    display: block;
    padding: 14px 36px 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(203,213,225,.45);
    background: rgba(255,255,255,.6);
    text-decoration: none;
}
.fp-prayers-session-title{
    font-size: 1.02rem;
    font-weight: 800;
    color: var(--text);
    margin-bottom: 7px;
    line-height: 1.35;
}
.fp-prayers-session-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: .86rem;
    color: var(--text-muted);
    font-weight: 600;
}
.fp-prayers-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:10px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 700;
    color: var(--color-primary);
    background: rgba(0,85,165,.09);
    border: 1px solid rgba(0,85,165,.15);
}
.fp-prayers-chip--soft{
    color: var(--text-muted);
    background: rgba(255,255,255,.62);
    border-color: rgba(255,255,255,.84);
}
.fp-prayers-chip--featured{
    color:#92400e;
    background:#fef3c7;
    border-color:#fde68a;
}
.fp-prayers-arrow{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    color:#cbd5e1;
    font-size:1.45rem;
    line-height:1;
}
.fp-prayers-empty{
    padding:10px 12px;
    border-radius:12px;
    color:var(--text-muted);
    background:rgba(255,255,255,.6);
    border:1px dashed rgba(203,213,225,.55);
}
.fp-saints-grid{
    display:grid;
    grid-template-columns: 1fr;
    gap:12px;
}
.fp-saint-card{
    display:grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items:start;
    gap:14px;
    padding:14px;
    border-radius:18px;
    text-decoration:none;
    border:1px solid rgba(203,213,225,.45);
    background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.68));
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}
.fp-saint-media{display:flex;align-items:flex-start;justify-content:center}
.fp-saint-avatar{
    width:92px;
    height:92px;
    border-radius:24px;
    object-fit:cover;
    border:2px solid rgba(255,255,255,.85);
    box-shadow: 0 10px 24px rgba(15,23,42,.10);
}
.fp-saint-avatar--placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    color:var(--color-primary);
    background:rgba(255,255,255,.7);
}
.fp-saint-body{min-width:0;display:flex;flex-direction:column;gap:8px}
.fp-saint-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fp-saint-name{font-size:1.08rem;font-weight:800;color:var(--text);line-height:1.35}
.fp-saint-years{margin-top:2px;font-size:.88rem;color:var(--text-muted);font-weight:700}
.fp-saint-meta{display:flex;flex-direction:column;gap:4px}
.fp-saint-feast,
.fp-saint-patron{font-size:.92rem;line-height:1.5}
.fp-saint-feast{color:var(--color-primary);font-weight:800}
.fp-saint-patron{color:var(--text-secondary);font-weight:600}
.fp-saint-desc{
    font-size:.94rem;
    line-height:1.65;
    color:var(--text-secondary);
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fp-news-item{
    display:grid;
    grid-template-columns: 84px 1fr;
    gap:10px;
    align-items:center;
    padding:10px;
    border-radius:16px;
    border:1px solid rgba(203,213,225,.45);
    background:rgba(255,255,255,.6);
    text-decoration:none;
}
.fp-prayers-news--featured{
    margin-top:14px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--color-primary, #2e7d32) 8%, rgba(255,255,255,.84) 92%), rgba(255,255,255,.72));
    border-color: color-mix(in srgb, var(--color-primary, #2e7d32) 18%, rgba(255,255,255,.8) 82%);
}
.fp-news-item--featured{
    grid-template-columns:96px 1fr;
    border-color: color-mix(in srgb, var(--color-primary, #2e7d32) 18%, rgba(203,213,225,.45) 82%);
    box-shadow:0 8px 20px color-mix(in srgb, var(--color-primary, #2e7d32) 10%, transparent);
}
.fp-news-item--featured .fp-news-thumb{
    width:96px;
    height:72px;
}
.fp-news-thumb{
    width:84px;height:62px;border-radius:10px;object-fit:cover;display:block;
}
.fp-news-top{
    display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;
}
.fp-news-date{font-size:.82rem;color:var(--text-muted);font-weight:700}
.fp-news-title{font-size:1.02rem;line-height:1.35;color:var(--text);font-weight:800}
.fp-prayers-req-banner{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:14px;
    border-radius:16px;
    border:1px solid color-mix(in srgb, var(--color-primary) 45%, #fff 55%);
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 78%, #0ea5e9 22%), color-mix(in srgb, var(--color-primary) 65%, #06b6d4 35%));
    box-shadow: 0 8px 26px color-mix(in srgb, var(--color-primary) 28%, transparent);
}
.fp-prayers-req-banner .fp-prayers-heading{margin:0;color:#fff}
.fp-prayers-req-sub{margin-top:2px;font-size: .85rem;color:rgba(255,255,255,.88);font-weight:600}
.fp-prayers-req-total{margin-top:8px;font-size: 1rem;line-height:1;color:#fff;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.2)}
.fp-prayers-req-add{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    height:42px;
    padding:0 14px;
    border-radius:14px;
    text-decoration:none;
    font-size: 0.9rem;
    font-weight:800;
    color:#fff;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.12);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.fp-prayers-req-list{display:grid;gap:10px;margin-top:12px}
.fp-prayers-requests .prp-card{
    position:relative;
    padding:14px;
    border-radius:16px;
    border:1px solid rgba(203,213,225,.45);
    background:rgba(255,255,255,.62);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.fp-prayers-requests .prp-card::before{
    content:'';
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    border-radius:16px 0 0 16px;
    background:var(--color-primary);
}
.fp-prayers-requests .prp-card-top{display:flex;align-items:center;gap:10px}
.fp-prayers-requests .prp-card-avatar{
    width:56px;height:56px;border-radius:50%;
    display:grid;place-items:center;
    color:#fff;font-weight:900;font-size:1.25rem;
    background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 78%, #1e3a8a 22%));
    border:2px solid rgba(255,255,255,.7);
    box-shadow:0 8px 18px color-mix(in srgb,var(--color-primary) 28%, transparent);
}
.fp-prayers-requests .prp-card-meta{flex:1;min-width:0}
.fp-prayers-requests .prp-card-name{font-size: 0.8rem;font-weight:800;color:var(--text)}
.fp-prayers-requests .prp-card-time{font-size: .75rem;color:var(--text-muted);font-weight:600}
.fp-prayers-requests .prp-card-cat-chip{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    font-size: .8rem;
    font-weight:700;
    color:var(--color-primary);
    background:rgba(0,85,165,.09);
    border:1px solid rgba(0,85,165,.15);
}
.fp-prayers-requests .prp-card-content{
    margin-top:10px;
    color:var(--text);
    line-height:1.55;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size: 0.9rem;
}
.fp-prayers-requests .prp-card-content.expanded{
    display:block;
    -webkit-line-clamp:unset;
    overflow:visible;
}
.fp-prayers-requests .prp-card-footer{margin-top:12px;display:flex;justify-content:space-between;gap:10px}
.fp-prayers-requests .prp-card-expand{
    border:none;background:transparent;padding:0;
    color:var(--color-primary);font-weight:700;cursor:pointer;
}
.fp-prayers-requests .prp-pray-btn{
    margin-left:auto;
    border:2px solid rgba(180,196,224,.8);
    background:rgba(236,244,255,.8);
    color:var(--color-primary);
    border-radius:999px;
    padding:8px 16px;
    font-size: 0.8rem;
    font-weight:800;
    cursor:pointer;
}
.fp-prayers-requests .prp-pray-btn.prayed{
    border-color:rgba(134,239,172,.55);
    background:rgba(220,252,231,.7);
    color:#16a34a;
}
.fp-prayers-req-more-wrap{margin-top:12px;text-align:center}
.fp-prayers-req-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:800;
    color:var(--color-primary);
    border:1px solid rgba(0,85,165,.2);
    background:rgba(255,255,255,.65);
    font-size: 0.9rem;
}
@media (max-width: 420px){
    .fp-saints-grid{grid-template-columns:1fr}
    .fp-saint-card{grid-template-columns:1fr}
    .fp-saint-media{justify-content:flex-start}
    .fp-saint-avatar{width:84px;height:84px}
    .fp-saint-top{flex-direction:column;align-items:flex-start}
    .fp-prayers-req-banner{padding:12px}
    .fp-prayers-req-total{font-size:1.35rem}
    .fp-prayers-req-add{min-width:74px;height:38px;padding:0 12px;font-size:1rem}
}
[data-theme="dark"] .fp-prayers-ssr{
    background: rgba(10,20,50,.66);
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 8px 24px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
}
[data-theme="dark"] .fp-prayers-sessions{
    background: transparent;
    border: 0;
    box-shadow: none;
}
[data-theme="dark"] .fp-prayers-sessions .ps-card{
    border-color: rgba(251,146,60,.42);
    background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(30,41,59,.8));
    box-shadow: 0 14px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card::after{
    box-shadow: 0 0 14px rgba(251,113,133,.45);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-title{
    color: #fdba74;
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-pill{
    color: #cbd5e1;
    background: rgba(51,65,85,.72);
    border-color: rgba(148,163,184,.22);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-pill--live{
    color: #fecaca;
    background: rgba(127,29,29,.52);
    border-color: rgba(248,113,113,.42);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-pill--countdown{
    color: #fed7aa;
    background: rgba(124,45,18,.56);
    border-color: rgba(251,146,60,.42);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-comm{
    color: #bfdbfe;
    background: rgba(30,58,138,.42);
    border-color: rgba(96,165,250,.36);
}
[data-theme="dark"] .fp-prayers-sessions .ps-card-arrow{
    color: #94a3b8;
}
[data-theme="dark"] .fp-prayers-heading,
[data-theme="dark"] .fp-prayers-session-title,
[data-theme="dark"] .fp-saint-name,
[data-theme="dark"] .fp-news-title{color:#e2e8f0}
[data-theme="dark"] .fp-prayers-session-meta,
[data-theme="dark"] .fp-news-date,
[data-theme="dark"] .fp-prayers-empty,
[data-theme="dark"] .fp-saint-years,
[data-theme="dark"] .fp-saint-desc{color:#94a3b8}
[data-theme="dark"] .fp-saint-patron{color:#cbd5e1}
[data-theme="dark"] .fp-saint-card{
    background: linear-gradient(180deg, rgba(15,23,42,.62), rgba(15,23,42,.52));
}
[data-theme="dark"] .fp-prayers-session-card,
[data-theme="dark"] .fp-news-item{
    background: rgba(15,23,42,.52);
    border-color: rgba(148,163,184,.24);
}
[data-theme="dark"] .fp-prayers-requests .prp-card{
    background: rgba(15,23,42,.58);
    border-color: rgba(148,163,184,.24);
}
[data-theme="dark"] .fp-prayers-requests .prp-card-name{color:#e2e8f0}
[data-theme="dark"] .fp-prayers-requests .prp-card-time{color:#94a3b8}
[data-theme="dark"] .fp-prayers-requests .prp-card-content{color:#e2e8f0}
[data-theme="dark"] .fp-prayers-requests .prp-card-cat-chip{
    background: rgba(0,85,165,.22);
    border-color: rgba(0,85,165,.36);
}
[data-theme="dark"] .fp-prayers-requests .prp-pray-btn{
    background: rgba(15,23,42,.72);
    border-color: rgba(148,163,184,.35);
    color: #c4b5fd;
}
[data-theme="dark"] .fp-prayers-req-more{
    background: rgba(15,23,42,.62);
    border-color: rgba(148,163,184,.32);
    color:#c4b5fd;
}
[data-theme="dark"] .fp-prayers-chip{
    background: rgba(0,85,165,.22);
    border-color: rgba(0,85,165,.36);
}
[data-theme="dark"] .fp-prayers-chip--soft{
    background: rgba(15,23,42,.6);
    border-color: rgba(148,163,184,.32);
    color:#cbd5e1;
}

.daily-share-images{
    margin:var(--space-4) var(--space-4) var(--space-3);
    padding:16px;
    border-radius:22px;
    border:1px solid rgba(148,163,184,.2);
    background:linear-gradient(145deg,rgba(15,23,42,.92),rgba(30,41,59,.84));
    box-shadow:0 18px 42px rgba(15,23,42,.16);
    overflow:hidden;
}
.daily-share-images__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
}
.daily-share-images__eyebrow{
    display:inline-flex;
    margin-bottom:4px;
    color:#86efac;
    font-size:.76rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.daily-share-images__head h2{
    margin:0;
    color:#f8fafc;
    font-size:1.05rem;
    line-height:1.25;
    font-weight:950;
}
.daily-share-images__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.daily-share-card{
    min-width:0;
    border-radius:18px;
    padding:10px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.09);
}
.daily-share-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:9px;
}
.daily-share-card__top h3{
    margin:0;
    min-width:0;
    color:#fff;
    font-size:.86rem;
    line-height:1.28;
    font-weight:900;
}
.daily-share-card__btn{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:999px;
    color:#065f46;
    background:#dcfce7;
    box-shadow:0 8px 20px rgba(34,197,94,.18);
}
.daily-share-card__image{
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-radius:14px;
    background:rgba(15,23,42,.52);
    overflow:hidden;
}
.daily-share-card__image img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}
@media (max-width: 720px){
    .daily-share-images{
        padding:14px 12px;
        border-radius:20px;
    }
    .daily-share-images__grid{
        display:flex;
        gap:10px;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        scroll-snap-type:x mandatory;
        padding-bottom:2px;
    }
.daily-share-card{
        flex:0 0 min(78vw,300px);
        scroll-snap-align:start;
    }
}
.btn-profile-notification-settings {
    margin-top: var(--space-2);
}
.btn-profile-notification-settings + .btn-profile-glass {
    margin-top: var(--space-2);
}

.gc-prayer-cta{
    position:relative;
    overflow:hidden;
    margin:var(--space-4) var(--space-4) var(--space-3);
    padding:22px;
    border-radius:26px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 14%, rgba(255,255,255,.32), transparent 28%),
        radial-gradient(circle at 0% 100%, rgba(34,211,238,.34), transparent 34%),
        linear-gradient(145deg, #c92f3c 0%, #ef636a 48%, #0ea5b8 100%);
    border:1px solid rgba(255,255,255,.42);
    box-shadow:0 20px 54px rgba(116,24,38,.24), inset 0 1px 0 rgba(255,255,255,.32);
}
.gc-prayer-cta::before{
    content:'';
    position:absolute;
    inset:-38% auto auto -20%;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    pointer-events:none;
}
.gc-prayer-cta::after{
    content:'';
    position:absolute;
    right:-42px;
    bottom:-54px;
    width:180px;
    height:180px;
    border-radius:50%;
    border:30px solid rgba(255,255,255,.12);
    pointer-events:none;
}
.gc-prayer-cta-head,
.gc-prayer-cta-list{
    position:relative;
    z-index:1;
}
.gc-prayer-cta-head{
    margin-bottom:16px;
}
.gc-prayer-cta-head span{
    display:block;
    margin-bottom:6px;
    color:rgba(255,255,255,.78);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:0;
    text-transform:uppercase;
}
.gc-prayer-cta-head h2{
    margin:0;
    color:#fff;
    font-size:1.65rem;
    line-height:1.12;
    font-weight:900;
}
.gc-prayer-cta-head p{
    margin:8px 0 0;
    color:rgba(255,255,255,.82);
    font-weight:600;
    line-height:1.45;
}
.gc-prayer-cta-list{
    display:grid;
    gap:12px;
}
.gc-prayer-cta-item{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:58px minmax(0, 1fr) auto;
    align-items:center;
    gap:13px;
    min-height:80px;
    padding:13px;
    border-radius:20px;
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.36);
    box-shadow:0 16px 30px rgba(15,23,42,.19), inset 0 1px 0 rgba(255,255,255,.32);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.gc-prayer-cta-item::before{
    content:'';
    position:absolute;
    inset:-70% auto auto -22%;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    pointer-events:none;
}
.gc-prayer-cta-item::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.18) 42%, transparent 70%);
    transform:translateX(-120%);
    opacity:.8;
    pointer-events:none;
    transition:transform .55s ease;
}
.gc-prayer-cta-item:hover,
.gc-prayer-cta-item:focus-visible{
    transform:translateY(-2px);
    color:#fff;
    box-shadow:0 20px 38px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.36);
    filter:saturate(1.06);
}
.gc-prayer-cta-item:hover::after,
.gc-prayer-cta-item:focus-visible::after{
    transform:translateX(120%);
}
.gc-prayer-cta-item--intentions{
    background:linear-gradient(135deg, #c81e32 0%, #ef4444 58%, #fb7185 100%);
}
.gc-prayer-cta-item--sessions{
    background:linear-gradient(135deg, #1d4ed8 0%, #2563eb 48%, #22c7e8 100%);
}
.gc-prayer-cta-item--rooms{
    background:linear-gradient(135deg, #15803d 0%, #16a34a 52%, #84cc16 100%);
}
.gc-prayer-cta-icon{
    position:relative;
    z-index:1;
    width:58px;
    height:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.22);
    border:1px solid rgba(255,255,255,.36);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 10px 18px rgba(15,23,42,.13);
}
.gc-prayer-cta-icon svg{
    width:26px;
    height:26px;
    fill:currentColor;
}
.gc-prayer-cta-copy{
    position:relative;
    z-index:1;
    min-width:0;
    display:grid;
    gap:4px;
}
.gc-prayer-cta-copy strong{
    color:#fff;
    font-size:1.04rem;
    line-height:1.2;
    font-weight:900;
    text-shadow:0 1px 1px rgba(15,23,42,.14);
}
.gc-prayer-cta-copy small{
    color:rgba(255,255,255,.9);
    font-size:.82rem;
    line-height:1.25;
    font-weight:800;
}
.gc-prayer-cta-action{
    position:relative;
    z-index:1;
    min-width:58px;
    min-height:40px;
    padding:0 15px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    background:rgba(255,255,255,.9);
    color:#b91c1c;
    font-size:.86rem;
    font-weight:900;
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 9px 18px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
.gc-prayer-cta-item--sessions .gc-prayer-cta-action{color:#1d4ed8}
.gc-prayer-cta-item--rooms .gc-prayer-cta-action{color:#15803d}

@media (max-width: 420px){
    .gc-prayer-cta{
        margin:14px 12px 12px;
        padding:16px;
        border-radius:22px;
    }
    .gc-prayer-cta-head h2{font-size:1.45rem}
    .gc-prayer-cta-head p{font-size:.92rem}
    .gc-prayer-cta-item{
        grid-template-columns:48px minmax(0, 1fr) auto;
        gap:10px;
        min-height:72px;
        padding:10px;
        border-radius:16px;
    }
    .gc-prayer-cta-icon{
        width:48px;
        height:48px;
        border-radius:14px;
    }
    .gc-prayer-cta-copy strong{font-size:.94rem}
    .gc-prayer-cta-copy small{font-size:.76rem}
    .gc-prayer-cta-action{
        min-width:46px;
        min-height:34px;
        padding:0 11px;
        font-size:.8rem;
    }
}

[data-theme="dark"] .gc-prayer-cta{
    background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(145deg, rgba(153,27,27,.92), rgba(126,34,42,.9) 47%, rgba(8,111,126,.9));
    border-color:rgba(255,255,255,.18);
    box-shadow:0 18px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
}
[data-theme="dark"] .gc-prayer-cta-item{
    border-color:rgba(255,255,255,.18);
    box-shadow:0 12px 26px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
}

.daily-devotion-teasers{
    margin:var(--space-4) var(--space-4) var(--space-3);
    padding:16px;
    border-radius:24px;
    border:1px solid rgba(0,85,165,.13);
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.88));
    box-shadow:0 18px 46px rgba(15,23,42,.11);
}
.daily-devotion-teasers__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
}
.daily-devotion-teasers__head span{
    color:var(--color-primary);
    font-size:.76rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.daily-devotion-teasers__head h2{
    margin:0;
    color:#172033;
    font-size:1.08rem;
    line-height:1.25;
    font-weight:900;
    text-align:right;
}
.daily-devotion-teasers__grid{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(480px,1fr));
    gap:12px;
}
.daily-devotion-card{
    position:relative;
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:13px;
    min-width:0;
    padding:10px;
    border-radius:18px;
    color:#172033;
    text-decoration:none;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(148,163,184,.22);
    box-shadow:0 12px 30px rgba(15,23,42,.09);
    overflow:hidden;
}
.daily-devotion-card::after{
    content:'';
    position:absolute;
    inset:auto 0 0 0;
    height:3px;
    background:linear-gradient(90deg,var(--color-primary),#c5303d,#f59e0b);
}
.daily-devotion-card__image{
    display:block;
    border-radius:14px;
    overflow:hidden;
    background:#e2e8f0;
}
.daily-devotion-card__image img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}
.daily-devotion-card__body{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:6px;
}
.daily-devotion-card__label{
    width:max-content;
    max-width:100%;
    padding:4px 9px;
    border-radius:999px;
    color:#b91c1c;
    background:rgba(254,226,226,.72);
    font-size:.72rem;
    font-weight:900;
}
.daily-devotion-card strong{
    color:#101827;
    font-size:.98rem;
    line-height:1.25;
    font-weight:900;
}
.daily-devotion-card__excerpt{
    color:#475569;
    font-size:.82rem;
    line-height:1.35;
}
.daily-devotion-card__cta{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    margin-top:2px;
    color:var(--color-primary);
    font-size:.82rem;
    font-weight:900;
}
.daily-devotion-card__cta span{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:999px;
    color:#fff;
    background:var(--color-primary);
}
@media (max-width:720px){
    .daily-devotion-card__excerpt{display:none}
    .daily-devotion-teasers{padding:14px 12px;border-radius:20px}
    .daily-devotion-teasers__head{display:block}
    .daily-devotion-teasers__head h2{text-align:left;font-size:1rem}
    .daily-devotion-teasers__grid{grid-template-columns:1fr;gap:10px;overflow:visible;scroll-snap-type:none;padding-bottom:0}
    .daily-devotion-card{width:100%;grid-template-columns:104px minmax(0,1fr)}
}
[data-theme="dark"] .daily-devotion-teasers{
    background:linear-gradient(135deg,rgba(15,23,42,.9),rgba(30,41,59,.78));
    border-color:rgba(255,255,255,.1);
}
[data-theme="dark"] .daily-devotion-teasers__head h2,
[data-theme="dark"] .daily-devotion-card strong{color:#e2e8f0}
[data-theme="dark"] .daily-devotion-card{
    background:rgba(15,23,42,.78);
    border-color:rgba(255,255,255,.1);
}
[data-theme="dark"] .daily-devotion-card__excerpt{color:#94a3b8}
@media (max-width: 440px) {
    .lang-switcher__name {
        display: none;
    }
    .nd-reading-cta__image {
    display: block;
    min-height: 100%;
    border-radius: 16px;
    overflow: hidden;
    background: 
color-mix(in srgb, var(--nd-reading-color) 10%, #e2e8f0 90%);
    display: none !important; 
}
}
