*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2c5282;--secondary-color: #3182ce;--accent-color: #805ad5;--background-color: #f7fafc;--text-color: #2d3748;--text-light: #718096;--text-muted: #a0aec0;--white: #ffffff;--success: #48bb78;--warning: #ed8936;--error: #e53e3e;--info: #3182ce;--border-radius: 8px;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--transition: all .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,var(--background-color) 0%,#e2e8f0 100%);color:var(--text-color);min-height:100vh;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:var(--white);box-shadow:var(--shadow);padding:1rem 0;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;font-size:1.2rem;transition:var(--transition)}.logo-icon:hover{transform:scale(1.05)}.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.user-info{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-light);flex-wrap:wrap}.main-content{padding:2rem 0;min-height:calc(100vh - 80px)}.welcome-section{text-align:center;margin-bottom:3rem}.welcome-title{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.1rem;color:var(--text-light);max-width:600px;margin:0 auto}.access-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.access-card{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:2rem;text-align:center;transition:var(--transition);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}.access-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.access-card:hover:before{left:100%}.access-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #0003;border-color:var(--secondary-color)}.access-card-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:2rem;transition:var(--transition)}.access-card:hover .access-card-icon{transform:scale(1.1) rotate(5deg)}.access-card h3{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem}.access-card p{color:var(--text-light);margin-bottom:1.5rem;line-height:1.6}.btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--white);border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-block;min-width:120px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2c52824d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--white);color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:var(--white)}.schedule-info{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;margin-top:3rem}.schedule-title{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.schedule-item{padding:1.5rem;border:1px solid #e2e8f0;border-radius:var(--border-radius);background:#f8fafc;transition:var(--transition);text-align:center}.schedule-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.schedule-item h4{color:var(--primary-color);margin-bottom:.5rem;font-weight:600}.schedule-time{color:var(--text-light);font-size:1rem;font-weight:500}.status-section{margin-top:2rem}.status-card{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;text-align:center}.status-card h3{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.3rem}.status-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:var(--border-radius);transition:var(--transition)}.status-item:hover{background:#e2e8f0}.status-label{font-weight:600;color:var(--text-color)}.status-value{font-weight:500}.status-online{color:var(--success)}.status-pending{color:var(--warning)}.status-offline{color:var(--error)}.form-container{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:2rem;max-width:500px;margin:2rem auto}.form-title{font-size:1.8rem;font-weight:600;color:var(--primary-color);text-align:center;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-input,.form-select{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:var(--border-radius);font-size:1rem;transition:var(--transition);background:var(--white)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #3182ce1a}.system-status-mini{margin-top:1rem;padding:.5rem;background:#f8fafc;border-radius:var(--border-radius);text-align:center}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.prayer-container{display:grid;grid-template-columns:1fr 320px;gap:2rem;min-height:calc(100vh - 160px)}.prayers-main{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;overflow-y:auto;max-height:calc(100vh - 160px)}.prayers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.prayers-title{font-size:2rem;font-weight:600;color:var(--primary-color);margin:0}.prayer-item{margin-bottom:2rem;padding:1.5rem;border-left:4px solid var(--primary-color);background:#f8fafc;border-radius:0 var(--border-radius) var(--border-radius) 0;position:relative;transition:var(--transition)}.prayer-item:hover{transform:translate(4px);box-shadow:var(--shadow)}.prayer-number{position:absolute;top:-10px;right:1rem;background:var(--primary-color);color:var(--white);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.prayer-title{font-size:1.3rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem}.prayer-content{font-size:1.1rem;line-height:1.8;color:var(--text-color);margin-bottom:1rem}.prayer-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.prayer-type{background:var(--secondary-color);color:var(--white);padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500}.live-sidebar{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;position:sticky;top:100px;height:fit-content;max-height:calc(100vh - 120px);display:flex;flex-direction:column}.live-status{text-align:center;margin-bottom:1.5rem}.status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;transition:var(--transition)}.status-live{background:#e6fffa;color:var(--success);border:2px solid var(--success)}.status-upcoming{background:#fef5e7;color:var(--warning);border:2px solid var(--warning)}.status-offline{background:#f7fafc;color:var(--text-light);border:2px solid var(--text-light)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.video-container{width:100%;height:220px;background:#000;border-radius:var(--border-radius);margin-bottom:1rem;position:relative;overflow:hidden}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--white);text-align:center;padding:1rem}.video-placeholder-icon{font-size:3rem;margin-bottom:.5rem;opacity:.7}.chat-container{border:1px solid #e2e8f0;border-radius:var(--border-radius);flex:1;display:flex;flex-direction:column;max-height:350px}.chat-header{padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:var(--border-radius) var(--border-radius) 0 0}.chat-header h4{margin:0;color:var(--primary-color);font-size:1rem}.chat-header small{color:var(--text-muted);font-size:.8rem}.chat-messages{flex:1;padding:1rem;overflow-y:auto;background:var(--white);min-height:200px}.chat-message{margin-bottom:1rem;padding:.8rem;border-radius:var(--border-radius);background:#f8fafc;font-size:.9rem;transition:var(--transition)}.chat-message:hover{background:#e2e8f0}.chat-message.system-message{background:#e6fffa;border-left:3px solid var(--success)}.chat-message.missionary-message{background:#e1e8ff;border-left:3px solid var(--primary-color)}.chat-message-user{font-weight:600;color:var(--primary-color);margin-bottom:.3rem;font-size:.8rem}.chat-message-time{font-size:.7rem;color:var(--text-muted);margin-top:.3rem;text-align:right}.chat-input-container{display:flex;padding:1rem;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 var(--border-radius) var(--border-radius)}.chat-input{flex:1;padding:.8rem;border:1px solid #e2e8f0;border-radius:var(--border-radius);margin-right:.5rem;background:var(--white);transition:var(--transition)}.chat-input:focus{border-color:var(--secondary-color);box-shadow:0 0 0 2px #3182ce1a}.chat-send-btn{padding:.8rem 1rem;background:var(--primary-color);color:var(--white);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;transition:var(--transition);min-width:50px}.chat-send-btn:hover{background:var(--secondary-color);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.missionary-controls{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem}.controls-title{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.control-btn{padding:1.2rem;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition);font-size:1rem;position:relative;overflow:hidden}.control-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.control-btn:hover:before{left:100%}.btn-start{background:linear-gradient(135deg,var(--success),#38a169);color:var(--white);box-shadow:0 4px 15px #48bb784d}.btn-start:hover{transform:translateY(-2px);box-shadow:0 8px 25px #48bb7866}.btn-stop{background:linear-gradient(135deg,var(--error),#c53030);color:var(--white);box-shadow:0 4px 15px #e53e3e4d}.btn-stop:hover{transform:translateY(-2px);box-shadow:0 8px 25px #e53e3e66}.error-message{background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#c53030;padding:1rem 1.5rem;border-radius:var(--border-radius);margin-bottom:1rem;text-align:center;border-left:4px solid #e53e3e;box-shadow:var(--shadow)}.success-message{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);color:#2f855a;padding:1rem 1.5rem;border-radius:var(--border-radius);margin-bottom:1rem;text-align:center;border-left:4px solid #48bb78;box-shadow:var(--shadow)}.info-message{background:linear-gradient(135deg,#bee3f8,#90cdf4);color:#2c5282;padding:1rem 1.5rem;border-radius:var(--border-radius);margin-bottom:1rem;text-align:center;border-left:4px solid #3182ce;box-shadow:var(--shadow)}.warning-message{background:linear-gradient(135deg,#faf089,#f6e05e);color:#744210;padding:1rem 1.5rem;border-radius:var(--border-radius);margin-bottom:1rem;text-align:center;border-left:4px solid #ed8936;box-shadow:var(--shadow)}.text-muted{color:var(--text-muted)}@media (max-width: 768px){.prayer-container{grid-template-columns:1fr;gap:1rem}.live-sidebar{position:static;order:-1;max-height:none}.welcome-title{font-size:2rem}.access-cards{grid-template-columns:1fr;gap:1rem}.schedule-grid{grid-template-columns:1fr}.header-content{text-align:center}.logo-text{font-size:1.2rem}.controls-grid,.status-items{grid-template-columns:1fr}.prayers-header{flex-direction:column;text-align:center}.user-info{justify-content:center}.chat-messages{min-height:150px}.video-container{height:180px}}@media (max-width: 480px){.container{padding:0 15px}.main-content{padding:1rem 0}.form-container,.prayers-main,.live-sidebar{padding:1rem}.welcome-title{font-size:1.8rem}.access-card{padding:1.5rem}.access-card-icon{width:60px;height:60px;font-size:1.5rem}.prayers-title{font-size:1.5rem}.prayer-item{padding:1rem}.chat-input-container{padding:.8rem}.chat-input{padding:.6rem}.chat-send-btn{padding:.6rem .8rem}}.hidden{display:none!important}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}*:focus{outline:2px solid var(--secondary-color);outline-offset:2px}button:focus,.btn:focus{outline:2px solid var(--secondary-color);outline-offset:2px}
