:root{--font-primary: "Inter", Arial, sans-serif;--font-secondary: "Roboto", sans-serif;--primary-color: #007bff;--primary-hover: #0056b3;--text-color: #333;--text-light: #666;--border-color: #ddd;--background-light: #f8f9fa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);font-size:16px;color:var(--text-color);background:var(--background-light);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700;margin-bottom:10px;color:var(--text-color)}h1{font-size:2.5rem;font-weight:800;color:var(--primary-color)}h2{font-size:2rem;font-weight:700}h3{font-size:1.75rem;font-weight:700}h4{font-size:1.5rem;font-weight:600}h5{font-size:1.25rem;font-weight:600}h6{font-size:1rem;font-weight:500;color:var(--text-light)}p{font-size:1rem;line-height:1.8;color:var(--text-color);margin-bottom:15px}.small-text{font-size:.875rem;color:var(--text-light)}.bold{font-weight:700}.italic{font-style:italic}a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .3s ease-in-out}a:hover{color:var(--primary-hover)}.button{display:inline-block;background:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;padding:12px 20px;border-radius:5px;border:none;cursor:pointer;transition:background .3s ease-in-out}.button:hover{background:var(--primary-hover)}blockquote{font-size:1.25rem;font-style:italic;color:var(--text-light);border-left:4px solid var(--primary-color);padding-left:15px;margin:20px 0}ul,ol{margin-left:20px}ul li{list-style-type:disc}ol li{list-style-type:decimal}@media (max-width: 1200px){h1{font-size:2.2rem}h2{font-size:1.8rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}}@media (max-width: 768px){body{font-size:14px}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.4rem}h4{font-size:1.2rem}}@media (max-width: 480px){body{font-size:13px}h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.2rem}h4{font-size:1rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;background-color:var(--background-color);margin:0;padding:0}html,body{height:100%;margin:0;display:flex;flex-direction:column}header{padding:10px}nav{display:flex;align-items:center;justify-content:space-between}main{flex:1;flex-direction:column;display:flex;padding:50px 5px}footer{text-align:center;padding:10px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}nav{position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;background-color:var(--primary-color);padding:10px 20px;box-shadow:0 4px 8px #0000001a;z-index:200}nav a{color:#fff;text-decoration:none;font-size:1.2rem;font-weight:700;transition:color .3s ease}nav a:hover{color:var(--primary-color-hover)}#searchInput{flex:1;max-width:300px;padding:8px 12px;margin:0 15px;border:1px solid var(--border-color);border-radius:20px;font-size:1rem;outline:none;transition:all .3s ease-in-out}#searchInput:focus{border-color:var(--primary-color);box-shadow:0 0 8px #1565c080}.icon-button{display:flex;align-items:center;gap:8px;background:var(--primary-color-hover);color:#fff;border:none;padding:10px 15px;font-size:1rem;font-weight:700;cursor:pointer;border-radius:25px;transition:background .3s ease-in-out,transform .2s}.icon-button i{font-size:1.2rem}.icon-button:hover{background:var(--primary-color);transform:scale(1.05)}span.badge{font-size:8pt;position:absolute;left:0;padding:5px;border-radius:5px;width:90px;height:25px}span.badge-public{background-color:#91b992;color:#fff}span.badge-private{background-color:#d8c282;color:dark}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;padding:20px;width:100%}.grid-nav-header{display:flex;justify-content:flex-end;gap:10px;padding:20px}.column{background:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 6px #0000001a;text-align:center;position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:10px;height:100%}.card-header{display:flex;justify-content:space-between;align-items:center;position:relative}.dropdown{position:relative}.dropdown-toggle{background:transparent;border:none;cursor:pointer;font-size:1.2rem;color:#333}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;box-shadow:0 4px 6px #0000001a;border-radius:5px;display:none;min-width:120px;z-index:10}.dropdown-menu.show{display:block}.dropdown-item{display:flex;align-items:center;gap:8px;background:none;border:none;width:100%;text-align:left;padding:10px;font-size:1rem;cursor:pointer;transition:background .2s}.dropdown-item i{font-size:1.1rem}.dropdown-item:hover{background:#f0f0f0}.column-text{margin:20px 0}.grid-nav-button{padding:8px 14px;font-size:1rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s,transform .2s}.grid-nav-button:hover{background-color:#0056b3;transform:scale(1.05)}.grid-nav-button:active{background-color:#004080;transform:scale(.95)}#backToPrograms,#backToEspaces{background-color:#6c757d}#backToPrograms,#backToEspaces:hover{background-color:#5a6268}#backToPrograms,#backToEspaces:active{background-color:#495057}.grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:300px;width:100%;color:var(--primary-color);background:var(--form-background);border-radius:10px;box-shadow:0 4px 8px #0000001a;padding:20px}.grid-empty i{font-size:4rem;color:var(--primary-color-hover);margin-bottom:10px}.grid-empty p{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin:0}.column .icon-button.view{font-size:12px;padding:4px 8px;height:28px;min-width:60px;line-height:1;justify-self:start;background-color:transparent;border:1px solid var(--primary-color-hover);color:var(--primary-color-hover);border-radius:4px;cursor:pointer;transition:background-color .3s ease-in-out,color .3s ease-in-out}.column .icon-button.view:hover{background-color:var(--primary-color);color:#fff}.column .icon-button.view i{font-size:14px}@media (max-width: 600px){.grid-empty{height:250px}.grid-empty i{font-size:3rem}.grid-empty p{font-size:1rem}}input[type=text],.program-form input,.program-form select,.program-form textarea{width:100%;padding:10px;margin:10px 0;border:1px solid var(--border-color);border-radius:5px;font-size:1rem}.program-form textarea{height:100px;resize:none}.program-form button,.dialog-box button,.alert-box button{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;font-size:1rem;cursor:pointer;border-radius:5px;transition:background .3s ease,transform .2s ease}.program-form button:hover,.dialog-box button:hover,.alert-box button:hover{background:var(--primary-color-hover);transform:scale(1.05)}.dialog-box button#confirmNo,.alert-box button#alertClose{background:var(--danger-color)}.dialog-box button#confirmNo:hover,.alert-box button#alertClose:hover{background:var(--danger-color-hover)}.dialog-box button,.alert-box button{box-shadow:0 2px 5px #0003}.program-form button:focus,.dialog-box button:focus,.alert-box button:focus{outline:2px solid var(--primary-color-hover);outline-offset:2px}.alert-overlay,.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.alert-box,.dialog-box{background:var(--dialog-background);padding:20px;border-radius:10px;box-shadow:0 5px 15px #0003;text-align:center;width:320px}.alert-box p,.dialog-box p{font-size:1.2rem;color:#333;margin-bottom:15px}.dialog-buttons{display:flex;justify-content:space-around}.dialog-box.qr-dialog{background:var(--dialog-background);padding:20px;border-radius:12px;box-shadow:0 5px 15px #0003;text-align:center;width:320px;animation:fadeIn .3s ease-in-out}.qr-code-display{display:flex;justify-content:center;margin:auto}#closeQRCodeDialog{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;font-size:1rem;cursor:pointer;border-radius:6px;transition:background .3s ease-in-out,transform .2s}#closeQRCodeDialog:hover{background:var(--primary-color-hover);transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.column{padding:15px}nav{flex-direction:column;text-align:center}#searchInput{max-width:70%;margin:10px 0}}.truncate-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:4.5em}.program-details{background:linear-gradient(135deg,#a1c4fd,#2196f3);color:#fff;border-radius:10px;padding:20px;max-width:95%;margin:20px auto;box-shadow:0 4px 10px #0003}.program-details h5{font-size:22px;font-weight:700;text-align:center;margin-bottom:15px;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:10px}.program-details .grid-nav-header{display:flex;justify-content:space-between;margin-bottom:15px}.program-details .grid-nav-button{background:#ffffff4d;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-size:16px;cursor:pointer;transition:.3s}.program-details .grid-nav-button:hover{background:#ffffff80}.program-details .program-details-container{background:#fff;color:#333;border-radius:8px;padding:15px;box-shadow:0 2px 6px #0000001a}.program-details .copy-text-button{background:#a1c4fd;color:#fff;border:none;padding:8px 12px;border-radius:5px;font-size:16px;cursor:pointer;transition:.3s;float:right}.program-details .copy-text-button:hover{background:#2196f3}.program-details .content-container{display:grid;gap:20px}.program-details .content-column{background:#a1c4fd26;padding:15px;border-radius:8px;display:flex;flex-direction:column;height:100%}.program-details .content-column h3{font-size:18px;font-weight:700;margin-bottom:10px;color:#1e88e5}.program-details .program-text{font-size:16px;line-height:1.6;color:#333;flex-grow:1;overflow-y:auto;max-height:250px;padding-right:10px}.program-details .program-text .number{font-weight:700;font-size:18px;color:#2196f3}.program-details .column-selector{display:none;margin-top:15px;text-align:center}.program-details .column-selector .column-btn{background:#a1c4fd;color:#fff;border:none;padding:8px 12px;border-radius:5px;font-size:16px;cursor:pointer;margin:5px;transition:.3s}.program-details .column-selector .column-btn:hover{background:#1e88e5}@media (min-width: 768px){.program-details .column-selector{display:flex;justify-content:center}}.program-details .content-container{grid-template-columns:1fr}.program-details .content-container.two-columns{grid-template-columns:repeat(2,1fr)}.program-details .content-container.three-columns{grid-template-columns:repeat(3,1fr)}.content-container{display:grid;gap:15px;padding:20px 0}.three-columns{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.three-columns{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.three-columns{grid-template-columns:1fr}}.content-column{background:var(--column-bg);padding:15px;border-radius:8px;box-shadow:0 2px 5px #0000001a;text-align:left}.content-column h3{font-size:1.4rem;color:var(--primary-color);margin-bottom:8px}.content-column div{font-size:1rem;line-height:1.6;color:#444}.nav-buttons{display:flex;justify-content:flex-end;margin-top:20px}.nav-button{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;font-size:1rem;cursor:pointer;border-radius:5px;transition:background .3s ease-in-out,transform .2s}.nav-button:hover{background:var(--primary-color-hover);transform:scale(1.05)}@media (max-width: 600px){.program-details{padding:15px}.nav-button{width:100%;text-align:center}}.program-form{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 8px #0000001a;max-width:600px;margin:30px auto;text-align:center}.program-form h3{font-size:1.3rem;color:var(--primary-color);margin:15px 0 10px;text-align:left}.program-form input,.program-form select,.program-form textarea{width:100%;padding:10px;margin:8px 0;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;outline:none;transition:all .3s ease-in-out;box-shadow:0 2px 4px #0000000d}.program-form input:focus,.program-form select:focus,.program-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 8px #1565c080}.program-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;cursor:pointer}.program-form textarea{height:120px;resize:vertical}.alert{display:none;padding:10px;border-radius:5px;margin:10px 0;text-align:center}.program-form .form-button{width:48%;padding:12px;font-size:1rem;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease-in-out,transform .2s}#saveProgramButton{background:var(--primary-color);color:#fff}#saveProgramButton:hover{background:var(--primary-color-hover);transform:scale(1.05)}#cancelProgramButton{background:var(--danger-color);color:#fff}#cancelProgramButton:hover{background:var(--danger-color-hover);transform:scale(1.05)}@media (max-width: 768px){.program-form{max-width:90%;padding:20px}.program-form .form-button{width:100%;margin-top:10px}}.type-icon{font-size:1.5rem;color:var(--primary-color);display:inline-flex;align-items:center;gap:8px;font-weight:700}.icon-song:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.icon-prayer:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.icon-verse:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.icon-text:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.icon-espace:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}span.number{color:#333;font-weight:bolder;font-size:1em}.editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:1000}.editor-overlay.visible{display:flex}.editor-container{background:#fff;width:90%;max-width:800px;padding:20px;border-radius:10px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;gap:10px}.editor-textarea{width:100%;height:300px;font-size:1rem;padding:10px;border:1px solid var(--border-color);border-radius:5px;resize:none;outline:none}.editor-actions{display:flex;justify-content:flex-end;gap:10px}.editor-actions button{background:var(--primary-color);color:#fff;border:none;padding:8px 12px;font-size:1rem;cursor:pointer;border-radius:5px;transition:background .3s ease-in-out}.editor-actions button:hover{background:var(--primary-color-hover)}.expand-editor{position:absolute;bottom:13px;right:5px;background:var(--primary-color);border:none;color:#fff;font-size:1rem;cursor:pointer;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:background .3s ease-in-out}.expand-editor:hover{background:var(--primary-color-hover)}.espace-form{background:var(--dialog-background);padding:25px;border-radius:10px;box-shadow:0 4px 8px #0000001a;max-width:600px;margin:30px auto;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.espace-form .form-group{position:relative;margin-bottom:15px}.espace-form:hover{transform:translateY(-3px);box-shadow:0 6px 12px #00000026}.espace-form h2{font-size:1.8rem;color:var(--primary-color);margin-bottom:15px;text-align:center}.espace-form label{display:block;font-weight:700;font-size:1rem;color:var(--primary-color-hover);margin-bottom:5px;text-align:left}.espace-form input,.espace-form textarea{width:100%;padding:10px;margin:8px 0;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;background:var(--form-background);transition:all .3s ease-in-out;box-shadow:0 2px 4px #0000000d}.espace-form input:focus,.espace-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 8px #1565c080;outline:none}.espace-form textarea{height:120px;resize:vertical}.espace-form select{width:100%;padding:10px;border:2px solid #ccc;border-radius:6px;background-color:#fff;font-size:16px;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .3s,box-shadow .3s}.espace-form select:focus{border-color:#007bff;box-shadow:0 0 5px #007bff80;outline:none}.espace-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.espace-form select:disabled{background-color:#f5f5f5;cursor:not-allowed}.alert{display:none;padding:10px;border-radius:5px;margin:10px 0;text-align:center;font-size:.9rem}.alert-danger{background:var(--alert-danger-bg);color:var(--alert-danger-text);border:1px solid var(--alert-danger-text)}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-text)}.espace-form .form-button{width:48%;padding:12px;font-size:1rem;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease-in-out,transform .2s}#saveEspaceButton{background:var(--primary-color);color:#fff}#saveEspaceButton:hover{background:var(--primary-color-hover);transform:scale(1.05)}#cancelEspaceButton{background:var(--danger-color);color:#fff}#cancelEspaceButton:hover{background:var(--danger-color-hover);transform:scale(1.05)}@media (max-width: 768px){.espace-form{max-width:90%;padding:20px}.espace-form .form-button{width:100%;margin-top:10px}}.login-container{display:flex;width:90%;max-width:800px;height:400px;background:#fff;border-radius:10px;box-shadow:0 0 10px #0000001a;overflow:hidden;flex-direction:row;margin:auto}.login-left{flex:1;background:linear-gradient(135deg,#6a11cb,#2575fc);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;text-align:center}.login-left h1{margin:0 0 10px;color:#fff}.login-left p{max-width:80%;color:#fff}.login-dialog{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}.login-dialog input{width:80%;padding:10px;margin:10px 0;border:1px solid #ccc;border-radius:5px}#browse-shared-spaces{width:80%;padding:10px;border:none;background:#79759e;color:#fff;font-size:16px;border-radius:5px;cursor:pointer}#browse-shared-spaces:hover{background:#636072}.login-dialog button{width:80%;padding:10px;border:none;background:#2575fc;color:#fff;font-size:16px;border-radius:5px;cursor:pointer}.login-dialog button:hover{background:#1e5bc0}@media (max-width: 600px){.login-container{flex-direction:column;height:auto}.login-left,.login-dialog{padding:15px}}.verify-container{display:flex;width:90%;max-width:500px;height:300px;background:#fff;border-radius:10px;box-shadow:0 0 10px #0000001a;overflow:hidden;flex-direction:column;justify-content:center;align-items:center;margin:auto;padding:20px}.verify-dialog{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%}.verify-dialog p{margin-bottom:15px;font-size:14px;color:#555}.verify-dialog input{width:80%;padding:10px;margin:10px 0;border:1px solid #ccc;border-radius:5px;font-size:16px;text-align:center}.verify-dialog button{width:80%;padding:10px;border:none;background:#2575fc;color:#fff;font-size:16px;border-radius:5px;cursor:pointer;margin-top:10px}.verify-dialog button:hover{background:#1e5bc0}@media (max-width: 600px){.verify-container{width:100%;height:auto;padding:15px}}.user-profile-div{position:relative;display:inline-block;margin-left:auto}.user-profile-div .profile-button{background-color:#007bff;border:none;color:#fff;font-size:1.5rem;border-radius:50%;padding:5px;cursor:pointer;transition:background .3s;width:46px;height:46px}.user-profile-div .profile-button:hover{background-color:#0056b3}.user-profile-div .dropdown-menu{position:absolute;right:0;top:50px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;width:200px;padding:10px;z-index:1000;display:none}.user-profile-div .dropdown-menu.show{display:block}.user-profile-div .user-info{text-align:center;padding:10px;border-bottom:1px solid #ddd}.user-profile-div .user-avatar{width:50px;height:50px;border-radius:50%}.user-profile-div .user-name{font-weight:700;margin:5px 0}.user-profile-div .user-email{font-size:.85rem;color:gray}.user-profile-div .dropdown-item{width:100%;padding:8px;text-align:left;border:none;background:none;cursor:pointer;font-size:1rem;display:block}.user-profile-div .dropdown-item:hover{background-color:#007bff;color:#fff}.user-profile-div .logout{color:red}.user-profile-div .logout:hover{background-color:#ff00001a}:root{--primary-color: #1565c0;--primary-color-hover: #0d47a1;--danger-color: #b71c1c;--danger-color-hover: #8e0000;--background-color: #e3f2fd;--dialog-background: #ffffff;--form-background: #f0f8ff;--alert-danger-bg: #ffebee;--alert-danger-text: #c62828;--alert-success-bg: #e8f5e9;--alert-success-text: #2e7d32;--column-bg: #f9f9f9;--border-color: #ccc}@media (max-width: 762px){nav .icon-button span{display:none}nav{display:ruby;z-index:100}}
