@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--primary: #B45309;--primary-light: #D97706;--primary-dark: #92400E;--success: #16A34A;--info: #2563EB;--warning: #EA580C;--error: #DC2626;--purple: #7C3AED;--background: #FAF7F2;--surface: #FFFFFF;--text: #1F2937;--text-secondary: #6B7280;--text-muted: #9CA3AF;--border: #E5E7EB;--border-light: #F3F4F6;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Playfair Display", Georgia, serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--max-width: 430px;--header-height: 56px;--nav-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--background);color:var(--text);line-height:1.5;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.125rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}.btn-primary{display:block;width:100%;padding:var(--space-md);background:var(--primary);color:#fff;font-size:1rem;font-weight:600;border-radius:var(--radius-md);transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:block;width:100%;padding:var(--space-md);background:var(--surface);color:var(--text);font-size:1rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,background .2s;text-align:center}.btn-secondary:hover{border-color:var(--text-muted);background:var(--border-light);text-decoration:none}.btn-text{display:block;text-align:center;color:var(--primary);font-weight:500;padding:var(--space-sm)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-md);font-size:1rem;font-family:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #b453091a}.password-input{position:relative}.password-input input{padding-right:48px}.password-toggle{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-muted);padding:var(--space-xs)}.password-toggle:hover{color:var(--text-secondary)}.button-group{display:flex;gap:var(--space-md)}.button-group .btn-secondary{flex:1}.button-group .btn-primary{flex:2}.error-message{background:#fef2f2;color:var(--error);padding:var(--space-md);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--space-md);border:1px solid #FECACA}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--background) 0%,#FDF8F3 100%)}.login-container{width:100%;max-width:var(--max-width)}.register-container{max-width:480px}.login-logo{text-align:center;margin-bottom:var(--space-xl)}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--primary);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.logo-text{font-family:var(--font-display);font-size:2rem;color:var(--text);margin-bottom:var(--space-xs)}.logo-tagline{color:var(--text-secondary);font-size:.875rem}.login-form{background:var(--surface);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-links{text-align:center;margin-top:var(--space-md)}.login-links .link{font-size:.875rem;color:var(--text-secondary)}.login-links .link:hover{color:var(--primary)}.login-divider{text-align:center;margin:var(--space-lg) 0;position:relative}.login-divider:before,.login-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 60px);height:1px;background:var(--border)}.login-divider:before{left:0}.login-divider:after{right:0}.login-divider span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.login-footer{text-align:center;margin-top:var(--space-xl);color:var(--text-muted);font-size:.75rem}.role-selection{margin-bottom:var(--space-lg)}.role-selection>label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-sm)}.role-options{display:flex;flex-direction:column;gap:var(--space-sm)}.role-option{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--background);border:2px solid var(--border);border-radius:var(--radius-md);text-align:left;transition:border-color .2s,background .2s}.role-option:hover{border-color:var(--text-muted)}.role-option.selected{border-color:var(--primary);background:#b453090d}.role-check{width:20px;height:20px;border:2px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.role-option.selected .role-check{background:var(--primary);border-color:var(--primary);color:#fff}.role-content strong{display:block;color:var(--text);margin-bottom:2px}.role-content span{font-size:.875rem;color:var(--text-secondary)}.role-hint{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-sm)}.dashboard{min-height:100vh;display:flex;flex-direction:column;max-width:var(--max-width);margin:0 auto;background:var(--surface)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.header-logo{color:var(--primary)}.header-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.header-right{display:flex;gap:var(--space-xs)}.header-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-secondary);transition:background .2s}.header-btn:hover{background:var(--border-light)}.dashboard-main{flex:1;padding:var(--space-md);padding-bottom:calc(var(--nav-height) + var(--space-lg))}.welcome-section{margin-bottom:var(--space-lg)}.welcome-section h1{margin-bottom:var(--space-xs)}.welcome-roles{display:flex;gap:var(--space-sm)}.role-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.role-badge.musician{background:#2563eb1a;color:var(--info)}.role-badge.church{background:#7c3aed1a;color:var(--purple)}.quick-actions h2,.upcoming-section h2,.activity-section h2{margin-bottom:var(--space-md)}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.action-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--background);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.action-icon.search{background:#2563eb1a;color:var(--info)}.action-icon.map{background:#16a34a1a;color:var(--success)}.action-icon.calendar{background:#b453091a;color:var(--primary)}.action-icon.add{background:#7c3aed1a;color:var(--purple)}.action-icon.church{background:#ea580c1a;color:var(--warning)}.action-card span{font-size:.875rem;font-weight:500}.upcoming-section,.activity-section{margin-top:var(--space-xl)}.empty-state{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.empty-state svg{margin-bottom:var(--space-md);opacity:.5}.empty-state p{font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs)}.empty-state span{font-size:.875rem}.bottom-nav{display:flex;justify-content:space-around;padding:var(--space-sm) 0;background:var(--surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-width);z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm);color:var(--text-muted);text-decoration:none;font-size:.625rem;font-weight:500;transition:color .2s}.nav-item:hover{color:var(--text-secondary);text-decoration:none}.nav-item.active{color:var(--primary)}@media(min-width:480px){.action-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.dashboard{max-width:768px;box-shadow:var(--shadow-lg)}.bottom-nav{max-width:768px}}.page-container{min-height:100vh;max-width:var(--max-width);margin:0 auto;background:var(--background);padding-bottom:var(--space-xl)}.page-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.page-header h1{flex:1;font-size:1.25rem;font-weight:600;margin:0}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text);border-radius:var(--radius-full);transition:background .2s}.back-btn:hover{background:var(--border-light);text-decoration:none}.header-action{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--primary);border-radius:var(--radius-full);transition:background .2s}.header-action:hover{background:#b453091a;text-decoration:none}.page-content,.form-container{padding:var(--space-md)}.form-section{margin-bottom:var(--space-lg)}.form-section-title{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;font-weight:600;color:var(--text);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.form-section-title svg{color:var(--primary)}.form-row{display:flex;gap:var(--space-md)}.form-row .form-group,.form-row .flex-1{flex:1}.form-row .flex-2{flex:2}.form-help{font-size:.875rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.form-note{font-size:.875rem;color:var(--text-secondary);text-align:center;margin-bottom:var(--space-md)}.form-actions{margin-top:var(--space-xl)}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chip{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.alert{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem}.alert-error{background:#dc26261a;color:var(--error);border:1px solid rgba(220,38,38,.2)}.alert-success{background:#16a34a1a;color:var(--success);border:1px solid rgba(22,163,74,.2)}.alert-warning{background:#ea580c1a;color:var(--warning);border:1px solid rgba(234,88,12,.2)}.church-list{display:flex;flex-direction:column;gap:var(--space-md)}.church-card{display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.church-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.church-card-content{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.church-logo{width:56px;height:56px;border-radius:var(--radius-md);background:var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.church-logo img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.church-info h3{font-size:1rem;font-weight:600;margin:0 0 var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.church-location{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-secondary);margin:0}.church-denomination{font-size:.75rem;color:var(--text-muted);margin:var(--space-xs) 0 0}.church-status{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.church-status .chevron{color:var(--text-muted)}.church-card-footer{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:.75rem;border-top:1px solid var(--border-light)}.church-card-footer.pending{background:#ea580c0d;color:var(--warning)}.church-card-footer.rejected{background:#dc26260d;color:var(--error)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--text-secondary)}.loading-state p{margin-top:var(--space-md)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-md);margin-bottom:var(--space-md)}.profile-avatar{width:96px;height:96px;border-radius:50%;background:var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:var(--space-md);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info h2{font-size:1.5rem;font-weight:700;margin:0 0 var(--space-sm)}.profile-info p{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);font-size:.875rem;color:var(--text-secondary);margin:var(--space-xs) 0}.profile-section{margin-bottom:var(--space-lg)}.section-title{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.section-title svg{color:var(--primary)}.role-cards{display:flex;flex-direction:column;gap:var(--space-md)}.role-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s}.role-card.active{border-color:var(--primary);background:#b4530905}.role-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-icon.musician{background:#2563eb1a;color:var(--info)}.role-icon.church{background:#7c3aed1a;color:var(--purple)}.role-info{flex:1;min-width:0}.role-info h4{font-size:1rem;font-weight:600;margin:0 0 var(--space-xs)}.role-info p{font-size:.75rem;color:var(--text-muted);margin:0}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;flex-shrink:0}.role-badge.active{background:#16a34a1a;color:var(--success)}.settings-list{padding:0;overflow:hidden}.settings-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);color:var(--text);text-decoration:none;border-bottom:1px solid var(--border-light);transition:background .2s}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:var(--border-light);text-decoration:none}.settings-item svg:first-child{color:var(--text-secondary)}.settings-item span{flex:1;font-weight:500}.settings-item svg:last-child{color:var(--text-muted)}.logout-btn{margin-top:var(--space-lg);margin-bottom:calc(80px + var(--space-lg));color:var(--error);border-color:var(--error)}.logout-btn:hover{background:#dc26261a}.coming-soon-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-2xl) var(--space-lg);margin-top:var(--space-xl)}.coming-soon-icon{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#b453091a,#b453090d);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:var(--space-lg)}.coming-soon-card h2{font-size:1.5rem;font-weight:700;margin:0 0 var(--space-sm)}.coming-soon-card p{font-size:1.125rem;color:var(--text-secondary);margin:0 0 var(--space-sm)}.coming-soon-note{font-size:.875rem;color:var(--text-muted);margin-bottom:var(--space-lg);max-width:280px}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.btn-outline{background:transparent;border:1px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:#b453091a}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:1.125rem}.btn-block{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%}.slot-card,.song-card{position:relative;padding:var(--space-md);margin-bottom:var(--space-md);background:var(--surface)}.slot-header,.song-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.slot-number{font-size:.875rem;font-weight:600;color:var(--primary)}.song-header span{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.slot-remove{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--error);background:#dc26261a;transition:background .2s}.slot-remove:hover{background:#dc262633}.input-with-prefix{position:relative}.input-with-prefix .prefix{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:500;pointer-events:none}.input-with-prefix input{padding-left:calc(var(--space-md) + 16px)}.optional-label{font-size:.75rem;font-weight:400;color:var(--text-muted);margin-left:var(--space-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.header-action.active{color:var(--primary);background:#b453091a;border-radius:var(--radius-full)}.filters-panel{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-md)}.filters-content{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-actions{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.filter-actions .btn-secondary{flex:1}.filter-actions .btn-primary{flex:2}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--border-light)}.filter-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--primary);color:#fff;font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.filter-pill button{display:flex;align-items:center;justify-content:center;padding:2px;color:#fff;opacity:.8}.filter-pill button:hover{opacity:1}.gig-list{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.gig-card{display:block;text-decoration:none;color:inherit;padding:var(--space-md);transition:transform .2s,box-shadow .2s}.gig-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.gig-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.gig-date{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--primary)}.gig-pay{display:flex;align-items:center;gap:2px;font-size:.875rem;font-weight:600;color:var(--success)}.gig-title{font-size:1.125rem;font-weight:600;margin:0 0 var(--space-xs);color:var(--text)}.gig-church{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.gig-meta{display:flex;gap:var(--space-md);font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-md)}.gig-meta span,.gig-location,.gig-time{display:flex;align-items:center;gap:4px}.gig-slots{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.slot-tag{display:inline-flex;align-items:center;gap:4px;padding:var(--space-xs) var(--space-sm);background:#2563eb1a;color:var(--info);font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.slot-tag .slot-pay{padding-left:var(--space-xs);border-left:1px solid rgba(37,99,235,.3);margin-left:var(--space-xs);color:var(--success)}.gig-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);border-top:1px solid var(--border-light)}.view-details{font-size:.875rem;font-weight:500;color:var(--primary)}.gig-card-footer svg{color:var(--text-muted)}.gig-detail-card{padding:var(--space-lg);margin-bottom:var(--space-md)}.gig-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.gig-date-badge{display:flex;align-items:center;gap:var(--space-sm);color:var(--primary);font-weight:600}.status-badge.open{background:#16a34a1a;color:var(--success)}.status-badge.filled{background:#6b72801a;color:var(--text-muted)}.gig-detail-title{font-size:1.5rem;font-weight:700;margin:0 0 var(--space-md)}.gig-church-info{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.gig-church-info svg:first-child{color:var(--purple);flex-shrink:0}.gig-church-info strong{display:block;margin-bottom:var(--space-xs)}.gig-church-info p{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-secondary);margin:0}.gig-time-info{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.time-item{display:flex;align-items:center;gap:var(--space-md)}.time-item svg{color:var(--text-muted)}.time-label{display:block;font-size:.75rem;color:var(--text-muted)}.time-value{display:block;font-weight:500}.gig-description{padding-top:var(--space-md);border-top:1px solid var(--border-light)}.gig-description p{color:var(--text-secondary);line-height:1.6;margin:0}.gig-notes{margin-top:var(--space-md);padding:var(--space-md);background:#ea580c0d;border-radius:var(--radius-md);border-left:3px solid var(--warning)}.gig-notes h4{font-size:.875rem;font-weight:600;color:var(--warning);margin:0 0 var(--space-xs)}.gig-notes p{font-size:.875rem;color:var(--text-secondary);margin:0}.gig-songs-card{padding:var(--space-lg);margin-bottom:var(--space-md)}.gig-songs-card h3{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;margin:0 0 var(--space-md)}.gig-songs-card h3 svg{color:var(--primary)}.song-list{list-style:none;padding:0;margin:0}.song-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light)}.song-item:last-child{border-bottom:none}.song-title{font-weight:500}.song-source{font-size:.75rem;color:var(--text-muted)}.gig-slots-section{margin-top:var(--space-md)}.gig-slots-section>h3{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;margin-bottom:var(--space-md)}.gig-slots-section>h3 svg{color:var(--primary)}.slot-detail-card{padding:var(--space-md);margin-bottom:var(--space-md)}.slot-detail-card.filled{opacity:.6}.slot-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.slot-instrument{display:flex;align-items:center;gap:var(--space-sm);font-size:1.125rem;font-weight:600}.slot-instrument svg{color:var(--info)}.slot-pay-badge{display:flex;align-items:center;gap:2px;padding:var(--space-xs) var(--space-sm);background:#16a34a1a;color:var(--success);font-weight:600;border-radius:var(--radius-full)}.slot-requirements{font-size:.875rem;color:var(--text-secondary);margin:0 0 var(--space-md)}.slot-detail-footer{padding-top:var(--space-md);border-top:1px solid var(--border-light)}.slot-status{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);font-weight:500;font-size:.875rem}.slot-status.filled{background:var(--border-light);color:var(--text-muted)}.slot-status.applied,.slot-status.success{background:#16a34a1a;color:var(--success)}.slot-status.pending{background:#ea580c1a;color:var(--warning)}.apply-btn{width:100%}.apply-form{display:flex;flex-direction:column;gap:var(--space-md)}.apply-form textarea{width:100%;padding:var(--space-md);font-family:inherit;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-md);resize:none}.apply-form textarea:focus{outline:none;border-color:var(--primary)}.apply-actions{display:flex;gap:var(--space-md)}.apply-actions .btn-secondary{flex:1}.apply-actions .btn-primary{flex:2;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.church-selector{padding:var(--space-md);background:var(--surface);border-bottom:1px solid var(--border)}.church-selector select{width:100%;padding:var(--space-md);font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.applications-list{padding:var(--space-md)}.empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-2xl);color:var(--text-secondary)}.empty-card svg{color:var(--text-muted);margin-bottom:var(--space-md)}.empty-card h3{margin-bottom:var(--space-sm)}.empty-card p{margin-bottom:var(--space-lg);color:var(--text-muted)}.gig-applications-card{margin-bottom:var(--space-md)}.gig-header-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);text-align:left;background:none;border:none}.gig-header-info{flex:1}.gig-date-time{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-xs)}.gig-header-info h3{font-size:1rem;font-weight:600;margin:0 0 var(--space-xs)}.gig-slot-summary{display:flex;align-items:center;gap:var(--space-md)}.slots-info{font-size:.75rem;color:var(--text-secondary)}.pending-badge{display:inline-flex;padding:2px 8px;font-size:.75rem;font-weight:600;background:var(--warning);color:#fff;border-radius:var(--radius-full)}.expand-icon{color:var(--text-muted);transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.gig-slots-expanded{border-top:1px solid var(--border-light)}.slot-applications{padding:var(--space-md);border-bottom:1px solid var(--border-light)}.slot-applications:last-child{border-bottom:none}.slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.slot-info{display:flex;align-items:center;gap:var(--space-sm)}.slot-info svg{color:var(--info)}.slot-info .slot-instrument{font-weight:600}.slot-info .slot-pay{font-size:.875rem;color:var(--success);font-weight:500}.slot-status-badge{font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:var(--radius-full)}.slot-status-badge.open{background:#16a34a1a;color:var(--success)}.slot-status-badge.pending{background:#ea580c1a;color:var(--warning)}.slot-status-badge.filled{background:var(--border-light);color:var(--text-muted)}.filled-by{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:var(--text-secondary);padding:var(--space-sm);background:#16a34a0d;border-radius:var(--radius-sm)}.applications-section{display:flex;flex-direction:column;gap:var(--space-sm)}.application-card{padding:var(--space-md);background:var(--background);border-radius:var(--radius-md);border-left:3px solid var(--border)}.application-card.pending{border-left-color:var(--warning)}.application-card.accepted{border-left-color:var(--success)}.application-card.rejected{border-left-color:var(--error)}.applicant-info{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.applicant-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--border-light);border-radius:50%;color:var(--text-muted)}.applicant-details{flex:1}.applicant-name{display:block;font-weight:600}.applicant-email{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted)}.app-status-badge{font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:var(--radius-full);text-transform:capitalize}.app-status-badge.pending{background:#ea580c1a;color:var(--warning)}.app-status-badge.accepted{background:#16a34a1a;color:var(--success)}.app-status-badge.rejected{background:#dc26261a;color:var(--error)}.applicant-message{display:flex;gap:var(--space-sm);padding:var(--space-sm);background:var(--surface);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.applicant-message svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.applicant-message p{font-size:.875rem;color:var(--text-secondary);margin:0}.application-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.btn-success{background:var(--success);color:#fff;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:500}.btn-danger{background:var(--error);color:#fff;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:500}.response-message{font-size:.875rem;color:var(--text-secondary);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.response-message span{font-weight:500}.no-applications{font-size:.875rem;color:var(--text-muted);text-align:center;padding:var(--space-md)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:1000}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-content h3{margin:0 0 var(--space-xs)}.modal-subtitle{color:var(--text-secondary);margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.modal-actions .btn-secondary{flex:1}.modal-actions .btn-success,.modal-actions .btn-danger{flex:2;justify-content:center}.status-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.status-tab{flex:1;padding:var(--space-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.status-tab:hover{color:var(--text)}.status-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.my-applications-list{padding:var(--space-md)}.application-item{padding:var(--space-md);margin-bottom:var(--space-md)}.app-status-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.status-icon{flex-shrink:0}.status-icon.accepted{color:var(--success)}.status-icon.rejected{color:var(--error)}.status-icon.pending{color:var(--warning)}.app-status-label{font-weight:600;font-size:.875rem}.app-status-label.accepted{color:var(--success)}.app-status-label.rejected{color:var(--error)}.app-status-label.pending{color:var(--warning)}.app-date{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.app-gig-info h3{font-size:1rem;margin:0 0 var(--space-sm)}.app-gig-meta{display:flex;gap:var(--space-md);font-size:.875rem;color:var(--text-secondary)}.app-gig-meta span{display:flex;align-items:center;gap:4px}.app-my-message{display:flex;gap:var(--space-sm);padding:var(--space-sm);background:var(--background);border-radius:var(--radius-sm);margin-top:var(--space-md)}.app-my-message svg{color:var(--text-muted);flex-shrink:0}.app-my-message p{font-size:.875rem;color:var(--text-secondary);margin:0}.app-response{padding:var(--space-md);border-radius:var(--radius-md);margin-top:var(--space-md)}.app-response.accepted{background:#16a34a0d;border:1px solid rgba(22,163,74,.2)}.app-response.rejected{background:#dc26260d;border:1px solid rgba(220,38,38,.2)}.app-response .response-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.app-response p{font-size:.875rem;color:var(--text-secondary);margin:var(--space-xs) 0 0}.app-accepted-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#16a34a1a;color:var(--success);border-radius:var(--radius-md);margin-top:var(--space-md);font-weight:500}.app-pending-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#ea580c1a;color:var(--warning);border-radius:var(--radius-md);margin-top:var(--space-md);font-weight:500}.notification-cards{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.notification-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);text-decoration:none;color:#fff;transition:transform .2s}.notification-card:hover{transform:translate(4px);text-decoration:none}.notification-card.pending{background:var(--warning)}.notification-card.info{background:var(--info)}.notification-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:var(--radius-md)}.notification-content{flex:1}.notification-count{display:block;font-size:1.5rem;font-weight:700;line-height:1}.notification-label{font-size:.875rem;opacity:.9}.loading-state.small,.empty-state.small{padding:var(--space-lg)}.empty-state.small svg{margin-bottom:var(--space-sm)}.empty-state.small p{font-size:.875rem;margin-bottom:2px}.empty-state.small span{font-size:.75rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.section-header h2{margin:0}.section-link{font-size:.875rem;font-weight:500;color:var(--primary)}.upcoming-list{display:flex;flex-direction:column;gap:var(--space-sm)}.upcoming-item{padding:var(--space-md)}.upcoming-date{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--primary);font-weight:500;margin-bottom:var(--space-xs)}.upcoming-item h4{font-size:.875rem;font-weight:600;margin:0 0 var(--space-xs)}.upcoming-meta{display:flex;gap:var(--space-md)}.upcoming-instrument{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.activity-summary{padding:0}.activity-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.activity-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.activity-icon.pending{background:#ea580c1a;color:var(--warning)}.activity-content{flex:1}.activity-count{display:block;font-size:1.25rem;font-weight:700;line-height:1}.activity-label{font-size:.75rem;color:var(--text-secondary)}.activity-action{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--primary)}.header-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.conversations-list{padding:0}.conversation-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-light);text-decoration:none;color:inherit;transition:background .2s}.conversation-item:hover{background:var(--border-light);text-decoration:none}.conversation-item.unread{background:#b4530905}.conversation-avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--border-light);border-radius:50%;color:var(--text-muted);flex-shrink:0}.conversation-content{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.conversation-name{font-weight:600;font-size:.9375rem}.conversation-item.unread .conversation-name{color:var(--text)}.conversation-time{font-size:.75rem;color:var(--text-muted)}.conversation-context{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--primary);margin-bottom:2px}.conversation-preview{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.unread .conversation-preview{font-weight:500;color:var(--text)}.conversation-indicators{display:flex;align-items:center;gap:var(--space-sm)}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.conversation-indicators .chevron{color:var(--text-muted)}.chat-container{display:flex;flex-direction:column;min-height:100vh;max-width:var(--max-width);margin:0 auto;background:var(--background)}.chat-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.chat-header-info{display:flex;align-items:center;gap:var(--space-md);flex:1}.chat-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--border-light);border-radius:50%;color:var(--text-muted)}.chat-header-text{display:flex;flex-direction:column}.chat-name{font-weight:600;font-size:.9375rem}.chat-context{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.chat-messages{flex:1;padding:var(--space-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.message-date{text-align:center;font-size:.75rem;color:var(--text-muted);padding:var(--space-md) 0}.message-bubble{max-width:80%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);word-wrap:break-word}.message-bubble.mine{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:var(--space-xs)}.message-bubble.theirs{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:var(--space-xs)}.message-content{font-size:.9375rem;line-height:1.4}.message-time{font-size:.625rem;opacity:.7;margin-top:var(--space-xs);text-align:right}.message-bubble.theirs .message-time{color:var(--text-muted)}.chat-input-container{padding:var(--space-md);background:var(--surface);border-top:1px solid var(--border)}.chat-error{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--error);margin-bottom:var(--space-sm)}.chat-input-wrapper{display:flex;align-items:center;gap:var(--space-sm);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-full);padding:var(--space-xs) var(--space-sm)}.chat-input-wrapper input{flex:1;border:none;background:none;padding:var(--space-sm);font-size:1rem;font-family:inherit}.chat-input-wrapper input:focus{outline:none}.send-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background .2s}.send-btn:hover:not(:disabled){background:var(--primary-dark)}.send-btn:disabled{background:var(--text-muted);cursor:not-allowed}:root{--sidebar-width: 260px;--sidebar-collapsed-width: 72px}.app-layout{display:flex;min-height:100vh}.sidebar{display:none}.app-layout .main-content{flex:1;min-width:0}@media(min-width:768px){.sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);position:fixed;left:0;top:0;bottom:0;z-index:100;transition:width .2s ease}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .user-details,.sidebar.collapsed .logo-text{display:none}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--space-md)}.sidebar.collapsed .user-info{justify-content:center}.sidebar.collapsed .logout-btn{justify-content:center;padding:var(--space-md)}.app-layout .main-content{margin-left:var(--sidebar-width);transition:margin-left .2s ease}.sidebar.collapsed+.main-content{margin-left:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-light)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm)}.sidebar-logo .logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--primary);margin:0}.sidebar-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:background .2s,color .2s}.sidebar-toggle:hover{background:var(--border-light);color:var(--text)}.sidebar-nav{flex:1;padding:var(--space-md);overflow-y:auto}.nav-section{margin-bottom:var(--space-lg)}.nav-section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:var(--space-sm) var(--space-sm);margin-bottom:var(--space-xs)}.sidebar .nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .2s,color .2s;flex-direction:row}.sidebar .nav-item:hover{background:var(--border-light);color:var(--text);text-decoration:none}.sidebar .nav-item.active{background:#b453091a;color:var(--primary)}.sidebar .nav-label{white-space:nowrap}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--border-light)}.sidebar-footer .user-info{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);margin-bottom:var(--space-sm)}.sidebar-footer .user-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--border-light);border-radius:50%;color:var(--text-muted);flex-shrink:0}.sidebar-footer .user-details{flex:1;min-width:0}.sidebar-footer .user-name{display:block;font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer .user-email{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer .logout-btn{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--error);font-size:.875rem;font-weight:500;transition:background .2s;margin:0;border:none}.sidebar-footer .logout-btn:hover{background:#dc26261a}.bottom-nav{display:none}.mobile-only{display:none!important}.dashboard-header{padding:var(--space-lg) var(--space-xl)}.page-container{max-width:none;padding-bottom:var(--space-xl)}.dashboard{max-width:none;box-shadow:none}.dashboard-main{padding-bottom:var(--space-xl)}.chat-container{max-width:none}.action-grid{grid-template-columns:repeat(4,1fr)}.login-container{max-width:440px}.page-header,.page-content,.form-container,.gig-list,.applications-list,.my-applications-list{padding:var(--space-lg) var(--space-xl)}.conversations-list{padding:0 var(--space-lg)}.dashboard-main{padding:var(--space-lg) var(--space-xl)}}@media(min-width:1024px){.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl)}.dashboard-main-column,.dashboard-side-column{display:flex;flex-direction:column;gap:var(--space-xl)}.action-grid{grid-template-columns:repeat(5,1fr)}.gig-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.gig-card{margin:0}.applications-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);align-items:start}.gig-applications-card{margin:0}.my-applications-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);align-items:start}.application-item{margin:0}.messages-split-view{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - var(--header-height));overflow:hidden}.messages-list-pane{border-right:1px solid var(--border);overflow-y:auto;background:var(--surface)}.messages-list-pane .page-header{position:sticky;top:0;background:var(--surface);z-index:10}.messages-chat-pane{display:flex;flex-direction:column;overflow:hidden}.messages-chat-pane .chat-container{flex:1;display:flex;flex-direction:column;min-height:0}.messages-chat-pane .chat-messages{flex:1;overflow-y:auto}.messages-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);padding:var(--space-2xl);text-align:center}.messages-empty-state svg{margin-bottom:var(--space-md);opacity:.5}.messages-empty-state p{font-weight:500;color:var(--text-secondary)}.messages-list-pane .conversation-item{border-bottom:1px solid var(--border-light)}.messages-list-pane .conversation-item.selected{background:#b453090d;border-left:3px solid var(--primary)}.church-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.notification-cards{flex-direction:row}.notification-card{flex:1}.upcoming-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media(min-width:1280px){:root{--sidebar-width: 280px}.gig-list{grid-template-columns:repeat(3,1fr)}.messages-split-view{grid-template-columns:420px 1fr}.church-list,.upcoming-list{grid-template-columns:repeat(3,1fr)}}.admin-page{padding-bottom:var(--space-2xl)}.admin-page .page-header{display:flex;align-items:center;gap:var(--space-md)}.admin-page .page-header .admin-icon{color:var(--primary)}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.users{background:var(--info)}.stat-icon.musicians{background:var(--primary)}.stat-icon.churches{background:var(--purple)}.stat-icon.gigs{background:var(--success)}.stat-icon.applications{background:var(--warning)}.stat-icon.messages{background:#10b981}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text);line-height:1}.stat-label{font-size:.875rem;color:var(--text-secondary)}.stat-sub{font-size:.75rem;color:var(--text-muted);margin-top:auto}.admin-section{margin-bottom:var(--space-xl)}.admin-section h2{margin-bottom:var(--space-md);color:var(--text)}.admin-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.admin-section .section-link{font-size:.875rem;font-weight:500}.admin-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.admin-action-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text);transition:all .15s ease}.admin-action-card:hover{background:var(--background);transform:translate(4px)}.admin-action-card svg:first-child{color:var(--primary)}.admin-action-card span{flex:1;font-weight:500}.admin-action-card svg:last-child{color:var(--text-muted)}.action-badge{background:var(--error);color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);min-width:24px;text-align:center}.pending-list{display:flex;flex-direction:column;gap:var(--space-sm)}.pending-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.pending-info{flex:1;min-width:0}.pending-info h4{font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-info p{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.pending-date{font-size:.75rem;color:var(--text-muted)}.admin-filters{padding:0 var(--space-md);margin-bottom:var(--space-md)}.admin-filters .search-form{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.admin-filters .search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.admin-filters .search-input-wrapper svg{position:absolute;left:var(--space-sm);color:var(--text-muted)}.admin-filters .search-input-wrapper input{width:100%;padding:var(--space-sm) var(--space-sm) var(--space-sm) 36px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem}.admin-filters .filter-row{display:flex;gap:var(--space-sm);align-items:center}.admin-filters .filter-row select{flex:1;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.875rem;color:var(--text)}.admin-list{padding:0 var(--space-md)}.admin-list .list-header{padding:var(--space-sm) 0;font-size:.875rem;color:var(--text-muted);font-weight:500}.user-card{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-sm);position:relative}.user-card.inactive{opacity:.7;background:var(--border-light)}.user-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:600;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.inactive-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;background:var(--error);color:#fff;padding:2px 6px;border-radius:var(--radius-sm)}.user-email{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;color:var(--text-secondary);margin-top:2px}.user-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-sm)}.role-tag{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:2px 8px;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-secondary)}.role-tag.musician{background:#b453091a;color:var(--primary)}.role-tag.church_manager{background:#7c3aed1a;color:var(--purple)}.role-tag.admin{background:#2563eb1a;color:var(--info)}.user-meta{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-sm)}.user-actions{position:relative}.user-actions .action-btn{width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.user-actions .action-btn:hover{background:var(--border-light)}.action-menu{position:absolute;right:0;top:100%;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:100;border:1px solid var(--border);overflow:hidden}.action-menu button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border:none;background:transparent;cursor:pointer;font-size:.875rem;color:var(--text);text-align:left}.action-menu button:hover{background:var(--border-light)}.action-menu button.danger{color:var(--error)}.action-menu button.success{color:var(--success)}.action-menu button:disabled{opacity:.5;cursor:not-allowed}.action-menu .menu-divider{height:1px;background:var(--border-light);margin:var(--space-xs) 0}.action-menu .menu-label{display:block;padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.church-card{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-sm)}.church-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:#7c3aed1a;display:flex;align-items:center;justify-content:center;color:var(--purple);flex-shrink:0}.church-info{flex:1;min-width:0}.church-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-sm)}.church-header h3{font-weight:600;font-size:1rem}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-full)}.status-badge.pending{background:#ea580c1a;color:var(--warning)}.status-badge.approved{background:#16a34a1a;color:var(--success)}.status-badge.rejected{background:#dc26261a;color:var(--error)}.church-details{display:flex;flex-direction:column;gap:4px}.church-details .detail-row{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;color:var(--text-secondary)}.church-details .detail-row a{color:var(--info);text-decoration:underline}.church-meta{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-sm)}.church-actions{display:flex;flex-direction:column;gap:var(--space-xs);flex-shrink:0}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:400px;width:100%;box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:var(--space-md)}.modal p{color:var(--text-secondary);margin-bottom:var(--space-md)}.modal textarea{width:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;resize:vertical;min-height:100px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg) 0;font-size:.875rem;color:var(--text-secondary)}@media(min-width:768px){.admin-stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card{flex-direction:row;align-items:center;gap:var(--space-md)}.stat-content{flex:1}.admin-actions{flex-direction:row}.admin-action-card{flex:1}.church-card{align-items:center}.church-actions{flex-direction:row}}@media(min-width:1024px){.admin-stats-grid{grid-template-columns:repeat(6,1fr)}.admin-list{max-width:1000px}.user-card,.church-card{padding:var(--space-lg)}}.calendar-page{padding-bottom:var(--space-2xl)}.calendar-page .page-header{display:flex;align-items:center;gap:var(--space-sm)}.calendar-page .page-header svg{color:var(--primary)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-md);margin-bottom:var(--space-md)}.month-nav{display:flex;align-items:center;gap:var(--space-sm)}.month-nav h2{min-width:180px;text-align:center;font-size:1.125rem}.nav-btn{width:36px;height:36px;border:none;background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.nav-btn:hover{background:var(--border-light)}.calendar-actions{display:flex;gap:var(--space-sm)}.recurring-summary{padding:0 var(--space-md);margin-bottom:var(--space-md)}.recurring-summary h4{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.recurring-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.recurring-tag{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:4px 8px;border-radius:var(--radius-full);background:#16a34a1a;color:var(--success)}.tag-remove{width:16px;height:16px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.7;margin-left:2px}.tag-remove:hover{opacity:1}.calendar-grid{padding:0 var(--space-md);margin-bottom:var(--space-md)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-xs)}.day-header{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:var(--space-xs)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border-light)}.calendar-day{min-height:80px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:4px;background:var(--surface);cursor:pointer;transition:background .15s ease}.calendar-day:first-child{border-left:1px solid var(--border-light)}.calendar-day:hover{background:var(--border-light)}.calendar-day.other-month{background:var(--background)}.calendar-day.other-month .day-number{color:var(--text-muted)}.calendar-day.today{background:#b453090d}.calendar-day.today .day-number{background:var(--primary);color:#fff;border-radius:var(--radius-full);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.day-number{font-size:.875rem;font-weight:500;color:var(--text);display:block;margin-bottom:2px}.calendar-event{display:flex;align-items:center;gap:2px;font-size:.625rem;padding:2px 4px;border-radius:3px;margin-bottom:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-event.gig{background:#b4530933;color:var(--primary-dark)}.calendar-event.availability.available{background:#16a34a26;color:var(--success)}.calendar-event.availability.unavailable{background:#dc262626;color:var(--error)}.recurring-indicator{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-full);background:#16a34a26;color:var(--success)}.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);padding:var(--space-md);font-size:.75rem;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:var(--space-xs)}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color.gig{background:#b4530933}.legend-color.available{background:#16a34a26}.legend-color.unavailable{background:#dc262626}.legend-color.recurring{background:#16a34a26;border:2px solid var(--success)}.day-gigs,.day-availability{margin-bottom:var(--space-md)}.day-gigs h4,.day-availability h4{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.day-gig-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm);background:#b453091a;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.day-gig-item strong{font-size:.875rem}.day-gig-item span{font-size:.75rem;color:var(--text-secondary)}.gig-pay{color:var(--success)!important;font-weight:600}.availability-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.availability-item.available{background:#16a34a1a;color:var(--success)}.availability-item.unavailable{background:#dc26261a;color:var(--error)}.btn-icon{width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon.danger{color:var(--error)}.btn-icon:hover{background:#0000000d}.availability-form{border-top:1px solid var(--border-light);padding-top:var(--space-md);margin-top:var(--space-md)}.availability-form h4{font-size:.875rem;margin-bottom:var(--space-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.modal-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-lg)}@media(min-width:768px){.calendar-day{min-height:100px;padding:var(--space-sm)}.day-number{font-size:1rem}.calendar-event{font-size:.75rem;padding:3px 6px}}@media(min-width:1024px){.calendar-grid{max-width:1000px;margin:0 auto var(--space-md)}.calendar-day{min-height:120px}.calendar-controls,.recurring-summary{max-width:1000px;margin:0 auto var(--space-md)}}.security-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);padding-bottom:var(--space-xs);overflow-x:auto}.security-tab{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.security-tab:hover{background:var(--border-light);color:var(--text)}.security-tab.active{background:var(--primary);color:#fff}.security-status .status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.status-card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:var(--space-md)}.status-card .status-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.status-card .status-content{flex:1}.status-card .status-content h3{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs)}.status-card .status-content p{font-weight:600;margin-bottom:var(--space-sm)}.status-card .status-enabled{color:var(--success)}.status-card .status-disabled{color:var(--text-muted)}.status-card .status-ip{font-family:monospace;color:var(--text)}.status-card .status-detail{font-size:.75rem;color:var(--text-muted)}.status-card .status-detail.text-success{color:var(--success)}.status-card .status-detail.text-warning{color:var(--warning)}.status-card .btn-sm{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);font-size:.75rem}.ldap-result{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);margin-top:var(--space-md)}.ldap-result.success{background:#16a34a1a;color:var(--success)}.ldap-result.error{background:#dc26261a;color:var(--error)}.security-whitelist .whitelist-actions{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.add-ip-form{padding:var(--space-lg);margin-bottom:var(--space-lg)}.add-ip-form h3{font-size:1rem;margin-bottom:var(--space-md)}.add-ip-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.add-ip-form .form-group{margin-bottom:var(--space-md)}.add-ip-form .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-xs);color:var(--text-secondary)}.add-ip-form .form-group input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem}.add-ip-form .btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.whitelist-table{padding:var(--space-lg);overflow-x:auto}.whitelist-table h3{font-size:1rem;margin-bottom:var(--space-md)}.whitelist-table table{width:100%;border-collapse:collapse;font-size:.875rem}.whitelist-table th,.whitelist-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.whitelist-table th{font-weight:600;color:var(--text-secondary);background:var(--background)}.whitelist-table tr.inactive{opacity:.5}.whitelist-table .ip-cell{font-family:monospace}.whitelist-table .status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:2px 8px;border-radius:var(--radius-full)}.whitelist-table .status-badge.active{background:#16a34a1a;color:var(--success)}.whitelist-table .status-badge.inactive{background:#6b72801a;color:var(--text-muted)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-icon.btn-danger{background:transparent;color:var(--error)}.btn-icon.btn-danger:hover{background:#dc26261a}.security-attempts .section-header,.security-audit .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.security-attempts .section-header h3,.security-audit .section-header h3{font-size:1rem}.attempts-table,.audit-table{padding:var(--space-lg);overflow-x:auto}.attempts-table table,.audit-table table{width:100%;border-collapse:collapse;font-size:.875rem}.attempts-table th,.attempts-table td,.audit-table th,.audit-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.attempts-table th,.audit-table th{font-weight:600;color:var(--text-secondary);background:var(--background)}.attempts-table tr.success{background:#16a34a08}.attempts-table tr.failed{background:#dc262608}.attempts-table .status-badge,.audit-table .action-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:2px 8px;border-radius:var(--radius-full)}.attempts-table .status-badge.success{background:#16a34a1a;color:var(--success)}.attempts-table .status-badge.failed{background:#dc26261a;color:var(--error)}.audit-table .action-badge{background:#b453091a;color:var(--primary)}.audit-table .entity-ref{font-size:.75rem;color:var(--text-secondary);font-family:monospace}.audit-table .details-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-cell{font-family:monospace;font-size:.8125rem}.empty-message{color:var(--text-muted);text-align:center;padding:var(--space-xl)}.alert-close{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;color:inherit;opacity:.7;margin-left:auto;padding:0 var(--space-xs)}.alert-close:hover{opacity:1}.security-settings{display:flex;flex-direction:column;gap:var(--space-lg)}.settings-section{padding:var(--space-lg)}.settings-section h3{display:flex;align-items:center;gap:var(--space-sm);font-size:1rem;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light);color:var(--text)}.settings-section h3 svg{color:var(--primary)}.settings-section .form-group{margin-bottom:var(--space-md)}.settings-section .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-xs);color:var(--text-secondary)}.settings-section .form-group input,.settings-section .form-group select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--surface);color:var(--text)}.settings-section .form-group input:focus,.settings-section .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #b453091a}.settings-section .form-row{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.checkbox-label{display:flex!important;align-items:center;gap:var(--space-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:var(--space-xs)}.test-section{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.test-section input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem}.test-section .btn{display:flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.test-result{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-top:var(--space-sm);font-size:.875rem}.test-result.success{background:#16a34a1a;color:var(--success)}.test-result.error{background:#dc26261a;color:var(--error)}.settings-actions{display:flex;justify-content:flex-end;padding:var(--space-md) 0}.settings-actions .btn-lg{padding:var(--space-md) var(--space-xl);font-size:1rem}.settings-actions .btn{display:flex;align-items:center;gap:var(--space-sm)}@media(min-width:768px){.security-status .status-grid{grid-template-columns:repeat(4,1fr)}.add-ip-form .form-row{grid-template-columns:repeat(3,1fr)}.settings-section .form-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.security-tabs{gap:var(--space-sm)}.security-tab{padding:var(--space-sm) var(--space-lg)}.settings-section .form-row{grid-template-columns:repeat(3,1fr)}}
