:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-surface-variant);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.input-field{width:100%;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;outline:none;transition:all .2s ease}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;color:var(--color-text-secondary);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-field.pl-10{padding-left:2.5rem}.select-field{padding:.5rem 2rem .5rem 1rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;min-width:150px}.select-field:focus{border-color:var(--color-primary)}.content-filters{margin-top:1rem;margin-bottom:1rem}.content-filters .flex{display:flex}.content-filters .gap-4{gap:1rem}.content-filters .flex-1{flex:1}.content-filters .max-w-md{max-width:28rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-dot{width:.375rem;height:.375rem;border-radius:50%;background-color:currentColor}.badge-success{background-color:#22c55e1a;color:var(--color-success)}.badge-neutral{background-color:#6b72801a;color:var(--color-text-secondary)}.badge-warning{background-color:#eab3081a;color:#eab308}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;border:1px solid transparent;outline:none;font-family:inherit;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){filter:brightness(110%)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){filter:brightness(110%)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(110%)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-variant);color:var(--color-text-primary)}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-surface-variant)}.btn-sm{padding:.25rem .75rem;font-size:.875rem;height:32px}.btn-md{padding:.5rem 1rem;font-size:1rem;height:40px}.btn-lg{padding:.75rem 1.5rem;font-size:1.125rem;height:48px}.btn-icon-only{padding:.5rem;width:40px}.content-list-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;margin-top:1.5rem}.content-table{width:100%;border-collapse:collapse;table-layout:fixed}.content-table th{text-align:left;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.content-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.content-row:last-child td{border-bottom:none}.content-info-cell{display:flex;align-items:center;gap:1rem;overflow:hidden}.content-info-cell>div:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.media-icon.secondary{background-color:#8b5cf6}.media-icon.primary{background-color:#ef4444}.content-title{font-weight:600;color:var(--color-text-primary);margin-bottom:.125rem}.content-subtitle{font-size:.875rem;color:var(--color-text-secondary)}.secondary-cell{display:flex;align-items:center;gap:.75rem}.secondary-avatar{width:28px;height:28px;border-radius:50%;background-color:var(--color-surface-variant);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.secondary-name{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.date-cell{color:var(--color-text-secondary);font-size:.875rem}.lesson-count{color:var(--color-text-primary);font-weight:500;font-size:.875rem}.sermons-page{padding:2rem;max-width:1400px;margin:0 auto}.sermons-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.avatar-placeholder{width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer}.new-sermon-page{padding:2rem;max-width:900px;margin:0 auto}.page-header{margin-bottom:2rem}.sermon-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem}.error-message{background-color:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.form-section:last-of-type{border-bottom:none}.section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.required{color:#ef4444}.textarea-field{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:.875rem;font-family:inherit;color:var(--color-text-primary);background-color:var(--color-background);resize:vertical;transition:border-color .2s}.textarea-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.file-upload-area{position:relative;border:2px dashed var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:var(--color-background)}.file-upload-area:hover{border-color:var(--color-primary);background-color:#6366f105}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-text{font-size:.875rem;color:var(--color-text-primary);margin:0}.upload-text strong{color:var(--color-primary);display:block;margin-bottom:.25rem}.upload-hint,.file-size{font-size:.75rem;color:var(--color-text-secondary)}.upload-progress{margin-top:1rem;height:4px;background-color:var(--color-border);border-radius:2px;overflow:hidden}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.checkbox-input{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}@media(max-width:768px){.new-sermon-page{padding:1rem}.sermon-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.studies-page{padding:2rem;max-width:1400px;margin:0 auto}.studies-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.new-study-page{padding:2rem;max-width:1200px;margin:0 auto}.study-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.lessons-list-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.lessons-table{width:100%;border-collapse:collapse}.lessons-table th{text-align:left;padding:1rem 1.5rem;font-weight:600;font-size:.875rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background-color:var(--color-surface-variant)}.lessons-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.lesson-row:last-child td{border-bottom:none}.lesson-row:hover{background-color:var(--color-surface-variant)}.lesson-order{font-weight:600;color:var(--color-text-secondary)}.order-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-size:.875rem;font-weight:600}.lesson-title-cell{display:flex;align-items:center;gap:.75rem}.lesson-icon{color:var(--color-primary);font-size:1rem;flex-shrink:0}.lesson-title{font-weight:500;color:var(--color-text-primary)}.lessons-empty-state{padding:3rem;text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;display:flex;flex-direction:column;align-items:center}.empty-icon{font-size:3rem;color:var(--color-text-secondary);opacity:.5;margin-bottom:1rem}.empty-text{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.empty-subtext{font-size:.875rem;color:var(--color-text-secondary);margin:0}.edit-study-page{padding:2rem;max-width:1200px;margin:0 auto}.study-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;margin-bottom:2rem}.section-subtitle{color:var(--color-text-secondary);font-size:.875rem;margin:0}.textarea-field{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;font-family:inherit;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);resize:vertical;transition:border-color .2s}.tags-input-container{display:flex;flex-direction:column;gap:.75rem}.tags-display{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2rem}.tag-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--color-primary);color:#fff;border-radius:1rem;font-size:.875rem;font-weight:500}.tag-remove{background:none;border:none;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.tag-remove:hover{background-color:#fff3}.tag-input-row{display:flex;gap:.5rem}.tag-input-row>div{flex:1}.current-file{margin-bottom:1rem}.thumbnail-preview{max-width:200px;margin-bottom:10px;border-radius:8px;display:block}.lessons-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.lessons-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.markdown-editor{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-surface)}.markdown-toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-surface-variant);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.toolbar-group{display:flex;gap:2px;padding-right:.5rem;border-right:1px solid var(--color-border)}.toolbar-group:last-child{border-right:none;margin-left:auto}.toolbar-button{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:none;border:1px solid transparent;border-radius:.25rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;font-size:.8125rem;white-space:nowrap}.toolbar-button:hover{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.toolbar-button svg{font-size:.8125rem;flex-shrink:0}.toolbar-label{font-weight:700;font-size:.8125rem;line-height:1}.toolbar-label-sm{font-size:.75rem;font-weight:500}.view-toggle{display:flex;gap:2px}.view-btn{border-radius:.25rem}.view-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.view-btn.active:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);opacity:.9}.markdown-content{display:flex;min-height:300px}.markdown-content.edit .editor-pane{flex:1;border-right:none}.markdown-content.preview .preview-pane,.markdown-content.split .editor-pane,.markdown-content.split .preview-pane{flex:1}.editor-pane{display:flex;flex-direction:column;border-right:1px solid var(--color-border);min-width:0}.markdown-textarea{flex:1;width:100%;padding:1rem;border:none;font-family:inherit;font-size:.875rem;line-height:1.7;color:var(--color-text-primary);background-color:var(--color-surface);resize:none;outline:none}.markdown-textarea::placeholder{color:var(--color-text-secondary)}.preview-pane{display:flex;flex-direction:column;background-color:var(--color-surface);overflow-y:auto;min-width:0}.preview-label{padding:.5rem 1rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background-color:var(--color-surface-variant);border-bottom:1px solid var(--color-border)}.preview-content{flex:1;padding:1rem;font-size:.9375rem;line-height:1.7;color:var(--color-text-primary);word-wrap:break-word;overflow-wrap:break-word}.preview-empty{color:var(--color-text-secondary);font-style:italic;margin:0}.preview-content h1{font-size:1.5rem;font-weight:700;margin:1.5rem 0 .75rem;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);padding-bottom:.5rem;line-height:1.3}.preview-content h2{font-size:1.25rem;font-weight:700;margin:1.25rem 0 .625rem;color:var(--color-text-primary);line-height:1.3}.preview-content h3{font-size:1.0625rem;font-weight:600;margin:1rem 0 .5rem;color:var(--color-text-primary);line-height:1.3}.preview-content h1:first-child,.preview-content h2:first-child,.preview-content h3:first-child{margin-top:0}.preview-content p{margin:0 0 .875rem}.preview-content p:last-child{margin-bottom:0}.preview-content em,.preview-content p em,.preview-content li em,.preview-content blockquote em{font-style:italic}.preview-content strong,.preview-content p strong,.preview-content li strong,.preview-content blockquote strong{font-weight:700}.preview-content ul{margin:0 0 .875rem;padding-left:1.5rem;list-style-type:disc}.preview-content ol{margin:0 0 .875rem;padding-left:1.5rem;list-style-type:decimal}.preview-content li{margin:.375rem 0;padding-left:.25rem}.preview-content li>p{margin:0}.preview-content blockquote{margin:1rem 0;padding:.625rem 1rem;border-left:4px solid var(--color-primary);background-color:var(--color-surface-variant);border-radius:0 .25rem .25rem 0}.preview-content blockquote p{margin:0;color:var(--color-text-secondary)}.preview-content code{padding:.125rem .375rem;background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:.25rem;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:.8125em}.preview-content pre{margin:1rem 0;padding:1rem;background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:.375rem;overflow-x:auto}.preview-content pre code{padding:0;background:none;border:none}.preview-content a{color:var(--color-primary);text-decoration:underline}.preview-content a:hover{opacity:.8}.preview-content hr{margin:1.5rem 0;border:none;border-top:1px solid var(--color-border)}.preview-content br{display:block;margin:.5rem 0;content:""}@media(max-width:768px){.markdown-content.split{flex-direction:column}.markdown-content.split .editor-pane{border-right:none;border-bottom:1px solid var(--color-border)}.toolbar-label-sm{display:none}}.component-editor{padding:1rem;background-color:var(--color-surface);border-radius:.375rem}.editor-label{display:block;font-weight:600;font-size:.875rem;color:var(--color-text-primary);margin-bottom:.5rem}.editor-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem;margin-bottom:0}.editor-field{margin-bottom:1rem}.editor-field:last-child{margin-bottom:0}.editor-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem}.markdown-textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);resize:vertical;transition:border-color .2s;line-height:1.6}.markdown-textarea:focus{outline:none;border-color:var(--color-primary)}.bible-editor .editor-row{grid-template-columns:1fr 2fr}.question-textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;font-family:inherit;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);resize:vertical;transition:border-color .2s;line-height:1.5}.question-textarea:focus{outline:none;border-color:var(--color-primary)}.error-text{color:var(--color-error);font-size:.875rem}.edit-lesson-page{padding:2rem;max-width:1200px;margin:0 auto}.lesson-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.form-row{display:flex;gap:1rem}.form-group{margin-bottom:1.5rem;flex:1}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-input{width:1.25rem;height:1.25rem;cursor:pointer}.components-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.components-header .section-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.add-component-container{position:relative}.component-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:100;min-width:200px;overflow:hidden}.component-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:none;color:var(--color-text-primary);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:background-color .2s}.component-menu-item:hover{background-color:var(--color-surface-variant)}.component-menu-item svg{color:var(--color-primary);font-size:1rem}.components-list{display:flex;flex-direction:column;gap:1rem}.empty-components{padding:3rem;text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface-variant);border:2px dashed var(--color-border);border-radius:.5rem}.empty-components p{margin:0}.component-item{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;transition:box-shadow .2s}.component-item:hover{box-shadow:0 2px 8px #0000001a}.component-controls{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--color-surface-variant);border-bottom:1px solid var(--color-border)}.component-type-badge{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-primary);text-transform:capitalize}.component-type-badge svg{font-size:1rem}.component-actions{display:flex;gap:.5rem}.icon-button{padding:.5rem;background:none;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-button:hover:not(:disabled){background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-primary)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button.delete{color:var(--color-error)}.icon-button.delete:hover:not(:disabled){border-color:var(--color-error);background-color:#ff00000d}.icon-button svg{font-size:.875rem}.ministry-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.ministry-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.ministry-card-image{width:100%;aspect-ratio:16 / 7;overflow:hidden;background-color:var(--color-surface-variant)}.ministry-card-image img{width:100%;height:100%;object-fit:cover}.ministry-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}.ministry-card-image-placeholder span{font-size:2.5rem;font-weight:700;color:#fff}.ministry-card-content{padding:1.25rem}.ministry-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.ministry-card-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.ministry-card-edit-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease;font-size:.75rem}.ministry-card-edit-btn:hover{background-color:var(--color-surface-variant);color:var(--color-primary)}.ministry-card-description{margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ministries-page{padding:2rem;max-width:1400px;margin:0 auto}.ministries-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-actions{display:flex;align-items:center;gap:1rem}.ministries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.loading-state,.error-state,.empty-state{padding:3rem;text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface);border-radius:.5rem;margin-top:1.5rem;border:1px solid var(--color-border)}.edit-ministry-page{padding:2rem;max-width:1200px;margin:0 auto}.ministry-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;margin-bottom:2rem}.ministry-view-image{width:100%;max-height:240px;object-fit:cover;border-radius:.5rem;border:1px solid var(--color-border);margin-bottom:1.5rem}.ministry-view-field{margin-bottom:1.25rem}.ministry-view-field:last-child{margin-bottom:0}.ministry-view-value{margin:0;color:var(--color-text-primary);font-size:.95rem;line-height:1.5}.members-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.subsection-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.add-member-form{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.add-member-row{display:flex;gap:.75rem;align-items:center}.add-member-email{flex:1}.add-member-role{flex-shrink:0}.no-members{color:var(--color-text-secondary);font-size:.875rem;text-align:center;padding:2rem 0;margin:0}.members-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.member-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background-color:var(--color-surface-variant);border-radius:.5rem;border:1px solid var(--color-border)}.member-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;flex-shrink:0}.member-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.member-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role-badge{flex-shrink:0;font-size:.75rem;font-weight:600;text-transform:capitalize;padding:.25rem .625rem;border-radius:9999px;background-color:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.member-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.member-role-select{height:2rem;padding:0 .5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.8rem;color:var(--color-text-primary);background-color:var(--color-surface);cursor:pointer}.member-role-select:focus{outline:none;border-color:var(--color-primary)}.remove-member-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:color .2s,background-color .2s}.remove-member-btn:hover{color:var(--color-error);background-color:var(--color-surface-variant)}@media(max-width:768px){.edit-ministry-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.ministry-form,.members-section{padding:1.25rem}.current-image{flex-direction:column}.image-preview{width:100%;height:160px}.form-actions{flex-direction:column-reverse}.add-member-row{flex-wrap:wrap}.add-member-email{flex:1 1 100%}}.announcements-page{padding:2rem;max-width:1400px;margin:0 auto}.announcements-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.loading-state,.error-state{padding:3rem;text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface);border-radius:.5rem;margin-top:1.5rem;border:1px solid var(--color-border)}.error-state{color:var(--color-error);border-color:var(--color-error)}.new-announcement-page{padding:2rem;max-width:1200px;margin:0 auto}.form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem}@media(max-width:768px){.new-announcement-page{padding:1rem}.announcement-form{padding:1.25rem}.form-actions{flex-direction:column-reverse}}.edit-announcement-page{padding:2rem;max-width:1200px;margin:0 auto}.page-title{font-size:1.875rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.page-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0}.announcement-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;font-size:.875rem}.required{color:var(--color-error)}.form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem;margin-bottom:0}.textarea-field{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;font-family:inherit;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);resize:vertical;transition:border-color .2s;box-sizing:border-box}.textarea-field:focus{outline:none;border-color:var(--color-primary)}.current-image{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;padding:1rem;background-color:var(--color-surface-variant);border-radius:.5rem}.image-preview{width:120px;height:80px;object-fit:cover;border-radius:.375rem;border:1px solid var(--color-border);flex-shrink:0}.image-actions{display:flex;flex-direction:column;gap:.25rem}.file-upload-area{position:relative;border:2px dashed var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;transition:border-color .2s;cursor:pointer}.file-upload-area:hover{border-color:var(--color-primary)}.file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-content{pointer-events:none}.upload-icon{font-size:2.5rem;color:var(--color-primary);margin-bottom:1rem}.upload-text{color:var(--color-text-primary);margin:0}.upload-hint,.file-size{font-size:.875rem;color:var(--color-text-secondary)}.upload-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background-color:var(--color-border);border-radius:0 0 .5rem .5rem;overflow:hidden}.progress-bar{height:100%;background-color:var(--color-primary);transition:width .3s ease}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border);margin-top:2rem}@media(max-width:768px){.edit-announcement-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.announcement-form{padding:1.25rem}.current-image{flex-direction:column}.image-preview{width:100%;height:160px}.form-actions{flex-direction:column-reverse}}.church-admin-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.access-denied{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:3rem;text-align:center}.access-denied h2{color:var(--color-error);margin:0 0 .5rem}.access-denied p{color:var(--color-text-secondary);margin:0}.staff-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem}.section-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.add-staff-form{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.add-staff-row{display:flex;gap:.75rem;align-items:center}.add-staff-email{flex:1}.add-staff-role{flex-shrink:0}.role-select{height:2.5rem;padding:0 .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);cursor:pointer}.role-select:focus{outline:none;border-color:var(--color-primary)}.error-message{background-color:#fee;border:1px solid var(--color-error);color:var(--color-error);padding:1rem;border-radius:.375rem;margin-bottom:1.5rem}.success-message{background-color:#f0fdf4;border:1px solid var(--color-success);color:var(--color-success);padding:1rem;border-radius:.375rem;margin-bottom:1.5rem}.loading-state{padding:3rem;text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface);border-radius:.5rem;border:1px solid var(--color-border)}.no-staff{color:var(--color-text-secondary);font-size:.875rem;text-align:center;padding:2rem 0;margin:0}.staff-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.staff-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background-color:var(--color-surface-variant);border-radius:.5rem;border:1px solid var(--color-border)}.staff-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;flex-shrink:0}.staff-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.staff-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-email{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.staff-role-select{height:2rem;padding:0 .5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.8rem;color:var(--color-text-primary);background-color:var(--color-surface);cursor:pointer}.staff-role-select:focus{outline:none;border-color:var(--color-primary)}.remove-staff-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:color .2s,background-color .2s}.remove-staff-btn:hover{color:var(--color-error);background-color:var(--color-surface-variant)}@media(max-width:768px){.church-admin-page{padding:1rem}.staff-section{padding:1.25rem}.add-staff-row{flex-wrap:wrap}.add-staff-email{flex:1 1 100%}}.church-switcher{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;width:100%;overflow:hidden}.church-selector{display:flex;align-items:center;gap:1rem;padding:.5rem;border-radius:.5rem;transition:background-color .2s ease;overflow:hidden;max-width:100%}.church-selector.clickable{cursor:pointer}.church-selector.clickable:hover{background-color:var(--color-surface-variant)}.church-icon{font-size:1.75rem;color:var(--color-primary);min-width:40px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.church-info{flex:1;min-width:0}.church-name{font-weight:700;font-size:1.05rem;color:var(--color-text-primary);line-height:1.3;word-wrap:break-word}.church-location{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.125rem}.switch-church-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;margin:0;background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch-church-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch-church-btn:hover{background-color:var(--color-border)}.church-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.church-modal{background-color:var(--color-surface);border-radius:.75rem;box-shadow:0 10px 25px #0003;width:90%;max-width:450px;border:1px solid var(--color-border);animation:scaleIn .2s ease;display:flex;flex-direction:column;max-height:80vh}.church-modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.church-modal-header h3{margin:0;font-size:1.1rem;color:var(--color-text-primary)}.close-modal-btn{background:none;border:none;color:var(--color-text-secondary);font-size:1.2rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.close-modal-btn:hover{color:var(--color-text-primary)}.church-modal-list{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.church-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease;border:1px solid var(--color-border);border-radius:.5rem}.church-item:hover{background-color:var(--color-surface-variant)}.church-item.selected{background-color:#3b82f61a;border-color:var(--color-primary)}.church-item-icon{font-size:1.25rem;color:var(--color-primary);min-width:24px;display:flex;justify-content:center;align-items:center}.church-item-info{flex:1;overflow:hidden}.church-item-name{font-weight:600;font-size:.95rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.church-item-location{font-size:.8rem;color:var(--color-text-secondary);margin-top:.125rem}.church-item-role{font-size:.75rem;color:var(--color-primary);text-transform:capitalize;margin-top:.125rem;font-weight:500}.check-icon{color:var(--color-primary);font-size:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.sidebar{display:flex;flex-direction:column;height:100vh;background-color:var(--color-surface);border-right:1px solid var(--color-border);transition:width .3s ease;width:280px;position:fixed;left:0;top:0;z-index:1000;padding:1.5rem 1rem}.sidebar.collapsed{width:80px;padding:1.5rem .5rem}.sidebar-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:0 .5rem;overflow:hidden;white-space:nowrap}.logo-icon{font-size:2rem;color:var(--color-primary);min-width:40px;display:flex;justify-content:center}.church-name{font-weight:700;font-size:1.1rem;color:var(--color-text-primary);line-height:1.2}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:.5rem;text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:all .2s ease;overflow:hidden;white-space:nowrap}.nav-item:hover{background-color:var(--color-surface-variant);color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-primary);color:var(--color-on-primary)}.nav-icon{font-size:1.5rem;min-width:24px;display:flex;justify-content:center}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.logout-btn{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:.5rem;background:none;border:none;color:var(--color-error);font-weight:600;cursor:pointer;width:100%;text-align:left;transition:background-color .2s ease;overflow:hidden;white-space:nowrap}.logout-btn:hover{background-color:#ef44441a}.toggle-btn{position:absolute;top:50%;transform:translateY(-50%);right:-12px;width:24px;height:24px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);box-shadow:0 2px 4px #0000001a;z-index:10;font-size:.8rem}.toggle-btn:hover{color:var(--color-primary);background-color:var(--color-surface-variant)}.theme-toggle-btn{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:.5rem;background:none;border:none;color:var(--color-text-secondary);font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background-color .2s ease;overflow:hidden;white-space:nowrap}.theme-toggle-btn:hover{background-color:var(--color-surface-variant);color:var(--color-text-primary)}.app-layout{display:flex;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary)}.main-content{flex:1;transition:margin-left .3s ease;min-height:100vh;padding:2rem}.main-content.expanded{margin-left:280px}.main-content.collapsed{margin-left:80px}#root{min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
