:root{--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-elevated:#fff;--bg-glass:#ffffffd9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--accent-gold:#d97706;--accent-gold-light:#f59e0b;--accent-gold-soft:#fef3c7;--accent-gold-glow:#d9770633;--accent-blue:#1e3a8a;--accent-blue-light:#3b82f6;--accent-blue-soft:#dbeafe;--success:#10b981;--success-soft:#d1fae5;--warning:#f59e0b;--warning-soft:#fef3c7;--danger:#ef4444;--danger-soft:#fee2e2;--border-subtle:#e2e8f0;--border-medium:#cbd5e1;--border-focus:#f59e0b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--shadow-gold:0 10px 25px -5px #d9770640;--logo-bg:#0f172a;--logo-border:#f59e0b66;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary:#0b1120;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--bg-elevated:#1e293b;--bg-glass:#0f172ad9;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--text-inverse:#0f172a;--accent-gold:#f59e0b;--accent-gold-light:#fbbf24;--accent-gold-soft:#f59e0b26;--accent-gold-glow:#f59e0b40;--accent-blue:#3b82f6;--accent-blue-light:#60a5fa;--accent-blue-soft:#3b82f626;--success:#34d399;--success-soft:#10b98126;--warning:#fbbf24;--warning-soft:#f59e0b26;--danger:#f87171;--danger-soft:#ef444426;--border-subtle:#ffffff14;--border-medium:#ffffff26;--border-focus:#fbbf24;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #0006;--shadow-xl:0 20px 25px -5px #00000080;--shadow-gold:0 10px 25px -5px #f59e0b40;--logo-bg:#0b1120;--logo-border:#f59e0b66}.church-logo-frame{background:var(--logo-bg)!important;border:1.5px solid var(--logo-border)!important;box-shadow:0 4px 16px #00000040!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;-webkit-text-size-adjust:100%;width:100%;max-width:100vw;line-height:1.6;overflow-x:hidden}body{background-color:var(--bg-primary);min-height:100dvh;color:var(--text-primary);-webkit-tap-highlight-color:transparent;width:100%;max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.25}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}.section-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-gold);background:var(--accent-gold-soft);border:1px solid var(--accent-gold-glow);border-radius:var(--radius-full);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.35rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.section-title{margin-bottom:1rem;font-size:2.35rem}.section-subtitle{color:var(--text-secondary);font-size:1.05rem}.btn{border-radius:var(--radius-md);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));color:var(--btn-primary-text,#0b1120);box-shadow:0 4px 14px 0 var(--accent-gold-glow)}.btn-primary:hover{box-shadow:0 8px 22px 0 var(--accent-gold-glow);filter:brightness(1.06);transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-medium);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-outline{border-color:var(--border-medium);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--accent-gold-soft);transform:translateY(-2px)}.btn-sm{border-radius:var(--radius-sm);padding:.45rem .85rem;font-size:.825rem}.btn-lg{border-radius:var(--radius-lg);padding:.95rem 2rem;font-size:1.05rem}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#ef444433}.btn-danger:hover{background:var(--danger);color:#fff}.badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-gold{background:var(--accent-gold-soft);color:var(--accent-gold);border:1px solid var(--accent-gold-glow)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-blue{background:var(--accent-blue-soft);color:var(--accent-blue-light)}.card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:1.5rem}.card-hover:hover{border-color:var(--border-medium);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle)}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-primary);font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,transform .15s,background-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3.5px var(--accent-gold-glow);background:var(--bg-secondary);outline:none;transform:translateY(-1px)}.form-textarea{resize:vertical;min-height:110px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:99999;box-sizing:border-box;background:#0b1120c7;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1.5rem;animation:.22s ease-out forwards modalBackdropFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);box-sizing:border-box;flex-direction:column;width:100%;max-width:620px;max-height:calc(100dvh - 3.5rem);margin:auto;animation:.25s cubic-bezier(.16,1,.3,1) forwards modalContentPopIn;display:flex;position:relative;box-shadow:0 25px 60px -10px #0009,0 0 35px #f59e0b1f}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header button{border-radius:var(--radius-sm);transition:all .22s cubic-bezier(.16,1,.3,1)}.modal-header button:hover{color:var(--accent-gold);background:var(--bg-tertiary);transform:rotate(90deg)scale(1.15)}.modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:1.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--accent-gold)}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-secondary);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:100%;overflow-x:auto}.table-container .table th,.table-container .table td{white-space:nowrap}.table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.table th{background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);padding:.85rem 1rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:1rem}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalBackdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px)}}@keyframes modalContentPopIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:none}}@keyframes pageSlideEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes tabContentFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes smoothScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #f59e0b4d}50%{box-shadow:0 0 25px #f59e0b99}}.animate-page-enter{animation:.35s cubic-bezier(.16,1,.3,1) both pageSlideEnter}.animate-tab-content{animation:.28s cubic-bezier(.16,1,.3,1) both tabContentFade}.animate-fade-scale{animation:.25s cubic-bezier(.16,1,.3,1) both smoothScaleIn}.animate-fadeIn{animation:.3s cubic-bezier(.16,1,.3,1) both fadeIn}.animate-modal-pop{animation:.32s cubic-bezier(.16,1,.3,1) both modalContentPopIn}.card-interactive{transition:all .25s cubic-bezier(.16,1,.3,1)}.card-interactive:hover{border-color:#f59e0b73;transform:translateY(-4px);box-shadow:0 12px 30px -5px #00000040,0 0 20px #f59e0b1f}.live-pulse{background-color:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulseDot;display:inline-block;box-shadow:0 0 #ef4444b3}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #ef4444b3}70%{transform:scale(1);box-shadow:0 0 0 6px #ef444400}to{transform:scale(.95);box-shadow:0 0 #ef444400}}@media print{html,body{visibility:visible!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}#root>:not(.modal-backdrop),.admin-header,.admin-sidebar,.admin-main-wrapper>aside,.admin-main-wrapper>header,.navbar,.btn,button,.no-print{display:none!important}.modal-backdrop{-webkit-backdrop-filter:none!important;background:0 0!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.modal-content{box-shadow:none!important;background:0 0!important;border:none!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;animation:none!important;overflow:visible!important;transform:none!important}.modal-header,.modal-footer{display:none!important}.printable-area,#printable-receipt,#printable-asset-tag{page-break-inside:avoid;visibility:visible!important;color:#0f172a!important;width:100%!important;max-width:720px!important;box-shadow:none!important;background:#fff!important;margin:0 auto!important;padding:1.5cm 1cm!important;display:block!important;position:static!important}.printable-area *,#printable-receipt *,#printable-asset-tag *{visibility:visible!important}}.scrollable-tabs-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;gap:.5rem;display:flex;overflow-x:auto}.scrollable-tabs-bar::-webkit-scrollbar{display:none}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);width:100%;margin-bottom:1rem;position:relative;overflow-x:auto}@media (width<=1024px){.admin-sidebar-drawer{z-index:1000!important;width:285px!important;height:100dvh!important;transition:transform .3s cubic-bezier(.16,1,.3,1)!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(-100%)!important;box-shadow:0 0 35px #0009!important}.admin-sidebar-drawer.open{transform:translate(0)!important}.admin-drawer-backdrop{-webkit-backdrop-filter:blur(4px);z-index:999;background:#050810b3;animation:.2s ease-out fadeIn;position:fixed;inset:0}.admin-main-wrapper{width:100%!important;max-width:100vw!important}}@media (width<=768px){.container{padding-left:1rem!important;padding-right:1rem!important}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=search],select,textarea,.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);font-size:16px!important}.btn{touch-action:manipulation;justify-content:center;align-items:center;min-height:44px;padding:.6rem 1.15rem;font-size:.9rem;display:inline-flex}.btn-sm{min-height:38px;padding:.45rem .85rem;font-size:.82rem}.btn-lg{width:100%;min-height:48px;font-size:1rem}.modal-backdrop{padding:.5rem!important;padding-bottom:max(.75rem, env(safe-area-inset-bottom))!important;align-items:flex-end!important}.modal-content{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-lg)!important;width:100%!important;max-height:calc(100dvh - 1.5rem)!important;margin-bottom:0!important}.modal-header{padding:1rem 1.15rem!important}.modal-body{-webkit-overflow-scrolling:touch;padding:1.15rem 1rem!important}.admin-header{height:64px!important;padding:0 1rem!important}.admin-main-content{padding:1rem .85rem!important;padding-bottom:max(1.5rem, env(safe-area-inset-bottom))!important}.grid-2,.form-grid-2{grid-template-columns:1fr!important}.page-header-actions{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;width:100%!important}.page-header-actions .btn{width:100%!important}}.admin-drawer-close,.admin-hamburger-btn{display:none!important}@media (width<=1024px){.admin-drawer-close,.admin-hamburger-btn{display:flex!important}}@media (width<=540px){.admin-user-details{display:none!important}}
