.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem}.error-boundary-content{background:#fff;border-radius:8px;padding:2rem;max-width:500px;box-shadow:0 2px 8px #0000001a;text-align:center}.error-boundary-content h2{color:#d32f2f;margin-bottom:1rem}.error-message{color:#666;margin-bottom:1.5rem}.error-actions{display:flex;gap:1rem;justify-content:center}.retry-button,.home-button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.retry-button{background-color:#0a9396;color:#fff}.retry-button:hover{background-color:#005f73}.home-button{background-color:#e0e0e0;color:#333}.home-button:hover{background-color:#d0d0d0}.error-details{margin-top:2rem;text-align:left;background:#f5f5f5;padding:1rem;border-radius:4px}.error-details summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.error-details pre{overflow-x:auto;font-size:.85rem;color:#666}.navigation-sidebar{position:fixed;left:0;top:0;height:100vh;width:250px;background-color:#3a4a5c;color:#fff;display:flex;flex-direction:column;transition:width .3s ease;z-index:999;box-shadow:2px 0 8px #0000004d;padding:0;margin:0;box-sizing:border-box;overflow:hidden;max-height:100vh}.navigation-sidebar.collapsed{width:70px}.sidebar-toggle{background-color:#3a4a5c;border:none;padding:2rem 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;border-bottom:1px solid rgba(0,0,0,.2);height:134px;min-height:134px;max-height:134px;box-sizing:border-box;flex-shrink:0}.sidebar-toggle:hover{background-color:#2d3748}.logo-toggle{display:flex;align-items:center;justify-content:center;width:100%}.logo-circle-toggle{width:50px;height:50px;border-radius:50%;background-color:transparent;border:none;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;padding:6px;box-sizing:border-box}.sidebar-toggle:hover .logo-circle-toggle{transform:scale(1.05);box-shadow:0 0 10px #0a939680}.navigation-sidebar.collapsed .logo-circle-toggle{width:50px;height:50px}.logo-j-toggle,.logo-j-toggle-fallback{width:100%;height:100%;object-fit:contain;display:block}.logo-j-toggle-fallback{position:absolute;top:0;left:0}.sidebar-nav{flex:1 1 0;display:flex;flex-direction:column;padding:1rem 0;gap:.5rem;overflow-y:auto!important;overflow-x:hidden;min-height:0;height:calc(100vh - 134px)!important;max-height:calc(100vh - 134px)!important;position:relative;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;-webkit-overflow-scrolling:touch;will-change:scroll-position;pointer-events:auto!important;touch-action:pan-y!important;overscroll-behavior:contain}.sidebar-nav::-webkit-scrollbar{width:8px;display:block!important}.sidebar-nav::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#ffffff80;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background-color:#ffffffb3}.nav-link{display:flex;align-items:center;padding:1rem 1.5rem;color:#fff;text-decoration:none;transition:all .2s;position:relative;gap:1rem;white-space:normal;word-wrap:break-word;width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:inherit;cursor:pointer;min-width:0;min-height:48px;box-sizing:border-box}.nav-link.nav-parent{justify-content:space-between}.nav-arrow{font-size:.75rem;transition:transform .3s ease;margin-left:auto;color:#ffffffb3}.nav-arrow.expanded{transform:rotate(180deg)}.nav-group{display:flex;flex-direction:column}.nav-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:#0000001a}.nav-submenu.expanded{max-height:2000px;overflow:visible}.nav-sublink{padding-left:3rem;font-size:.9rem;padding-right:1rem}.nav-sublink.active{background-color:#00000040;color:#fff;font-weight:600}.nav-sublink.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:#0a9396}.nav-link:hover{background-color:#0000001a;color:#000}.nav-link.active{background-color:#0003;color:#fff;font-weight:600}.nav-parent.active{background-color:#00000026}.nav-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:#000}.nav-icon{font-size:1.5rem;width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-text{font-size:1rem;font-weight:500;transition:opacity .3s ease;opacity:1;flex:1;min-width:0;line-height:1.4}.navigation-sidebar.collapsed .nav-text{opacity:0;width:0;overflow:hidden}.navigation-sidebar.collapsed .nav-link{justify-content:center;padding:1rem 1.5rem;min-height:48px;height:48px;box-sizing:border-box}.navigation-sidebar.collapsed .nav-submenu,.navigation-sidebar.collapsed .nav-arrow{display:none}.navigation-sidebar.collapsed .nav-link:hover .nav-text{opacity:0}.navigation-sidebar.collapsed .nav-link{position:relative}.navigation-sidebar.collapsed .nav-link:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:#3a4a5c;color:#fff;padding:.5rem 1rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;margin-left:.5rem;font-size:.9rem;z-index:999;box-shadow:0 2px 8px #0000004d}.navigation-sidebar.collapsed .nav-link:hover:after{opacity:1}@media (max-width: 768px){.navigation-sidebar{width:70px}.navigation-sidebar:not(.collapsed){width:250px}.nav-text{font-size:.9rem}body:has(.navigation-sidebar.collapsed) .app,.app.has-collapsed-nav{margin-left:70px}body:has(.navigation-sidebar:not(.collapsed)) .app,.app:not(.has-collapsed-nav){margin-left:250px}}.user-avatar-container{position:relative}.user-avatar-button{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;overflow:hidden;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.user-avatar-button:hover{transform:scale(1.05)}.user-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-avatar-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;min-width:200px;z-index:1000;overflow:hidden}.dropdown-header{padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.dropdown-name{font-weight:600;color:#333;margin-bottom:.25rem;font-size:.95rem}.dropdown-role{font-size:.85rem;color:#666;text-transform:capitalize}.dropdown-divider{height:1px;background-color:#e0e0e0}.dropdown-item{width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.95rem;color:#333;transition:background-color .2s}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item.logout{color:#dc3545}.dropdown-item.logout:hover{background-color:#fff5f5}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a9396,#005f73);padding:2rem}.login-box{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;padding:3rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#005f73;font-size:2rem;margin-bottom:.5rem;font-weight:600}.login-header p{color:#666;font-size:1rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;border:1px solid #f5c6cb;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#333;font-size:.95rem}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#0a9396;box-shadow:0 0 0 2px #0a93961a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{background-color:#0a9396;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.login-button:hover:not(:disabled){background-color:#005f73}.login-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 768px){.login-box{padding:2rem}}.app-footer{background-color:#3a4a5c;color:#ffffffb3;padding:.5rem 0;width:100%;box-sizing:border-box;flex-shrink:0;border-top:1px solid rgba(0,0,0,.2)}.footer-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:center}.footer-text{font-size:8pt;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;letter-spacing:.5px}.app{min-height:100vh;display:flex;flex-direction:column;margin-left:250px;transition:margin-left .3s ease}.app:has(.bible-container){height:100vh;overflow:hidden}body:has(.navigation-sidebar.collapsed) .app{margin-left:70px}@supports not selector(:has(*)){.app.has-collapsed-nav{margin-left:70px}}.app-header{background-color:#3a4a5c;color:#fff;padding:2rem 0;box-shadow:0 2px 8px #0000004d;width:100%;position:relative;z-index:999;box-sizing:border-box;min-height:134px}.header-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.header-right{display:flex;align-items:center;gap:1rem}.logo{display:flex;align-items:center;gap:0}.logo-circle{width:70px;height:70px;border-radius:50%;background-color:#0a9396;border:2px solid #000000;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;padding:8px;box-sizing:border-box}.logo-j,.logo-j-fallback{width:100%;height:100%;object-fit:contain;display:block}.logo-j-fallback{position:absolute;top:0;left:0}.logo-text{display:flex;flex-direction:column;line-height:1.2}.journey{font-size:1.8rem;font-weight:300;letter-spacing:4px;color:#0a9396;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;text-transform:uppercase;margin:0;padding:0}.church{font-size:1rem;font-weight:300;letter-spacing:3px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;text-transform:uppercase;margin:2px 0 0;padding:0}.location-text{font-size:.85rem;font-weight:300;letter-spacing:1px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;margin:4px 0 0;padding:0;opacity:.9}.app-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem;background-color:#f5f5f5}.app-main:has(.bible-container),.app-main:has(.home-container){overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 174px);padding:0}.app-main:has(.bible-container) .bible-container,.app-main:has(.home-container) .home-container{height:100%;padding:2rem;box-sizing:border-box}@media (max-width: 768px){.header-content{justify-content:center}.logo{gap:1rem}.logo-circle{width:60px;height:60px}.logo-j{font-size:2.8rem}.journey{font-size:1.4rem;letter-spacing:3px}.church{font-size:.85rem;letter-spacing:2px}.location-text{font-size:.75rem;letter-spacing:.5px}}.skeleton-sermon-card,.skeleton-card,.skeleton-list-item{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.skeleton-sermon-card{display:flex;flex-direction:column}.skeleton-thumbnail{width:100%;height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:8px;margin-bottom:1rem}.skeleton-content{display:flex;flex-direction:column;gap:.5rem}.skeleton-line{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-line.long{width:100%}.skeleton-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-list-item{display:flex;align-items:center;gap:1rem}.skeleton-table-row td{padding:1rem}.skeleton-table-row .skeleton-line{height:14px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}html:has(.bible-container),body:has(.bible-container),html:has(.home-container),body:has(.home-container){height:100%;overflow:hidden}#root:has(.bible-container),#root:has(.home-container){height:100%;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
