:root{--brand-blue: #0099cc;--brand-green: #7ac943;--brand-orange: #f7941d;--brand-white: #ffffff;--color-primary: var(--brand-blue);--color-primary-hover: #007aa3;--color-primary-light: rgba(0, 153, 204, .1);--color-secondary: var(--brand-green);--color-secondary-hover: #5fa832;--color-accent: var(--brand-orange);--color-accent-hover: #d47f16;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: var(--brand-blue);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-tooltip: 500;--z-toast: 600;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--header-height: 64px;--max-content-width: 1280px}[data-theme=dark]{--color-primary: #38bdf8;--color-primary-hover: #0ea5e9;--color-primary-light: rgba(56, 189, 248, .15);--color-secondary: #86efac;--color-secondary-hover: #4ade80;--color-accent: #fbbf24;--color-accent-hover: #f59e0b;--color-background: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-light: #1e293b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3)}*,*: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-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-border-light)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-ghost{background-color:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input::placeholder{color:var(--color-text-muted)}.textarea{min-height:100px;resize:vertical}.label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:#10b9811a;color:var(--color-success)}.badge-warning{background-color:#f59e0b1a;color:var(--color-warning)}.badge-error{background-color:#ef44441a;color:var(--color-error)}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-slide-up{animation:slideUp var(--transition-normal)}.animate-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex:1}.app-main{flex:1;min-height:calc(100vh - var(--header-height));overflow-y:auto}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4)}.placeholder-page{padding:var(--space-6);text-align:center;color:var(--color-text-secondary)}.placeholder-page h1{margin-bottom:var(--space-2)}@media(max-width:768px){.app-body{flex-direction:column}.app-main{min-height:calc(100vh - var(--header-height))}}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-6);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.header-left{display:flex;align-items:center;gap:var(--space-2)}.menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.menu-toggle:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.header-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.header-brand:hover{background-color:var(--color-primary-light)}.header-logo{height:40px;width:auto}.header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0}.header-right{display:flex;align-items:center;gap:var(--space-2)}.header-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.header-btn:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.theme-toggle{width:40px;height:40px}.user-btn{padding:var(--space-2) var(--space-3)}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.user-menu{position:relative}.user-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:200px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown)}.user-dropdown.open{display:block}.user-dropdown-header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-bottom:1px solid var(--color-border-light)}.user-email{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dropdown-item{display:block;width:100%;padding:var(--space-3);text-align:left;background:none;border:none;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast)}.dropdown-item:hover{background-color:var(--color-primary-light)}@media(max-width:768px){.header{padding:0 var(--space-4)}.menu-toggle{display:flex}.header-title{font-size:var(--font-size-lg)}.user-name{display:none}}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);height:calc(100vh - var(--header-height));background-color:var(--color-surface);border-right:1px solid var(--color-border);position:sticky;top:var(--header-height);overflow-y:auto;margin-left:calc(-1 * var(--sidebar-width));transition:margin-left var(--transition-normal)}.sidebar.open{margin-left:0}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-fast)}.sidebar-link:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.sidebar-link.active{background-color:var(--color-primary);color:var(--color-text-inverse)}.sidebar-link.active:hover{background-color:var(--color-primary-hover)}.sidebar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border-light)}.sidebar-version{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;margin:0}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;top:var(--header-height);background-color:#00000080;z-index:calc(var(--z-modal) - 1);opacity:1;transition:opacity var(--transition-normal)}.sidebar{position:fixed;left:-100%;top:var(--header-height);height:calc(100vh - var(--header-height));z-index:var(--z-modal);transition:left var(--transition-normal);box-shadow:var(--shadow-xl);margin-left:0}.sidebar.open{left:0}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:linear-gradient(135deg,var(--color-primary) 0%,var(--brand-green) 100%)}.login-card{width:100%;max-width:400px;background-color:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl);animation:slideUp var(--transition-normal)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-logo{width:80px;height:auto;margin-bottom:var(--space-4)}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.login-error{background-color:#ef44441a;color:var(--color-error);padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--space-4);text-align:center}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.btn-google:hover:not(:disabled){background-color:var(--color-border-light);border-color:var(--color-text-muted)}.btn-google:disabled{opacity:.7;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.login-hint{background-color:#0891b21a;color:var(--color-primary);padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--space-4);text-align:center;border:1px solid rgba(8,145,178,.2)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column}.btn-full{width:100%}.login-toggle{text-align:center;margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-toggle button{background:none;border:none;color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer}.login-toggle button:hover{text-decoration:underline}.login-note{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.pending-message{text-align:center;padding:var(--space-6) 0}.pending-icon{font-size:3rem;margin-bottom:var(--space-4)}.pending-message p{margin-bottom:var(--space-2)}.forgot-password-link{text-align:center;margin-top:var(--space-3)}.forgot-password-link button{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer}.forgot-password-link button:hover{color:var(--color-primary);text-decoration:underline}.reset-success-icon{font-size:3rem;color:var(--color-success, #22c55e);margin-bottom:var(--space-2)}.reset-success-message{text-align:center;padding:var(--space-4) 0;color:var(--color-text-secondary)}.reset-instructions{text-align:center;margin-bottom:var(--space-4)}.fallback-option{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);text-align:center}.fallback-option .btn-secondary{margin-top:var(--space-2);background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.fallback-option .btn-secondary:hover:not(:disabled){background-color:var(--color-border-light)}.fallback-note{font-size:var(--font-size-xs);margin-top:var(--space-2);color:var(--color-text-muted)}.dashboard{padding:var(--space-6);max-width:var(--max-content-width);margin:0 auto}.dashboard-header{margin-bottom:var(--space-8)}.dashboard-header h1{margin-bottom:var(--space-1)}.current-sabbath-section{margin-bottom:var(--space-8)}.current-sabbath-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.current-sabbath-card{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);background:linear-gradient(135deg,var(--color-primary) 0%,var(--brand-green) 100%);border-radius:var(--radius-xl);color:#fff}.sabbath-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:80px;background-color:#fff3;border-radius:var(--radius-lg)}.date-large{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1}.sabbath-date .month{font-size:var(--font-size-sm);text-transform:uppercase;opacity:.9}.sabbath-details{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.sabbath-details h3{color:#fff;margin-bottom:var(--space-1)}.sunset{display:inline-flex;align-items:center;gap:var(--space-2);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:#0003;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-top:var(--space-1)}.sabbath-actions .btn{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.sabbath-actions .btn:hover{background-color:#ffffff4d}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.recent-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.sabbath-list{display:flex;flex-direction:column;gap:var(--space-2)}.sabbath-list-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);transition:all var(--transition-fast)}.sabbath-list-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.sabbath-list-date{display:flex;flex-direction:column;align-items:center;width:50px;text-align:center}.sabbath-list-date .day{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}.sabbath-list-date .month{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.sabbath-list-info{flex:1;display:flex;flex-direction:column}.sabbath-list-title{font-weight:var(--font-weight-medium)}.sabbath-list-sunset{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-text-secondary);text-align:center}@media(max-width:640px){.dashboard{padding:var(--space-4)}.current-sabbath-card{flex-direction:column;text-align:center}.sabbath-actions,.sabbath-actions .btn{width:100%}}.sabbaths-page{padding:var(--space-6);max-width:var(--max-content-width);margin:0 auto}.sabbaths-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.sabbaths-header h1{margin-bottom:var(--space-1)}.sabbaths-toolbar{margin-bottom:var(--space-6)}.filter-tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background-color:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.filter-tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-tab.active{background-color:var(--color-primary);color:#fff}.sabbaths-list{display:flex;flex-direction:column;gap:var(--space-4)}.sabbath-card{display:flex;align-items:stretch;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:box-shadow var(--transition-fast)}.sabbath-card:hover{box-shadow:0 4px 12px #00000014}.sabbath-card.current{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.sabbath-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:var(--space-3);background:linear-gradient(135deg,var(--color-primary) 0%,#1a56a0 100%);border-radius:var(--radius-lg);color:#fff;text-align:center}.date-day{font-size:28px;font-weight:var(--font-weight-bold);line-height:1}.date-month{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.date-year{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sabbath-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.sabbath-title-row{display:flex;align-items:center;gap:var(--space-2)}.sabbath-date-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.badge-current{background-color:var(--color-secondary);color:#fff;font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full)}.sabbath-details{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.sabbath-sunset,.sabbath-theme{display:inline-flex;align-items:center;gap:var(--space-1)}.sabbath-sunset svg{color:#ff9800}.sabbath-theme svg{color:var(--color-primary)}.sabbath-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge-event{background-color:#e91e631f;color:#c2185b;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-location{background-color:#2196f31f;color:#1976d2;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-dayoff{background-color:#ff98001f;color:#ef6c00;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.sabbath-actions{display:flex;flex-direction:column;gap:var(--space-2);justify-content:center}.sabbath-actions .btn{min-width:80px;font-size:var(--font-size-sm)}.sabbath-actions .btn-secondary{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.sabbath-actions .btn-secondary:hover{background-color:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.sabbath-actions .btn-delete{background:none;border:1px solid rgba(183,28,28,.3);color:#b71c1c}.sabbath-actions .btn-delete:hover{background-color:#b71c1c14;border-color:#b71c1c}.sabbaths-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center;color:var(--color-text-secondary);gap:var(--space-4)}.sabbaths-page .loading-state,.sabbaths-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-8);color:var(--color-text-secondary);text-align:center}.sabbath-form{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:flex;gap:var(--space-4)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group .label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-error{padding:var(--space-3);background-color:#ef53501a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.checkbox-label-inline{flex-direction:row!important;align-items:center;gap:var(--space-2);padding-top:var(--space-6);cursor:pointer}.checkbox-label-inline input[type=checkbox]{width:18px;height:18px;cursor:pointer}.sabbath-form .modal-footer{padding:0;border:none;margin-top:var(--space-2)}@media(max-width:768px){.sabbaths-page{padding:var(--space-4)}.sabbaths-header{flex-direction:column;gap:var(--space-4)}.sabbath-card{flex-direction:column}.sabbath-date-badge{flex-direction:row;gap:var(--space-2);min-width:auto;padding:var(--space-2) var(--space-4)}.date-day{font-size:20px}.date-month,.date-year{font-size:var(--font-size-sm)}.sabbath-actions{flex-direction:row;justify-content:flex-start}.form-row-2{grid-template-columns:1fr}}@media(max-width:480px){.filter-tabs{width:100%;justify-content:space-between}.filter-tab{flex:1;text-align:center;padding:var(--space-2)}}.oos-page{max-width:600px;margin:0 auto;padding-bottom:var(--space-8);min-height:100vh;background-color:var(--color-background)}.oos-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--brand-green) 100%);color:#fff;padding:var(--space-6);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-4)}.oos-header-logo{width:70px;height:70px;object-fit:contain;flex-shrink:0}.oos-header-content{text-align:center;flex:1}.oos-header h1{color:#fff;font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.oos-date{font-size:var(--font-size-lg);opacity:.95;margin-bottom:var(--space-2)}.oos-sunset{font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--space-3)}.oos-badge{background-color:#fff3;border:1px solid rgba(255,255,255,.3)}.oos-segments{padding:0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.oos-segment{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.oos-segment:hover{box-shadow:var(--shadow-md)}.segment-musical{border-left:3px solid var(--color-primary)}.segment-assigned{border-left:3px solid var(--color-secondary)}.segment-placeholder{opacity:.7;border-left:3px solid var(--color-border)}.segment-defaulted{border-left:3px solid var(--color-accent)}.segment-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:var(--color-primary-light);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);flex-shrink:0}.segment-content{flex:1;min-width:0}.segment-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.segment-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.segment-duration{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-border-light);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.segment-duration.editable{display:inline-flex;align-items:center;gap:4px;background-color:var(--color-surface);border:1px solid var(--color-primary)}.duration-input{width:40px;padding:2px 4px;font-size:var(--font-size-xs);border:none;background:transparent;color:var(--color-text);text-align:center;-moz-appearance:textfield}.duration-input::-webkit-outer-spin-button,.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input:focus{outline:none}.segment-assigned{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.segment-assigned .unassigned{color:var(--color-text-muted)}.segment-notes{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.segment-type-icon{font-size:var(--font-size-lg);opacity:.5}.oos-footer{margin-top:var(--space-6);padding:var(--space-4);background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border)}.sermon-info{text-align:center}.sermon-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:block;margin-bottom:var(--space-1)}.sermon-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.oos-page .loading-state,.oos-page .error-state,.oos-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--space-8);color:var(--color-text-secondary);text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.oos-toolbar{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.oos-header-details{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--font-size-sm);opacity:.9}.oos-sunset,.oos-end-time{display:inline-block}.oos-sabbath-school{margin:0 var(--space-4) var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,#7ac9431a,#0099cc1a);border:1px solid var(--color-secondary);border-radius:var(--radius-xl)}.sabbath-school-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.ss-icon{font-size:1.5rem}.ss-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);flex:1}.ss-time{font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-surface);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.sabbath-school-lesson{display:flex;align-items:center;gap:var(--space-2);padding-left:2.5rem}.lesson-number{font-weight:var(--font-weight-medium);color:var(--color-secondary-dark, #5a9b3a)}.lesson-title{color:var(--color-text-secondary);font-style:italic}.oos-divider{display:flex;align-items:center;margin:var(--space-4) var(--space-4);gap:var(--space-3)}.oos-divider:before,.oos-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.oos-divider span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.edit-mode .oos-segment{cursor:pointer}.segment-edit-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-right:var(--space-2)}.segment-reorder-btns{display:flex;flex-direction:column;gap:2px}.segment-reorder-btns .btn{padding:2px 8px;font-size:var(--font-size-xs);line-height:1}.segment-reorder-btns .btn:disabled{opacity:.3}.hidden-segment{opacity:.5;border-style:dashed}.segment-songs{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.song-item{font-size:var(--font-size-xs);background-color:var(--color-primary-light);color:var(--color-primary);padding:2px 8px;border-radius:var(--radius-full)}.no-songs{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.select-songs-btn{font-size:var(--font-size-xs);padding:2px 8px}.song-picker-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.song-picker-body{padding:var(--space-4);overflow-y:auto;flex:1}.song-picker-body h4{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.assignee-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.assignee-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.assignee-header h4{margin-bottom:0}.assignee-status{margin-bottom:var(--space-2)}.custom-badge{display:inline-block;padding:2px 8px;font-size:var(--font-size-xs);background-color:var(--color-warning-light, #fff3cd);color:var(--color-warning, #856404);border-radius:var(--radius-full)}.linked-badge{display:inline-block;padding:2px 8px;font-size:var(--font-size-xs);background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full)}.contact-picker-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.contact-picker-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);transition:all .2s}.contact-picker-item.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.contact-picker-item.removed{background-color:var(--color-surface);border-color:var(--color-border-light);opacity:.6}.contact-name{font-weight:var(--font-weight-medium)}.contact-remove,.contact-add{padding:2px 6px;font-size:var(--font-size-sm)}.contact-remove:hover{background-color:var(--color-error-light, rgba(239, 68, 68, .1))}.contact-add{color:var(--color-success, #22c55e)}.contact-add:hover{background-color:var(--color-success-light, rgba(34, 197, 94, .1))}.assignee-help{font-size:var(--font-size-xs);margin-top:var(--space-1)}.selected-songs-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.selected-songs-section h4{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.selected-songs-list{display:flex;flex-direction:column;gap:var(--space-2)}.selected-song-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background-color:var(--color-primary-light);border-radius:var(--radius-lg)}.selected-song-order{display:flex;flex-direction:column;gap:2px}.selected-song-order .btn{padding:2px 6px;font-size:10px}.selected-song-title{flex:1;font-weight:var(--font-weight-medium)}.song-search{margin-bottom:var(--space-3)}.available-songs-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto}.song-picker-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.song-picker-item:hover{border-color:var(--color-primary)}.song-picker-item.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.song-picker-info{display:flex;flex-direction:column;gap:2px}.song-picker-title{font-weight:var(--font-weight-medium)}.song-picker-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.song-picker-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--color-border);color:var(--color-text-secondary);font-weight:var(--font-weight-bold)}.song-picker-item.selected .song-picker-check{background-color:var(--color-primary);color:#fff}.add-segment-body{padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;flex:1;min-height:0}.segment-type-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.segment-type-pill{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .15s ease;text-align:center;font-family:inherit}.segment-type-pill:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.segment-type-pill.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.type-pill-label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.type-pill-desc{font-size:var(--font-size-xs);opacity:.7}.add-segment-assigned-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.assigned-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.assigned-chip-remove{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-primary);padding:0 2px;line-height:1;opacity:.7}.assigned-chip-remove:hover{opacity:1;color:var(--color-error)}.add-segment-contact-results{max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--space-1)}.add-segment-contact-item{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .15s}.add-segment-contact-item:hover{background-color:var(--color-primary-light)}.add-segment-contact-item.no-result{color:var(--color-text-muted);cursor:default}.add-segment-contact-item.no-result:hover{background-color:transparent}.segment-delete-btn{color:var(--color-error, #ef4444);opacity:.6;transition:opacity .2s}.segment-delete-btn:hover{opacity:1;background-color:#ef44441a!important}.segment-notes-edit{margin-top:var(--space-1)}.segment-notes-input{padding:var(--space-1) var(--space-2)!important;font-size:var(--font-size-xs)!important;font-style:italic;min-height:unset!important;height:auto!important}.guest-performers-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.guest-performers-section h4{margin-bottom:var(--space-2)}.guest-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.guest-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--color-accent-light, rgba(201, 162, 39, .15));color:var(--color-accent, #c9a227);border:1px solid var(--color-accent, #c9a227);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.guest-chip-remove{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-accent, #c9a227);padding:0 2px;line-height:1;opacity:.7}.guest-chip-remove:hover{opacity:1;color:var(--color-error)}.guest-input-row{display:flex;gap:var(--space-2);align-items:center}.guest-input-row .input{flex:1}.no-songs-found{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4)}.quick-add-song-btn{font-size:var(--font-size-sm);white-space:nowrap}@media print{@page{size:letter;margin:.5in}.no-print{display:none!important}:root{color-scheme:light!important}*{color:#000!important;background-color:transparent!important}body{margin:0;padding:0;background:#fff!important;color:#000!important}.sidebar,.sidebar-overlay,.app-header,nav,header:not(.oos-header){display:none!important}html,body{height:100%;overflow:hidden}.oos-page{background:#fff!important;padding:0;max-width:100%;font-size:11px;color:#000!important;max-height:9.5in;overflow:hidden;page-break-after:avoid}.oos-header{background:none!important;color:#000!important;border-bottom:2px solid black;padding:6px 0;display:flex;flex-direction:row;align-items:center;gap:12px}.oos-header-logo{width:40px;height:40px}.oos-header-content{flex:1;text-align:center}.oos-header h1{color:#000!important;font-size:16px;margin:0 0 2px}.oos-date{color:#000!important;font-size:11px;margin:0 0 2px}.oos-header-details{font-size:9px;gap:12px;flex-direction:row;margin:0;color:#333!important;opacity:1}.oos-sunset,.oos-end-time{color:#333!important}.oos-header .special-event-badge{display:none}.oos-sabbath-school{display:none!important}.sabbath-school-header,.sabbath-school-lesson{display:none}.oos-divider{margin:4px 0;font-size:10px}.oos-divider span{color:#333!important}.oos-divider:before,.oos-divider:after{background-color:#999!important}.oos-segments{gap:4px}.oos-segment{box-shadow:none;border:1px solid #bbb!important;border-left:3px solid #555!important;padding:4px 8px;break-inside:avoid;opacity:1!important}.segment-number{width:18px;height:18px;font-size:9px;min-width:18px;background-color:#eee!important;color:#000!important}.segment-content{font-size:10px;color:#000!important}.segment-name{font-size:10px;font-weight:600;color:#000!important}.segment-duration{font-size:9px;font-weight:600;color:#000!important;background-color:#eee!important}.segment-duration.editable{border:none;background:transparent!important;padding:0}.duration-input{width:auto;padding:0;font-size:9px;font-weight:600;color:#000!important}.segment-assigned{font-size:9px;color:#000!important}.segment-assigned .unassigned{color:#666!important}.segment-notes{font-size:8px;color:#333!important}.segment-songs{margin-top:2px}.song-item{font-size:9px;padding:1px 6px;background-color:#eee!important;color:#000!important;border:1px solid #bbb!important}.no-songs{color:#666!important}.segment-type-icon{display:none}.oos-footer{margin-top:4px;padding:4px 0;font-size:10px;color:#000!important;border-top:1px solid #999!important;background:none!important}.sermon-label{color:#333!important}.sermon-title{color:#000!important}.hidden-segment{display:none}.segment-notes-edit,.segment-delete-btn,.segment-edit-controls{display:none!important}.oos-page~*,.main-content>*:not(.oos-page){display:none!important}}@media(max-width:640px){.oos-header-details{flex-direction:column;gap:var(--space-1)}.sabbath-school-header{flex-wrap:wrap}.ss-time{width:100%;text-align:center;margin-top:var(--space-2)}.sabbath-school-lesson{flex-direction:column;align-items:flex-start;padding-left:0;margin-top:var(--space-2)}}.contacts-page{padding:var(--space-6);max-width:var(--max-content-width);margin:0 auto}.contacts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.contacts-header h1{margin-bottom:var(--space-1)}.contacts-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.search-input{max-width:300px}.ministry-filter{max-width:220px;cursor:pointer}.clear-filters-btn{white-space:nowrap}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.contact-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:box-shadow var(--transition-fast)}.contact-card:hover{box-shadow:var(--shadow-md)}.contact-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.contact-info{display:flex;flex-direction:column;gap:var(--space-1)}.contact-name-row{display:flex;align-items:center;gap:var(--space-2)}.contact-name{font-size:var(--font-size-lg);margin:0}.contact-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.contact-ministries{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.badge-ministry{background-color:#7ac94326;color:var(--color-secondary-dark, #5a9b3a);border:1px solid rgba(122,201,67,.3)}.badge-user-linked{background-color:#1e63b71a;color:var(--color-primary);border:1px solid rgba(30,99,183,.3);font-size:10px;padding:1px 6px}.contact-details{display:flex;flex-direction:column;gap:var(--space-1)}.contact-email,.contact-phone{font-size:var(--font-size-sm);color:var(--color-primary)}.sms-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-medium);background-color:#7ac94326;color:var(--color-secondary-dark, #5a9b3a);width:fit-content}.contact-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.contact-form{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.contact-form-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.contact-form .modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-end;flex-shrink:0}.user-linked-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:#1e63b71a;border:1px solid rgba(30,99,183,.2);border-radius:var(--radius-lg);margin:var(--space-4) var(--space-6) 0;font-size:var(--font-size-sm);color:var(--color-primary)}.warning-icon{flex-shrink:0}.ministry-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.ministry-pill{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .15s ease;border:1.5px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-family:inherit}.ministry-pill:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-light)}.ministry-pill.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.ministry-pill.selected:hover{background-color:#1a56a0;border-color:#1a56a0}.pill-check{font-size:11px;font-weight:700;margin-right:2px}.family-management-section{border-top:1px solid var(--color-border-light);padding-top:var(--space-4);margin-top:var(--space-2)}.subsection-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.contact-form .input:disabled{background-color:var(--color-background);color:var(--color-text-secondary);cursor:not-allowed;opacity:.7}.contacts-page .loading-state,.contacts-page .error-state,.contacts-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-8);color:var(--color-text-secondary);text-align:center;grid-column:1 / -1}@media(max-width:640px){.contacts-page{padding:var(--space-4)}.contacts-header{flex-direction:column;gap:var(--space-4)}.contacts-toolbar{flex-direction:column;align-items:stretch}.search-input,.ministry-filter{max-width:100%}}.songs-page{padding:var(--space-6);max-width:1000px;margin:0 auto}.songs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.header-content h1{margin-bottom:var(--space-1)}.songs-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.songs-toolbar .search-input{flex:1;min-width:200px}.songs-toolbar .filter-select{min-width:140px}.filter-btn{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background-color:#ffc10726;border-color:#ffc107;color:#b38600}.songs-list{display:flex;flex-direction:column;gap:var(--space-3)}.song-card{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-fast)}.song-card:hover{box-shadow:0 2px 8px #0000000f}.song-main{flex:1}.song-title-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.favorite-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0;line-height:1;opacity:.5;transition:opacity var(--transition-fast)}.favorite-btn:hover,.favorite-btn.active{opacity:1}.song-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.hymn-number{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);background-color:var(--color-primary-light);padding:2px 8px;border-radius:var(--radius-full)}.song-details{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.song-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.song-badge.source{background-color:#2196f31f;color:#1565c0}.song-badge.style{background-color:#9c27b01f;color:#7b1fa2}.song-badge.key{background-color:#4caf501f;color:#388e3c}.song-notes{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-style:italic}.song-actions{display:flex;gap:var(--space-2);margin-left:var(--space-4)}.song-actions .btn-delete{color:var(--color-error)}.song-form{padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.textarea{resize:vertical;min-height:80px}.checkbox-group{flex-direction:row}.checkbox-label input[type=checkbox]{width:18px;height:18px}.song-form .modal-footer{padding:0;border:none;margin-top:var(--space-2)}.songs-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-secondary);text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.songs-page .loading-state,.songs-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-4)}@media(max-width:640px){.songs-page{padding:var(--space-4)}.songs-header{flex-direction:column;gap:var(--space-4)}.songs-header .btn{width:100%}.songs-toolbar{flex-direction:column}.songs-toolbar .search-input,.songs-toolbar .filter-select{width:100%}.song-card{flex-direction:column}.song-actions{margin-left:0;margin-top:var(--space-3);width:100%}.song-actions .btn{flex:1}.form-row{grid-template-columns:1fr}}.settings-page{padding:var(--space-6);max-width:800px;margin:0 auto}.settings-header{margin-bottom:var(--space-6)}.settings-header h1{margin-bottom:var(--space-1)}.settings-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:none;border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.tab:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.tab.active{background-color:var(--color-primary);color:#fff}.tab-badge{background-color:var(--color-error);color:#fff;font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-full)}.settings-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6)}.settings-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-1)}.settings-section>.text-secondary{margin-bottom:var(--space-6)}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.field-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.field-toggle:hover{border-color:var(--color-primary)}.field-toggle.active{background-color:#7ac9431a;border-color:var(--color-secondary)}.toggle-switch{width:36px;height:20px;background-color:var(--color-border);border-radius:var(--radius-full);position:relative;transition:background-color var(--transition-fast)}.field-toggle.active .toggle-switch{background-color:var(--color-secondary)}.toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.field-toggle.active .toggle-knob{transform:translate(16px)}.field-name{font-size:var(--font-size-sm)}.pending-list{display:flex;flex-direction:column;gap:var(--space-3)}.pending-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-background);border-radius:var(--radius-lg)}.pending-info{display:flex;flex-direction:column;gap:2px}.pending-name{font-weight:var(--font-weight-medium)}.pending-email{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pending-actions{display:flex;align-items:center;gap:var(--space-2)}.pending-actions .select{width:auto;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.settings-page .loading-state,.settings-page .error-state,.settings-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--space-8);color:var(--color-text-secondary);text-align:center}.section-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.ministry-list{display:flex;flex-direction:column;gap:var(--space-2)}.ministry-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background-color:var(--color-background);border-radius:var(--radius-lg)}.ministry-info{display:flex;flex-direction:column;gap:2px}.ministry-name{font-weight:var(--font-weight-medium)}.ministry-id{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:monospace}.ministry-form{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.ministry-form .modal-footer{padding:0;border:none;margin-top:var(--space-2);justify-content:flex-end}.matching-contact-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);background-color:#7ac94326;color:var(--color-secondary-dark, #5a9b3a);margin-top:var(--space-1)}.link-modal-body{padding:var(--space-4) var(--space-6)}.link-modal-body p{margin-bottom:var(--space-4)}.contact-link-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.contact-link-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.contact-link-item:last-child{border-bottom:none}.contact-link-item:hover{background-color:var(--color-primary-light)}.contact-link-name{font-weight:var(--font-weight-medium)}.contact-link-email{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dropdown-list{display:flex;flex-direction:column;gap:var(--space-3)}.dropdown-config-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background-color:var(--color-background);border-radius:var(--radius-lg)}.dropdown-config-info{display:flex;flex-direction:column;gap:2px}.dropdown-config-name{font-weight:var(--font-weight-medium)}.dropdown-config-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dropdown-config-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.modal-lg{max-width:500px}.dropdown-editor-body{padding:var(--space-4) var(--space-6)}.dropdown-add-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.dropdown-add-row .input{flex:1}.dropdown-items-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dropdown-item-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.dropdown-item-row:last-child{border-bottom:none}.text-center{text-align:center;padding:var(--space-4)}.users-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.users-toolbar .search-input{flex:1;min-width:200px}.users-toolbar .filter-select{min-width:120px}.users-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.users-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.users-table th{text-align:left;padding:var(--space-3);background-color:var(--color-background);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.users-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background-color:var(--color-background)}.users-table .deactivated-row{opacity:.6}.users-table .empty-row{text-align:center;color:var(--color-text-secondary);padding:var(--space-6)}.name-cell{font-weight:var(--font-weight-medium)}.email-cell{color:var(--color-text-secondary)}.role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.role-admin{background-color:#e91e631f;color:#c2185b}.role-coordinator{background-color:#9c27b01f;color:#7b1fa2}.role-editor{background-color:#2196f31f;color:#1565c0}.role-viewer{background-color:#9e9e9e1f;color:#616161}.linked-count{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);background-color:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);cursor:help}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-active{background-color:#4caf501f;color:#388e3c}.status-deactivated{background-color:#f443361f;color:#d32f2f}.status-pending{background-color:#ff98001f;color:#ef6c00}.actions-cell{white-space:nowrap}.actions-cell .btn{padding:var(--space-1)}.edit-user-body{padding:var(--space-4) var(--space-6)}.user-info-display{margin-bottom:var(--space-4);padding:var(--space-3);background-color:var(--color-background);border-radius:var(--radius-lg)}.user-info-display p{margin:var(--space-1) 0}.text-muted{color:var(--color-text-muted)}.ss-times-section{margin-bottom:var(--space-6)}.ss-times-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.ss-times-row{display:flex;gap:var(--space-4);max-width:400px}.ss-times-row .form-group{flex:1}.ss-lessons-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.add-lesson-form{display:flex;gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap}.add-lesson-form .input{flex-shrink:0}.lessons-list{display:flex;flex-direction:column;gap:var(--space-2)}.lesson-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg)}.lesson-number{font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:80px}.lesson-date{color:var(--color-text-secondary);font-size:var(--font-size-sm);min-width:120px}.lesson-title{flex:1;color:var(--color-text)}.lesson-actions{display:flex;gap:var(--space-1)}.edit-lesson-body{padding:var(--space-4) var(--space-6)}.add-segment-form{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.oos-template-list{display:flex;flex-direction:column;gap:var(--space-2)}.oos-segment-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg)}.segment-order-controls{display:flex;flex-direction:column;gap:2px}.segment-order-controls .btn{padding:2px 8px;font-size:var(--font-size-xs)}.segment-order-controls .btn:disabled{opacity:.3}.segment-info{flex:1;display:flex;flex-direction:column;gap:2px}.segment-name{font-weight:var(--font-weight-medium)}.segment-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.segment-actions{display:flex;gap:var(--space-1)}.edit-segment-body{padding:var(--space-4) var(--space-6)}@media(max-width:640px){.settings-page{padding:var(--space-4)}.pending-item{flex-direction:column;align-items:flex-start}.pending-actions{width:100%;flex-wrap:wrap}.section-header-row{flex-direction:column;gap:var(--space-2)}.ss-times-row{flex-direction:column;max-width:100%}.add-lesson-form{flex-direction:column}.add-lesson-form .input{width:100%!important}.lesson-item{flex-wrap:wrap}.lesson-number,.lesson-date{min-width:auto}.add-segment-form{flex-direction:column}.add-segment-form .input,.add-segment-form .select{width:100%!important}.oos-segment-item{flex-wrap:wrap}.notif-schedule-item,.notif-test-row{flex-direction:column}}.notif-status-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:.875rem}.notif-status-banner.configured{background:var(--color-success-bg, #ecfdf5);color:var(--color-success, #059669);border:1px solid var(--color-success, #059669)}.notif-status-banner.not-configured{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning, #d97706);border:1px solid var(--color-warning, #d97706)}.notif-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.notif-toggle-section,.notif-schedule-section,.notif-summary-section,.notif-templates-section,.notif-test-section,.notif-history-section{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.notif-schedule-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.notif-schedule-item{display:flex;gap:var(--space-3);align-items:flex-end}.notif-summary-controls{margin-top:var(--space-3)}.notif-template-editor{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary, #f9fafb);border-radius:var(--radius-md)}.notif-template-editor h4{margin-bottom:var(--space-3)}.notif-template-body{font-family:monospace;font-size:.8125rem;resize:vertical;min-height:120px}.notif-test-row{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.notif-history-table-container{margin-top:var(--space-3);overflow-x:auto}.notif-history-table{width:100%;border-collapse:collapse;font-size:.875rem}.notif-history-table th,.notif-history-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.notif-history-table th{font-weight:600;background:var(--color-bg-secondary, #f9fafb)}.profile-page{padding:var(--space-6);max-width:800px;margin:0 auto}.profile-header{margin-bottom:var(--space-6)}.profile-header h1{margin-bottom:var(--space-1)}.profile-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4)}.profile-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-1)}.profile-section>.text-secondary{margin-bottom:var(--space-4)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.section-header h2,.section-header h3{margin-bottom:var(--space-1)}.account-info{display:flex;flex-direction:column;gap:var(--space-3)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background-color:var(--color-background);border-radius:var(--radius-lg)}.info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.info-value{font-weight:var(--font-weight-medium)}.profile-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-help{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;padding-top:var(--space-2)}.assignments-list{display:flex;flex-direction:column;gap:var(--space-2)}.assignment-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-background);border-radius:var(--radius-lg)}.assignment-date{font-weight:var(--font-weight-medium);min-width:120px;color:var(--color-text)}.assignment-role{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dates-list{display:flex;flex-direction:column;gap:var(--space-3)}.date-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-background);border-radius:var(--radius-lg);flex-wrap:wrap}.date-range{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:200px}.date-start,.date-end{font-weight:var(--font-weight-medium)}.date-separator{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.date-notes{flex:2;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;padding:0 var(--space-4);border-left:1px solid var(--color-border)}.managed-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.managed-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-background);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent}.managed-item:hover{background-color:var(--color-primary-light)}.managed-item.selected{border-color:var(--color-primary);background-color:var(--color-primary-light)}.managed-avatar{width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.managed-info{flex:1;display:flex;flex-direction:column;gap:2px}.managed-name{font-weight:var(--font-weight-medium)}.managed-title{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.managed-chevron{font-size:var(--font-size-xl);color:var(--color-text-secondary)}.managed-dates-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.managed-dates-section h3{font-size:var(--font-size-base);margin-bottom:var(--space-1)}.add-date-form{display:flex;flex-direction:column;gap:var(--space-4)}.profile-section .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);color:var(--color-text-secondary);text-align:center}.profile-section .empty-state.small{padding:var(--space-4)}.profile-section .empty-state p{margin:0}.profile-page .loading-state,.profile-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-8);color:var(--color-text-secondary);text-align:center}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-primary{background-color:var(--color-primary);color:#fff}.badge-success{background-color:var(--color-secondary);color:#fff}.badge-warning{background-color:var(--color-warning);color:var(--color-text)}@media(max-width:640px){.profile-page{padding:var(--space-4)}.form-row{grid-template-columns:1fr}.date-item{flex-direction:column;align-items:flex-start}.date-notes{border-left:none;padding:var(--space-2) 0 0 0;border-top:1px solid var(--color-border);width:100%}.section-header{flex-direction:column;gap:var(--space-2)}.info-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;width:100%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp var(--transition-normal);z-index:var(--z-modal);overflow:hidden}.modal-content.modal-wide{max-width:560px}@media(max-width:640px){.modal-content{max-width:100%;max-height:95vh;border-radius:var(--radius-lg);margin:var(--space-2)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:var(--font-size-lg)}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0 0}.modal-close{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);gap:var(--space-4)}.footer-left,.footer-right{display:flex;align-items:center;gap:var(--space-2)}.selected-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.picker-modal{max-height:600px}.picker-search{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light)}.picker-list{flex:1;overflow-y:auto;padding:var(--space-2) 0}.picker-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.picker-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);cursor:pointer;transition:background-color var(--transition-fast)}.picker-item:hover{background-color:var(--color-primary-light)}.picker-item.selected{background-color:#7ac94326}.picker-checkbox{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.picker-item.selected .picker-checkbox{background-color:var(--color-secondary);border-color:var(--color-secondary)}.picker-checkbox .check{color:#fff;font-size:var(--font-size-xs);font-weight:700}.picker-info{display:flex;flex-direction:column;gap:2px;flex:1}.picker-name-row{display:flex;align-items:center;gap:var(--space-2)}.picker-name{font-weight:var(--font-weight-medium)}.picker-ministry{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.picker-item.unavailable{opacity:.8}.picker-item.unavailable .picker-name{color:var(--color-text-secondary)}.picker-unavailable-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-medium);background-color:#ef444426;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.picker-item.unavailable.selected{background-color:#ef44441a}.picker-item.unavailable.selected .picker-checkbox{background-color:var(--color-warning);border-color:var(--color-warning)}.schedule-page{padding:var(--space-6);max-width:100%;overflow-x:auto}.schedule-header{margin-bottom:var(--space-6)}.schedule-header h1{margin-bottom:var(--space-1)}.schedule-header-top{display:flex;justify-content:space-between;align-items:flex-start}.filter-tab{padding:var(--space-2) var(--space-4);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-tab:hover{color:var(--color-text);background-color:var(--color-surface)}.filter-tab.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.schedule-grid-container{position:relative;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface)}.schedule-grid{min-width:800px}.grid-header{display:flex;background-color:var(--color-surface-elevated);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.grid-cell{padding:var(--space-3);border-right:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;min-height:48px}.grid-cell:last-child{border-right:none}.role-header{width:160px;min-width:160px;justify-content:flex-start;font-weight:var(--font-weight-semibold);background-color:var(--color-surface-elevated);position:sticky;left:0;z-index:5}.date-header{flex:1;min-width:100px;flex-direction:column;gap:2px;padding:var(--space-2)}.date-header.current{background-color:var(--color-primary-light);border-bottom:3px solid var(--color-primary)}.date-day{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.date-month{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.special-badge{color:var(--color-accent);font-size:var(--font-size-xs)}.nav-arrow{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:36px;background:linear-gradient(to right,var(--color-surface) 60%,transparent);border:none;cursor:pointer;color:var(--color-text-secondary);opacity:.6;transition:all var(--transition-fast);padding:0;z-index:15}.nav-arrow:hover:not(.disabled){opacity:1;color:var(--color-primary)}.nav-arrow.disabled{opacity:.2;cursor:not-allowed}.arrow-icon{font-size:14px;line-height:1;text-shadow:0 0 4px var(--color-surface)}.nav-arrow-left{left:160px;background:linear-gradient(to right,var(--color-surface-elevated) 40%,transparent);border-radius:0}.nav-arrow-right{right:0;background:linear-gradient(to left,var(--color-surface-elevated) 40%,transparent);border-radius:0 var(--radius-xl) var(--radius-xl) 0}.service-details-group{border-bottom:2px solid var(--color-border)}.detail-value{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-value.sermon-theme{font-style:italic}.assignment-cell.pastor-off{background-color:#ff980014}.dayoff-indicator{display:flex;align-items:center;justify-content:center}.dayoff-icon{font-size:1.2rem}.service-form{padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.service-form .form-row{display:flex;gap:var(--space-4)}.service-form .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.service-form .form-group{display:flex;flex-direction:column;gap:var(--space-1)}.service-form .label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.service-form .checkbox-label-inline{flex-direction:row;align-items:center;gap:var(--space-2);padding-top:var(--space-6);cursor:pointer}.service-form .checkbox-label-inline input[type=checkbox]{width:18px;height:18px;cursor:pointer}.service-form .modal-footer{padding:0;border:none;margin-top:var(--space-2);display:flex;justify-content:flex-end;gap:var(--space-2)}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:var(--space-2)}.team-group{border-bottom:1px solid var(--color-border)}.team-group:last-child{border-bottom:none}.group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-primary-light);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.group-header:hover{background-color:var(--color-border-light)}.collapse-icon{font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.collapse-icon.collapsed{transform:rotate(-90deg)}.group-name{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.grid-row{display:flex;border-bottom:1px solid var(--color-border-light)}.grid-row:last-child{border-bottom:none}.role-cell{width:160px;min-width:160px;justify-content:flex-start;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-surface);position:sticky;left:0;z-index:5;border-right:1px solid var(--color-border)}.assignment-cell{flex:1;min-width:100px;font-size:var(--font-size-sm);flex-direction:column;text-align:center;transition:background-color var(--transition-fast)}.assignment-cell.editable{cursor:pointer}.assignment-cell.editable:hover{background-color:var(--color-primary-light)}.assignment-cell.filled{background-color:#7ac9431a}.assignment-cell.empty .empty-cell{color:var(--color-text-muted)}.assignment-names{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.assigned-name{font-size:var(--font-size-xs)}.assignment-cell{position:relative}.unavailable-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background-color:#ff7b00;border-radius:50%;box-shadow:0 0 0 2px #ff7b0040}.assignment-cell.my-assignment{background-color:#1e63b71f;border-left:3px solid var(--color-primary);font-weight:var(--font-weight-medium)}.assignment-cell.not-my-assignment{opacity:.4}.assignment-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:var(--space-2);border-radius:var(--radius-full);background-color:#ffffff40;font-size:11px;font-weight:var(--font-weight-bold);line-height:1}.schedule-page .loading-state,.schedule-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--space-8);color:var(--color-text-secondary);text-align:center}@media(max-width:768px){.schedule-page{padding:var(--space-4)}.role-header,.role-cell{width:120px;min-width:120px;font-size:var(--font-size-xs)}.assignment-cell{min-width:80px}}
