:root{--admin-page-bg:#f8fafc;--admin-card-bg:#fff;--admin-card-border:#e2e8f0;--admin-sidebar-bg:#111c2d;--admin-sidebar-hover:#ffffff14;--admin-sidebar-active:#2563eb;--admin-text-main:#0f172a;--admin-text-muted:#64748b;--admin-primary:#2563eb;--admin-primary-hover:#1d4ed8;--admin-success:#16a34a;--admin-danger:#dc2626;--admin-surface:#fff;--admin-surface-alt:#f8fafc;--admin-surface-muted:#f1f5f9;--admin-border:#e2e8f0;--admin-border-focus:#2563eb;--admin-input-bg:#fff;--admin-input-border:#e2e8f0;--admin-input-focus-border:#2563eb;--voice-soprano-bg:#fee2e2;--voice-soprano-border:#fecaca;--voice-soprano-text:#dc2626;--voice-alto-bg:#dcfce7;--voice-alto-border:#bbf7d0;--voice-alto-text:#16a34a;--voice-tenor-bg:#dbeafe;--voice-tenor-border:#bfdbfe;--voice-tenor-text:#2563eb;--voice-bass-bg:#f3e8ff;--voice-bass-border:#e9d5ff;--voice-bass-text:#9333ea}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border:1px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-corner{background:0 0}.admin-body{background-color:var(--admin-page-bg)!important;color:var(--admin-text-main)!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.panel-title,.attendance-page-title,.choir-section-heading,.modal-title,.modal-header h2,.modal-header h3,.admin-content h1,.admin-content h2,.choir-container h1,.choir-container h2{color:#0f172a!important;letter-spacing:-.01em!important;font-family:Playfair Display,Cormorant Garamond,Georgia,serif!important;font-weight:700!important}.admin-body,.panel-eyebrow,.panel-desc,.attendance-page-subtitle,.stat-val,.stat-label,.stat-sublabel,.voice-box-num,.voice-box-label,.voice-box-sub,.btn,.btn-primary,.btn-secondary,.btn-icon,.filter-chip,.att-filter-chip,.voice-part-select-btn,.date-arrow-btn,.attendance-date-display-btn,.admin-table,.admin-table th,.admin-table td,.table-toolbar,.toolbar-search input,.form-label,.form-input,.pos-tag,.att-badge,.voice-badge,.calendar-grid-header-cell,.calendar-day-number,.calendar-event-pill,.topbar-desktop-portal-title,.topbar-user-name,.topbar-user-role,.nav-item-new,.nav-section-label,.bible-quote-text,.bible-quote-author{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.admin-sidebar{background-color:var(--admin-sidebar-bg)!important;z-index:100!important;border-right:1px solid #ffffff0f!important;flex-direction:column!important;justify-content:space-between!important;width:250px!important;height:100vh!important;display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.admin-main{flex:1;min-height:100vh;background-color:var(--admin-page-bg)!important;flex-direction:column!important;margin-left:250px!important;display:flex!important}.admin-content{flex:1;padding:24px 32px!important}.sidebar-brand-new{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:22px 20px 18px;display:flex}.brand-logo-link{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo-badge{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:4px;display:flex;overflow:hidden;box-shadow:0 2px 6px #0003}.brand-logo-img{object-fit:contain;width:100%;height:100%}.brand-cross-icon{color:#fff;background:#ffffff0d;border:1.5px solid #ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-text-new{flex-direction:column;display:flex}.brand-title-new{color:#fff;letter-spacing:.02em;font-size:1.25rem;font-weight:800;line-height:1.2}.brand-sub-new{color:#94a3b8;letter-spacing:-.01em;white-space:nowrap;font-size:.68rem;font-weight:500}.sidebar-nav-new{flex-direction:column;flex-grow:1;gap:4px;padding:14px 10px;display:flex}.nav-item-new{color:#94a3b8;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item-new:hover{background:var(--admin-sidebar-hover);color:#fff}.nav-item-new.active{box-shadow:0 2px 6px #2563eb4d;background:var(--admin-sidebar-active)!important;color:#fff!important;font-weight:600!important}.nav-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sidebar-icon-img{object-fit:contain;opacity:.88;width:22px;height:22px;transition:transform .15s,opacity .15s,filter .15s;display:block}.nav-item-new:hover .sidebar-icon-img{opacity:1;transform:scale(1.08)}.nav-item-new.active .sidebar-icon-img{opacity:1;filter:drop-shadow(0 1px 3px #00000059);transform:scale(1.08)}.nav-section-label{color:#64748b;letter-spacing:.03em;padding:16px 14px 6px;font-size:.72rem;font-weight:600}.sidebar-footer-quote{background-color:#0000;background-image:linear-gradient(#0000 0%,#111c2d59 25%,#111c2d 100%),url(/assets/images/church-silhouette.svg);background-position:0 0,bottom;background-repeat:repeat,no-repeat;background-size:100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-top:1px solid #ffffff0d;padding:110px 20px 48px;position:relative}.bible-quote-text{color:#cbd5e1;margin-bottom:6px;font-size:.88rem;font-style:italic;line-height:1.5}.bible-quote-author{color:#64748b;font-size:.8rem;font-weight:500}.sidebar-home-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:10px;width:100%;margin-top:16px;padding:10px 14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sidebar-home-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.sidebar-home-icon{justify-content:center;align-items:center;display:flex}.sidebar-home-text{flex:1}.sidebar-home-arrow{opacity:.8;font-size:.85rem}.admin-topbar-new{border-bottom:1px solid var(--admin-card-border);z-index:50;background-color:#fff;background-image:url(/assets/images/church-silhouette-light.svg);background-position:right 60px top -55px;background-repeat:no-repeat;background-size:320px;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-desktop-portal-title{align-items:center;gap:8px;font-size:.88rem;display:flex}.portal-title-badge{color:#0f172a;font-weight:700}.portal-title-sep{color:#cbd5e1;font-weight:400}.portal-title-active{color:#64748b;font-weight:500}@media (max-width:900px){.topbar-desktop-portal-title{font-size:.82rem}}.topbar-back-btn{border:1px solid var(--admin-card-border);color:#334155;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.84rem;font-weight:600;transition:all .15s;display:inline-flex}.topbar-back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.topbar-user-area{align-items:center;gap:16px;display:flex}.topbar-notification-btn{border:1px solid var(--admin-card-border);cursor:pointer;color:#475569;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .15s;display:flex;position:relative}.topbar-notification-btn:hover{background:#f1f5f9}.notif-badge-dot{background:#ef4444;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.topbar-user-profile{align-items:center;gap:10px;display:flex}.topbar-user-avatar{object-fit:cover;border:1px solid var(--admin-card-border);border-radius:50%;width:36px;height:36px}.topbar-logo-badge{border:1px solid var(--admin-card-border);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:3px;display:flex;overflow:hidden}.topbar-logo-img{object-fit:contain;width:100%;height:100%}.topbar-user-info{flex-direction:column;display:flex}.topbar-user-name{color:#1e293b;font-size:.88rem;font-weight:700;line-height:1.2}.topbar-user-role{color:#64748b;font-size:.72rem}.attendance-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.attendance-header-left{align-items:center;gap:14px;display:flex}.attendance-header-icon-box{border:1px solid var(--admin-card-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 1px 3px #0000000a}.attendance-page-title{letter-spacing:-.01em;margin:0;line-height:1.2;color:#0f172a!important;font-family:Playfair Display,Cormorant Garamond,Georgia,serif!important;font-size:1.65rem!important;font-weight:700!important}.attendance-page-subtitle{color:#64748b;margin:2px 0 0;font-size:.86rem}.attendance-header-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-date-box-wrapper{display:inline-flex;position:relative}.attendance-date-box{border:1px solid var(--admin-card-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000a}.attendance-date-box:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000f}.date-arrow-btn{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.15rem;font-weight:700;line-height:1;transition:all .15s;display:flex}.date-arrow-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}.date-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.attendance-date-display-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;transition:all .15s;display:flex}.attendance-date-display-btn:hover{background:#f8fafc}.attendance-date-icon{font-size:1.05rem;line-height:1}.attendance-date-text{color:#0f172a;white-space:nowrap;font-size:.92rem;font-weight:700}.attendance-date-caret{color:#64748b;margin-left:2px;font-size:.65rem;transition:transform .15s}.attendance-calendar-backdrop{z-index:99;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a26;position:fixed;inset:0}.attendance-month-calendar-popover{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:348px;padding:14px;animation:.18s cubic-bezier(.16,1,.3,1) calFadeSlideIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 36px -6px #0f172a29,0 6px 12px -2px #0f172a14}@keyframes calFadeSlideIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.calendar-popover-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-month-title{color:#0f172a;letter-spacing:-.01em;font-size:.95rem;font-weight:700}.cal-month-nav-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.05rem;font-weight:700;transition:all .15s;display:flex}.cal-month-nav-btn:hover{color:#0f172a;background:#eef2f6;border-color:#cbd5e1}.calendar-popover-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px;display:grid}.cal-weekday{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.4px;padding:2px 0;font-size:.72rem;font-weight:700}.cal-weekday--sun{color:#ef4444}.calendar-popover-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-day-cell{aspect-ratio:1;border:1.5px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:38px;padding:2px 1px;font-family:inherit;transition:all .15s;display:flex;position:relative;overflow:hidden}.cal-day-cell--empty{pointer-events:none;background:0 0;border:none}.cal-day-cell--no-event{color:#94a3b8;cursor:not-allowed;background:#f8fafc;font-size:.82rem;font-weight:500}.cal-day-cell--rehearsal{color:#15803d!important;cursor:pointer!important;background:#dcfce7!important;border:1.5px solid #22c55e!important;font-weight:700!important}.cal-day-cell--rehearsal:hover{transform:translateY(-1px);box-shadow:0 4px 10px #22c55e59;background:#bbf7d0!important}.cal-day-cell--mass{color:#1d4ed8!important;cursor:pointer!important;background:#dbeafe!important;border:1.5px solid #3b82f6!important;font-weight:700!important}.cal-day-cell--mass:hover{transform:translateY(-1px);box-shadow:0 4px 10px #3b82f659;background:#bfdbfe!important}.cal-day-cell--selected{outline-offset:1.5px;z-index:2;outline:2.5px solid #0f172a!important;box-shadow:0 0 0 2px #fff,0 4px 12px #0f172a40!important}.cal-day-num{font-size:.82rem;line-height:1}.cal-day-type-label{white-space:nowrap;margin-top:2px;font-size:.52rem;font-weight:700;line-height:1}.cal-day-cell--rehearsal .cal-day-type-label{color:#15803d}.cal-day-cell--mass .cal-day-type-label{color:#1d4ed8}.calendar-popover-legend{border-top:1px solid #f1f5f9;justify-content:space-around;align-items:center;margin-top:10px;padding-top:8px;display:flex}.legend-chip{color:#475569;align-items:center;gap:5px;font-size:.72rem;font-weight:600;display:flex}.legend-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-indicator--green{background:#22c55e;box-shadow:0 0 0 2px #dcfce7}.legend-indicator--blue{background:#3b82f6;box-shadow:0 0 0 2px #dbeafe}.voice-count-desktop{display:inline}.voice-count-mobile{display:none}.voice-filter-cards-row{flex-wrap:wrap;align-items:stretch;gap:14px;margin-bottom:20px;display:flex}.voice-card{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border:1px solid #0000;border-radius:12px;flex:140px;align-items:center;gap:12px;padding:12px 18px;transition:all .15s;display:flex}.voice-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.voice-card--all{border-color:var(--admin-card-border);color:#1e293b;background:#fff;flex:0 0 100px;justify-content:center}.voice-card--all.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.voice-card-all-text{font-size:.95rem;font-weight:700}.voice-card--soprano{background:var(--voice-soprano-bg);border-color:var(--voice-soprano-border);color:var(--voice-soprano-text)}.voice-card--soprano.active{box-shadow:0 0 0 2px #dc2626}.voice-card--alto{background:var(--voice-alto-bg);border-color:var(--voice-alto-border);color:var(--voice-alto-text)}.voice-card--alto.active{box-shadow:0 0 0 2px #16a34a}.voice-card--tenor{background:var(--voice-tenor-bg);border-color:var(--voice-tenor-border);color:var(--voice-tenor-text)}.voice-card--tenor.active{box-shadow:0 0 0 2px #2563eb}.voice-card--bass{background:var(--voice-bass-bg);border-color:var(--voice-bass-border);color:var(--voice-bass-text)}.voice-card--bass.active{box-shadow:0 0 0 2px #9333ea}.voice-card-icon{font-size:1.1rem}.voice-card-title{font-size:.95rem;font-weight:700;line-height:1.2}.voice-card-sub{opacity:.85;font-size:.78rem}.btn-reset-attendance{border:1px solid var(--admin-card-border);color:#1e293b;cursor:pointer;white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:12px 18px;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.btn-reset-attendance:hover{background:#f8fafc;border-color:#cbd5e1}.reset-icon{font-size:1rem;font-weight:700}.attendance-search-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.search-input-wrap{width:360px;max-width:100%;position:relative}.search-glass-icon{color:#94a3b8;pointer-events:none;font-size:.9rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.attendance-search-input{border:1px solid var(--admin-card-border);color:#1e293b;background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 14px 10px 38px;font-size:.86rem;transition:border-color .15s,box-shadow .15s}.attendance-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-bar-right{align-items:center;gap:14px;display:flex}.db-sync-badge{-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.db-sync-badge--synced{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.db-sync-badge--saving{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.db-sync-badge--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.sync-status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.sync-status-dot--synced{background:#16a34a;box-shadow:0 0 6px #16a34a99}.sync-status-dot--saving{background:#2563eb;animation:.8s infinite alternate pulseSyncDot}.sync-status-dot--error{background:#dc2626}@keyframes pulseSyncDot{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1.2)}}.attendance-counter-badge{color:#334155;align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:flex}.counter-icon{font-size:1rem}.text-green-600{color:#16a34a}.btn-mark-all-present{border:1px solid var(--admin-card-border);color:#1e293b;cursor:pointer;background:#fff;border-radius:8px;padding:9px 18px;font-size:.86rem;font-weight:600;transition:all .15s}.btn-mark-all-present:hover{background:#f8fafc;border-color:#cbd5e1}.attendance-table-container{border:1px solid var(--admin-card-border);background:#fff;border-radius:12px;margin-bottom:20px;overflow:hidden;box-shadow:0 1px 3px #00000008}.attendance-table{border-collapse:collapse;text-align:left;width:100%}.attendance-table thead{border-bottom:1px solid var(--admin-card-border);background:#f8fafc}.attendance-table th{color:#475569;letter-spacing:.02em;padding:12px 18px;font-size:.82rem;font-weight:600}.attendance-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 18px;font-size:.88rem}.attendance-table tr:hover{background:#f8fafc}.cell-stt{color:#64748b;width:60px;font-weight:500}.cell-avatar{width:70px}.member-avatar-img{object-fit:cover;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:50%;width:38px;height:38px;display:block}.cell-saint-name{color:#1e293b;width:140px;font-weight:600}.cell-full-name{color:#1e293b;font-weight:500}.cell-voice{width:130px}.voice-pill{text-align:center;border-radius:8px;padding:4px 14px;font-size:.8rem;font-weight:600;display:inline-block}.voice-pill--soprano{background:var(--voice-soprano-bg);color:var(--voice-soprano-text)}.voice-pill--alto{background:var(--voice-alto-bg);color:var(--voice-alto-text)}.voice-pill--tenor{background:var(--voice-tenor-bg);color:var(--voice-tenor-text)}.voice-pill--bass{background:var(--voice-bass-bg);color:var(--voice-bass-text)}.voice-pill--none{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.cell-attendance{text-align:center;width:280px}.btn-status-unmarked{border:1px solid var(--admin-card-border);color:#64748b;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;max-width:240px;padding:8px 16px;font-size:.84rem;transition:all .15s;display:inline-flex}.btn-status-unmarked:hover{color:#334155;background:#f8fafc;border-color:#cbd5e1}.radio-circle{color:#94a3b8;font-size:.9rem}.button-group-attendance-5{justify-content:center;align-items:center;gap:6px;display:inline-flex}.button-group-attendance-5--grid122{grid-template-rows:27px 27px;grid-template-columns:38px 36px 36px;align-items:center;gap:4px;display:grid!important}.button-group-attendance-5--grid122 .att-btn-wrap:first-child{grid-area:1/1/span 2;height:100%}.button-group-attendance-5--grid122 .att-btn-wrap:first-child .btn-att-tick{border-radius:8px;width:38px;height:100%;min-height:58px;font-size:1.25rem;font-weight:800}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(2){grid-area:1/2}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(2) .btn-att-tick{border-radius:6px;width:36px;height:27px;font-size:.72rem}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(3){grid-area:2/2}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(3) .btn-att-tick{border-radius:6px;width:36px;height:27px;font-size:.72rem}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(4){grid-area:1/3}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(4) .btn-att-tick{border-radius:6px;width:36px;height:27px;font-size:.72rem}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(5){grid-area:2/3}.button-group-attendance-5--grid122 .att-btn-wrap:nth-child(5) .btn-att-tick{border-radius:6px;width:36px;height:27px;font-size:.72rem}.button-group-attendance-5--grid122 .att-tooltip-bubble{display:none!important}.att-btn-wrap{display:inline-flex;position:relative}.btn-att-tick{letter-spacing:-.01em;cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:32px;padding:0;font-size:.78rem;font-weight:700;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-att-tick:hover{transform:translateY(-1.5px)}.att-tooltip-bubble{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:1000;background-color:#0f172a;border-radius:6px;padding:4px 8px;font-size:.74rem;font-weight:600;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 14px #0f172a47}.att-tooltip-bubble:after{content:"";border:4px solid #0000;border-top-color:#0f172a;position:absolute;top:100%;left:50%;transform:translate(-50%)}.att-btn-wrap:hover .att-tooltip-bubble{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.btn-att-tick--present:hover{color:#16a34a!important;background:#dcfce7!important;border-color:#86efac!important}.btn-att-tick--present.active{transform:scale(1.06);box-shadow:0 2px 8px #16a34a59;color:#fff!important;background:#16a34a!important;border-color:#16a34a!important}.btn-att-tick--late-excused:hover{color:#d97706!important;background:#fef3c7!important;border-color:#fde68a!important}.btn-att-tick--late-excused.active{transform:scale(1.06);box-shadow:0 2px 8px #d9770659;color:#fff!important;background:#d97706!important;border-color:#d97706!important}.btn-att-tick--late-unexcused:hover{color:#ea580c!important;background:#ffedd5!important;border-color:#fdba74!important}.btn-att-tick--late-unexcused.active{transform:scale(1.06);box-shadow:0 2px 8px #ea580c59;color:#fff!important;background:#ea580c!important;border-color:#ea580c!important}.btn-att-tick--excused:hover{color:#2563eb!important;background:#dbeafe!important;border-color:#93c5fd!important}.btn-att-tick--excused.active{transform:scale(1.06);box-shadow:0 2px 8px #2563eb59;color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.btn-att-tick--unexcused:hover{color:#dc2626!important;background:#fee2e2!important;border-color:#fca5a5!important}.btn-att-tick--unexcused.active{transform:scale(1.06);box-shadow:0 2px 8px #dc262659;color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.button-group-attendance{align-items:center;gap:8px;width:100%;max-width:240px;display:inline-flex}.btn-status-opt{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:.84rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-status-opt--neutral{opacity:.82;color:#94a3b8!important;background:#f8fafc!important;border-color:#e2e8f0!important}.btn-status-opt--neutral.btn-status-opt--neutral-present:hover{opacity:1;color:#16a34a!important;background:#dcfce7!important;border-color:#86efac!important}.btn-status-opt--neutral.btn-status-opt--neutral-absent:hover{opacity:1;color:#dc2626!important;background:#fee2e2!important;border-color:#fecaca!important}.btn-status-opt--present-active{box-shadow:0 1px 2px #15803d33;color:#fff!important;background:#15803d!important;border-color:#15803d!important}.btn-status-opt--absent-inactive{color:#94a3b8!important;background:#f1f5f9!important;border-color:#e2e8f0!important}.btn-status-opt--absent-inactive:hover{color:#dc2626!important;background:#fee2e2!important;border-color:#fecaca!important}.btn-status-opt--present-inactive{color:#94a3b8!important;background:#f1f5f9!important;border-color:#e2e8f0!important}.btn-status-opt--present-inactive:hover{color:#16a34a!important;background:#dcfce7!important;border-color:#bbf7d0!important}.btn-status-opt--absent-active{box-shadow:0 1px 2px #dc262626;color:#dc2626!important;background:#fee2e2!important;border-color:#fecaca!important}.attendance-pagination-footer{justify-content:space-between;align-items:center;padding:8px 4px;display:flex}.pagination-info{color:#64748b;font-size:.86rem}.pagination-buttons{align-items:center;gap:6px;display:flex}.page-btn{border:1px solid var(--admin-card-border);color:#334155;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:.86rem;font-weight:500;transition:all .15s;display:flex}.page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.page-btn.active{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important;font-weight:700!important}.page-arrow{color:#64748b;font-size:1rem}.page-arrow:disabled{opacity:.4;cursor:not-allowed}.topbar-mobile-menu-btn,.attendance-mobile-list{display:none}@media (max-width:900px){.admin-sidebar{box-shadow:none!important;transition:transform .28s cubic-bezier(.16,1,.3,1)!important;transform:translate(-100%)!important}.admin-sidebar.open{transform:translate(0)!important;box-shadow:4px 0 30px #0009!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:95;background:#0f172a99;animation:.2s fadeIn;position:fixed;inset:0}.admin-main{width:100%!important;min-width:0!important;margin-left:0!important}.topbar-mobile-menu-btn{border:1px solid var(--admin-card-border);color:#1e293b;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;transition:background .15s;display:inline-flex!important}.topbar-mobile-menu-btn:hover{background:#f1f5f9}.admin-topbar-new{height:56px!important;padding:0 14px!important}.topbar-user-info{display:none!important}.admin-content{padding:12px 12px 48px!important}}@media (max-width:768px){.attendance-page-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:12px!important}.attendance-header-left{gap:10px!important}.attendance-header-icon-box{border-radius:10px!important;width:38px!important;height:38px!important}.attendance-page-title{font-size:1.3rem!important}.attendance-page-subtitle{font-size:.78rem!important;line-height:1.3!important}.attendance-header-controls{flex-direction:column!important;gap:8px!important;width:100%!important;display:flex!important}.attendance-date-box-wrapper{width:100%!important}.attendance-date-box{justify-content:space-between!important;width:100%!important;padding:4px 6px!important}.attendance-date-display-btn{flex:1!important;justify-content:center!important;padding:6px 8px!important}.attendance-date-text{font-size:.88rem!important}.attendance-month-calendar-popover{width:calc(100vw - 24px)!important;max-width:360px!important;left:50%!important;transform:translate(-50%)!important}.voice-count-desktop{display:none!important}.voice-count-mobile{font-weight:700!important;display:inline!important}.voice-filter-cards-row{z-index:40!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:0 -12px 12px!important;padding:8px 12px!important;display:grid!important;position:sticky!important;top:56px!important;overflow-x:visible!important;box-shadow:0 4px 14px #0f172a14!important}.voice-card{text-align:center!important;border-width:1.5px!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;gap:4px!important;height:38px!important;min-height:38px!important;padding:0 10px!important;display:flex!important;box-shadow:0 1px 2px #0000000a!important}.voice-card--all{background:#fff!important;border-color:#cbd5e1!important;grid-column:1/-1!important;width:100%!important;height:38px!important}.voice-card--all.active{color:#1d4ed8!important;background:#eff6ff!important;border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb40!important}.voice-card-all-text{font-size:.88rem!important;font-weight:700!important}.voice-card--soprano{grid-column:1/2!important;width:100%!important}.voice-card--alto{grid-column:2/3!important;width:100%!important}.voice-card--tenor{grid-column:1/2!important;width:100%!important}.voice-card--bass{grid-column:2/3!important;width:100%!important}.voice-card-icon{display:none!important}.voice-card-title{font-size:.84rem!important;font-weight:700!important;display:inline!important}.voice-card-sub{opacity:.88;margin-left:2px;font-size:.8rem!important;display:inline!important}.attendance-search-action-bar{flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:12px!important}.search-input-wrap{width:100%!important}.attendance-search-input{padding-top:11px!important;padding-bottom:11px!important;font-size:.88rem!important}.search-bar-right{flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;width:100%!important;display:flex!important}.attendance-counter-badge{font-size:.82rem!important}.btn-mark-all-present,.btn-reset-attendance{text-align:center!important;border-radius:8px!important;flex:calc(50% - 4px)!important;justify-content:center!important;align-items:center!important;gap:4px!important;padding:8px 10px!important;font-size:.78rem!important;display:inline-flex!important}.attendance-table-container{display:none!important}.attendance-mobile-list{flex-direction:column!important;gap:8px!important;margin-bottom:20px!important;display:flex!important}.attendance-mobile-card{border:1px solid var(--admin-card-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex;box-shadow:0 1px 3px #00000008}.mobile-card-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.mobile-card-stt{color:#94a3b8;flex-shrink:0;width:20px;font-size:.76rem;font-weight:700}.mobile-card-info{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-card-name-row{width:100%;margin-bottom:2px;display:block}.mobile-card-saint{display:none!important}.mobile-card-full-name{color:#0f172a;word-break:break-word;white-space:normal;font-size:.95rem;font-weight:700;line-height:1.35}.mobile-card-meta-row{align-items:center;gap:8px;display:flex}.mobile-card-code{color:#94a3b8;font-size:.72rem}.mobile-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-mobile-mark{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;border-radius:10px;outline:none;justify-content:center;align-items:center;width:44px;height:44px;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-mobile-mark--present{color:#16a34a;background:#16a34a14;border-color:#86efac}.btn-mobile-mark--present:active{transform:scale(.92)}.btn-mobile-mark--present.active{box-shadow:0 3px 10px #16a34a59;color:#fff!important;background:#16a34a!important;border-color:#16a34a!important}.btn-mobile-mark--present.dimmed{opacity:.45;color:#cbd5e1!important;background:#f8fafc!important;border-color:#e2e8f0!important}.btn-mobile-mark--absent{color:#dc2626;background:#dc262614;border-color:#fecaca}.btn-mobile-mark--absent:active{transform:scale(.92)}.btn-mobile-mark--absent.active{box-shadow:0 3px 10px #dc262659;color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.btn-mobile-mark--absent.dimmed{opacity:.45;color:#cbd5e1!important;background:#f8fafc!important;border-color:#e2e8f0!important}.btn-mobile-mark.unmarked{opacity:.75;color:#94a3b8!important;background:#f8fafc!important;border-color:#e2e8f0!important}.btn-mobile-mark--present.unmarked:hover,.btn-mobile-mark--present.unmarked:active{opacity:1;color:#16a34a!important;background:#dcfce7!important;border-color:#86efac!important}.btn-mobile-mark--absent.unmarked:hover,.btn-mobile-mark--absent.unmarked:active{opacity:1;color:#dc2626!important;background:#fee2e2!important;border-color:#fecaca!important}.attendance-pagination-footer{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:12px!important}}.choir-overview-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (max-width:1024px){.choir-overview-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:600px){.choir-overview-grid{grid-template-columns:1fr;gap:10px}}.stat-card{border:1px solid var(--admin-card-border);background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;padding:20px 22px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000008}.stat-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.stat-val{letter-spacing:-.02em;margin-bottom:6px;font-size:2.1rem;font-weight:800;line-height:1.1;font-family:Inter,system-ui,-apple-system,sans-serif!important}.stat-label{color:#334155;margin-bottom:4px;font-size:.88rem;font-weight:600;font-family:Inter,system-ui,-apple-system,sans-serif!important}.stat-sublabel{color:#64748b;font-size:.75rem;font-family:Inter,system-ui,-apple-system,sans-serif!important}.voice-distribution-card{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}@media (max-width:1024px){.voice-distribution-card{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:600px){.voice-distribution-card{grid-template-columns:1fr;gap:10px}}.voice-box{border:1px solid #0000;border-radius:14px;flex-direction:column;padding:18px 20px;transition:all .2s;display:flex}.voice-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.voice-box-num{letter-spacing:-.02em;margin-bottom:4px;font-size:1.85rem;font-weight:800;line-height:1.1;font-family:Inter,system-ui,-apple-system,sans-serif!important}.voice-box-label{font-size:.9rem;font-weight:700;font-family:Inter,system-ui,-apple-system,sans-serif!important}.voice-box-sub{margin-top:4px;font-size:.74rem;font-weight:500;font-family:Inter,system-ui,-apple-system,sans-serif!important}.voice-box--soprano{color:#991b1b;background:#fef2f2;border-color:#fecaca}.voice-box--soprano .voice-box-num{color:#dc2626}.voice-box--soprano .voice-box-label{color:#991b1b}.voice-box--soprano .voice-box-sub{color:#b91c1c}.voice-box--alto{color:#854d0e;background:#fefce8;border-color:#fef08a}.voice-box--alto .voice-box-num{color:#ca8a04}.voice-box--alto .voice-box-label{color:#854d0e}.voice-box--alto .voice-box-sub{color:#a16207}.voice-box--tenor{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.voice-box--tenor .voice-box-num{color:#2563eb}.voice-box--tenor .voice-box-label{color:#1e40af}.voice-box--tenor .voice-box-sub{color:#1d4ed8}.voice-box--bass{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.voice-box--bass .voice-box-num{color:#16a34a}.voice-box--bass .voice-box-label{color:#166534}.voice-box--bass .voice-box-sub{color:#15803d}.overview-two-col-grid{grid-template-columns:1.25fr 1fr;gap:20px;margin-bottom:24px;display:grid}@media (max-width:960px){.overview-two-col-grid{grid-template-columns:1fr;gap:16px}}.choir-section-heading{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700;font-family:Playfair Display,Cormorant Garamond,Georgia,serif!important}.calendar-grid-card{border-radius:12px!important;padding:0!important;overflow:hidden!important}.calendar-mobile-scroll-hint{color:#1d4ed8;text-align:center;background:#eff6ff;border-bottom:1px solid #dbeafe;padding:8px 12px;font-size:.76rem;font-weight:600;display:none}@media (max-width:900px){.calendar-mobile-scroll-hint{display:block}}.calendar-grid-scroll-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.calendar-grid-header{border-bottom:1px solid var(--admin-card-border);text-align:center;background:#f8fafc;grid-template-columns:repeat(7,minmax(0,1fr));min-width:680px;display:grid}.calendar-grid-header-cell{color:#475569;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid var(--admin-card-border);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:11px 6px;font-size:.78rem;font-weight:700;overflow:hidden}.calendar-grid-header-cell:last-child{border-right:none}.calendar-grid-body{background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));min-width:680px;display:grid}.calendar-day-cell{border-right:1px solid var(--admin-card-border);border-bottom:1px solid var(--admin-card-border);cursor:pointer;background:#fff;flex-direction:column;gap:4px;min-width:0;min-height:105px;padding:8px;transition:background .15s;display:flex;overflow:hidden}.calendar-day-cell:nth-child(7n){border-right:none}.calendar-day-cell:hover{background:#f8fafc}.calendar-day-cell--outside{opacity:.45;background:#f8fafc}.calendar-day-cell--today{background:#f0fdf4}.calendar-day-number{color:#334155;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:.82rem;font-weight:700;display:flex}.calendar-event-pill{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:6px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 8px;font-size:.74rem;font-weight:600;transition:transform .1s,box-shadow .1s;display:flex;overflow:hidden}.calendar-event-pill:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.calendar-event-pill--rehearsal{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.calendar-event-pill--mass{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.calendar-event-pill--special{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff}.calendar-event-pill--cancelled{color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;text-decoration:line-through}.schedule-controls-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.schedule-month-nav{align-items:center;gap:10px;display:flex}.schedule-month-picker{border:1px solid var(--admin-border);background:#fff;border-radius:8px;align-items:center;display:inline-flex}.schedule-month-text{text-align:center;min-width:150px;padding:0 16px;font-size:1rem;font-weight:800}.schedule-legend{color:var(--admin-text-muted);align-items:center;gap:14px;font-size:.78rem;display:flex}.schedule-view-mode-tabs{border:1px solid var(--admin-card-border);background:#f1f5f9;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.schedule-mode-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s}.schedule-mode-btn.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #00000014}@media (max-width:768px){.schedule-controls-toolbar{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.schedule-month-nav{justify-content:space-between!important;width:100%!important;display:flex!important}.schedule-month-picker{flex:1!important;justify-content:space-between!important}.schedule-month-text{min-width:0!important;padding:0 8px!important;font-size:.92rem!important}.schedule-today-btn{flex-shrink:0!important}.schedule-legend{flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;font-size:.74rem!important;display:flex!important}.schedule-view-mode-tabs{width:100%!important;display:flex!important}.schedule-mode-btn{text-align:center!important;flex:1!important;padding:8px 10px!important;font-size:.84rem!important}}.admin-table-card{border:1px solid var(--admin-card-border)!important;background:#fff!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 1px 3px #00000008!important}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem;font-family:Inter,system-ui,-apple-system,sans-serif!important}.admin-table thead{border-bottom:1px solid var(--admin-card-border)!important;background:#f8fafc!important}.admin-table th{text-transform:uppercase!important;letter-spacing:.05em!important;color:#475569!important;border-bottom:1px solid var(--admin-card-border)!important;padding:12px 16px!important;font-family:Inter,system-ui,-apple-system,sans-serif!important;font-size:.74rem!important;font-weight:700!important}.admin-table td{vertical-align:middle!important;color:#1e293b!important;border-bottom:1px solid #f1f5f9!important;padding:13px 16px!important;font-family:Inter,system-ui,-apple-system,sans-serif!important}.admin-table tbody tr:hover{background:#f8fafc!important}.admin-table tbody tr:last-child td{border-bottom:none!important}.voice-badge{text-transform:capitalize;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.voice-badge--soprano{color:#dc2626;background:#fee2e2;border:1px solid #fecaca}.voice-badge--alto{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.voice-badge--tenor{color:#2563eb;background:#dbeafe;border:1px solid #bfdbfe}.voice-badge--bass{color:#16a34a;background:#dcfce7;border:1px solid #bbf7d0}.voice-badge--none{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.pos-tag{color:#fff;border-radius:6px;align-items:center;padding:3px 8px;font-size:.74rem;font-weight:600;line-height:1.2;display:inline-flex}.att-badge{border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.att-badge--present{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.att-badge--late{color:#854d0e;background:#fef9c3;border:1px solid #fef08a}.att-badge--excused{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.att-badge--unexcused{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.att-badge--unmarked{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.att-rate-cell{align-items:center;gap:10px;display:flex}.att-rate-bar-bg{background:#e2e8f0;border-radius:999px;flex:1;height:8px;overflow:hidden}.att-rate-bar-fill{border-radius:999px;height:100%;transition:width .3s}.att-rate-bar-fill--high{background:#16a34a}.att-rate-bar-fill--med{background:#eab308}.att-rate-bar-fill--low{background:#dc2626}.tab-panel,.tab-panel.active{animation:none!important;transform:none!important}.admin-modal-overlay,.modal-overlay,.choir-modal-overlay{animation:.2s cubic-bezier(.16,1,.3,1) forwards modalFadeIn;-webkit-backdrop-filter:blur(8px)!important;z-index:9999!important;background:#0f172a8c!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100dvh!important;padding:24px!important;display:flex!important;position:fixed!important;inset:0!important}.admin-modal-overlay .admin-modal,.admin-modal,.modal-card,.modal-dialog,.reset-pass-modal-card{animation:.22s cubic-bezier(.16,1,.3,1) forwards modalScaleUp;z-index:10000!important;background:#fff!important;border:1px solid #e2e8f0e6!important;border-radius:20px!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-height:90dvh!important;padding:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:hidden!important;box-shadow:0 25px 60px -15px #0f172a59,0 0 0 1px #0f172a0d!important}.admin-modal>form,.modal-card>form,.modal-dialog>form{flex-direction:column!important;flex:auto!important;min-height:0!important;display:flex!important;overflow:hidden!important}.modal-header{box-sizing:border-box!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;justify-content:space-between!important;align-self:stretch!important;align-items:center!important;width:100%!important;padding:18px 64px 18px 24px!important;display:flex!important;position:relative!important}.modal-title{color:#0f172a!important;letter-spacing:-.01em!important;flex:auto!important;align-items:center!important;gap:10px!important;min-width:0!important;margin:0!important;font-family:Playfair Display,Cormorant Garamond,Georgia,serif!important;font-size:1.35rem!important;font-weight:700!important;display:flex!important}.modal-close{z-index:100!important;color:#64748b!important;cursor:pointer!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:10px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:36px!important;height:36px!important;margin:0!important;font-size:1.15rem!important;transition:all .18s!important;display:inline-flex!important;position:absolute!important;inset:14px 16px auto auto!important}.modal-close:hover{color:#dc2626!important;background:#fee2e2!important;border-color:#fecaca!important;transform:rotate(90deg)scale(1.05)!important}.modal-body{background:#f8fafc!important;max-height:calc(88vh - 145px)!important;padding:24px 28px!important;overflow-y:auto!important}.modal-footer{background:#fff!important;border-top:1px solid #e2e8f0!important;border-bottom-right-radius:20px!important;border-bottom-left-radius:20px!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;padding:18px 28px!important;display:flex!important}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.form-section-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;margin-bottom:16px!important;padding:18px 20px!important;transition:border-color .18s,box-shadow .18s!important;box-shadow:0 1px 3px #0f172a0a!important}.form-section-card:focus-within{border-color:#bfdbfe!important;box-shadow:0 4px 12px #2563eb0f!important}.form-section-header{border-bottom:1px solid #f1f5f9!important;align-items:flex-start!important;gap:10px!important;margin-bottom:14px!important;padding-bottom:10px!important;display:flex!important}.form-section-icon{color:#2563eb!important;background:#eff6ff!important;border-radius:8px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;margin-top:1px!important;font-size:1rem!important;display:inline-flex!important}.form-section-title{color:#0f172a!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin:0!important;font-family:Inter,system-ui,sans-serif!important;font-size:.84rem!important;font-weight:700!important}.form-section-desc{color:#64748b!important;margin:2px 0 0!important;font-size:.78rem!important;font-weight:400!important}.form-group{flex-direction:column!important;gap:6px!important;margin-bottom:14px!important;display:flex!important}.form-label{color:#334155!important;letter-spacing:-.01em!important;justify-content:space-between!important;align-items:center!important;margin-bottom:2px!important;font-family:Inter,system-ui,-apple-system,sans-serif!important;font-size:.82rem!important;font-weight:600!important;display:flex!important}.form-input,.form-control{color:#0f172a!important;box-sizing:border-box!important;background-color:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:10px!important;outline:none!important;width:100%!important;height:42px!important;padding:10px 14px!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:.88rem!important;font-weight:500!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 1px 2px #0f172a0a!important}.form-input:hover,.form-control:hover{border-color:#cbd5e1!important}.form-input:focus,.form-control:focus{background-color:#fff!important;border-color:#2563eb!important;box-shadow:0 0 0 3.5px #2563eb1f,0 1px 2px #0f172a0a!important}.form-input::placeholder,.form-control::placeholder{color:#94a3b8!important;font-weight:400!important}.form-input:disabled,.form-control:disabled{color:#94a3b8!important;cursor:not-allowed!important;background-color:#f8fafc!important;border-color:#e2e8f0!important}select.form-input,select.form-control{appearance:none!important;cursor:pointer!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;padding-right:38px!important;line-height:1.3!important}select.form-input:hover,select.form-control:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important}textarea.form-input,textarea.form-control{resize:vertical!important;height:auto!important;min-height:84px!important;padding:12px 14px!important;line-height:1.55!important}input[type=date].form-input,input[type=time].form-input{cursor:pointer!important;font-family:Inter,system-ui,sans-serif!important}input[type=date].form-input::-webkit-calendar-picker-indicator{cursor:pointer!important;opacity:.6!important;border-radius:6px!important;padding:4px!important;transition:all .15s!important}input[type=time].form-input::-webkit-calendar-picker-indicator{cursor:pointer!important;opacity:.6!important;border-radius:6px!important;padding:4px!important;transition:all .15s!important}input[type=date].form-input::-webkit-calendar-picker-indicator:hover{opacity:1!important;background-color:#eff6ff!important}input[type=time].form-input::-webkit-calendar-picker-indicator:hover{opacity:1!important;background-color:#eff6ff!important}.btn{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;border:1px solid #0000!important;border-radius:10px!important;outline:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;height:40px!important;padding:0 18px!important;font-family:Inter,system-ui,-apple-system,sans-serif!important;font-size:.88rem!important;font-weight:600!important;text-decoration:none!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important}.btn:active{transform:translateY(1px)scale(.99)!important}.btn-primary{color:#fff!important;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important;border:none!important;box-shadow:0 2px 6px #2563eb40,0 1px 2px #2563eb26!important}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 14px #2563eb61!important}.btn-primary:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important}.btn-secondary{color:#334155!important;background:#fff!important;border:1.5px solid #e2e8f0!important;box-shadow:0 1px 2px #0f172a0a!important}.btn-secondary:hover:not(:disabled){color:#0f172a!important;background:#f8fafc!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important;box-shadow:0 2px 5px #0f172a0f!important}.btn-secondary:disabled{opacity:.55!important;cursor:not-allowed!important}.btn-danger{color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important;box-shadow:0 2px 6px #dc262640!important}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f87171 0%,#ef4444 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 14px #dc262661!important}.btn-icon{color:#475569!important;cursor:pointer!important;background:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:36px!important;height:36px!important;font-size:.95rem!important;transition:all .18s!important;display:inline-flex!important}.btn-icon:hover{color:#0f172a!important;background:#f8fafc!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important;box-shadow:0 2px 6px #0f172a0f!important}.btn-icon--danger{color:#dc2626!important}.btn-icon--danger:hover{color:#b91c1c!important;background:#fee2e2!important;border-color:#fecaca!important}.table-toolbar{flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;margin-bottom:16px!important;display:flex!important}.members-filter-bar{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;margin-bottom:16px!important;padding:10px 14px!important;display:flex!important;overflow-x:auto!important;box-shadow:0 1px 3px #0f172a0a!important}.members-filter-bar::-webkit-scrollbar{height:4px}.toolbar-search{flex:200px!important;align-items:center!important;min-width:170px!important;max-width:270px!important;display:flex!important;position:relative!important}.toolbar-search input{color:#0f172a!important;background:#f8fafc!important;border:1.5px solid #e2e8f0!important;border-radius:9px!important;outline:none!important;width:100%!important;height:38px!important;padding:8px 12px 8px 34px!important;font-size:.84rem!important;transition:all .16s!important;box-shadow:0 1px 2px #0f172a08!important}.toolbar-search input:hover{background:#fff!important;border-color:#cbd5e1!important}.toolbar-search input:focus{background:#fff!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1f!important}.toolbar-search:before{content:"🔍";opacity:.5;pointer-events:none;font-size:.82rem;position:absolute;left:11px}.toolbar-voice-group{background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:9px!important;flex-shrink:0!important;align-items:center!important;gap:2px!important;padding:3px!important;display:inline-flex!important}.toolbar-voice-group .filter-chip{height:32px!important;box-shadow:none!important;color:#64748b!important;cursor:pointer!important;white-space:nowrap!important;background:0 0!important;border:none!important;border-radius:7px!important;padding:0 11px!important;font-size:.78rem!important;font-weight:600!important;transition:all .15s!important}.toolbar-voice-group .filter-chip:hover{color:#0f172a!important;background:#ffffffa6!important;transform:none!important}.toolbar-voice-group .filter-chip.active{color:#2563eb!important;background:#fff!important;font-weight:700!important;transform:none!important;box-shadow:0 1px 3px #0f172a1a!important}.table-toolbar select.form-input,.table-toolbar .toolbar-select,.members-filter-bar select.form-input,.members-filter-bar .toolbar-select,.toolbar-select{cursor:pointer!important;white-space:nowrap!important;background-color:#f8fafc!important;background-position:right 10px center!important;background-size:14px 14px!important;border:1.5px solid #e2e8f0!important;border-radius:9px!important;flex:none!important;width:auto!important;min-width:130px!important;max-width:165px!important;height:38px!important;padding:8px 30px 8px 11px!important;font-size:.82rem!important;font-weight:500!important;transition:all .15s!important}.toolbar-select:hover,.members-filter-bar select.form-input:hover{background-color:#fff!important;border-color:#cbd5e1!important}.toolbar-select:focus,.members-filter-bar select.form-input:focus{background-color:#fff!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1f!important}.toolbar-clear-btn{color:#dc2626!important;white-space:nowrap!important;background:#fef2f2!important;border:1.5px solid #fecaca!important;border-radius:9px!important;flex-shrink:0!important;height:38px!important;padding:0 12px!important;font-size:.78rem!important;font-weight:600!important}.toolbar-clear-btn:hover{color:#b91c1c!important;background:#fee2e2!important;border-color:#dc2626!important}.filter-chip,.att-filter-chip{color:#475569!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;background:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:6px!important;height:34px!important;padding:0 14px!important;font-size:.8rem!important;font-weight:600!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important;box-shadow:0 1px 2px #0f172a08!important}.filter-chip:hover,.att-filter-chip:hover{color:#0f172a!important;background:#f1f5f9!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important}.filter-chip.active,.att-filter-chip.active{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 2px 8px #2563eb4d!important}.pos-tags-selected-box{background:#f8fafc!important;border:1.5px dashed #cbd5e1!important;border-radius:10px!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;min-height:44px!important;margin-bottom:12px!important;padding:10px 14px!important;display:flex!important}.pos-tag{color:#fff!important;letter-spacing:.01em!important;border-radius:9999px!important;align-items:center!important;gap:6px!important;padding:4px 10px!important;font-size:.78rem!important;font-weight:600!important;display:inline-flex!important;box-shadow:0 1px 3px #00000024!important}.pos-tag-remove-btn{color:#fff!important;cursor:pointer!important;background:#0003!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:18px!important;height:18px!important;padding:0!important;font-size:.95rem!important;line-height:1!important;transition:all .15s!important;display:inline-flex!important}.pos-tag-remove-btn:hover{background:#00000073!important;transform:scale(1.1)!important}.pos-tag-pill-btn{cursor:pointer!important;color:#334155!important;background:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:9999px!important;align-items:center!important;gap:6px!important;padding:6px 14px!important;font-size:.8rem!important;font-weight:600!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important}.pos-tag-pill-btn:hover{transform:translateY(-1px)!important;box-shadow:0 2px 6px #00000014!important}.pos-tag-pill-btn.selected{color:#fff!important;border-color:#0000!important;box-shadow:0 2px 8px #0003!important}.clogin-root{z-index:99999;grid-template-columns:1fr 1fr;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}@media (max-width:768px){.clogin-root{grid-template-columns:1fr}}.clogin-visual{position:relative;overflow:hidden}@media (max-width:768px){.clogin-visual{display:none}}.clogin-visual-img{object-fit:cover;object-position:center 30%}.clogin-visual-overlay{z-index:1;background:linear-gradient(90deg,#0000 50%,#ffffff0a 100%),linear-gradient(#0f172a59 0%,#0f172a8c 50%,#020617eb 100%);position:absolute;inset:0}.clogin-back-link{z-index:10;color:#ffffffd9;-webkit-backdrop-filter:blur(8px);background:#00000040;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;position:absolute;top:22px;left:24px}.clogin-back-link:hover{color:#fff;background:#00000073;border-color:#fff6;transform:translate(-2px)}.clogin-visual-content{z-index:5;flex-direction:column;align-items:flex-start;gap:6px;padding:48px 36px 44px;display:flex;position:absolute;bottom:0;left:0;right:0}.clogin-logo-wrap{-webkit-backdrop-filter:blur(8px);background:#ffffff1f;border:1.5px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:10px;padding:4px;display:flex;overflow:hidden}.clogin-logo{object-fit:contain;border-radius:50%}.clogin-brand-name{color:#fff;letter-spacing:.04em;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:2.6rem;font-weight:800;line-height:1}.clogin-brand-sub{color:#ffffffd9;letter-spacing:.01em;font-size:1rem;font-weight:500}.clogin-brand-church{color:#ffffff8c;margin-bottom:14px;font-size:.82rem;font-style:italic}.clogin-voice-pills{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.clogin-voice-pill{color:#ffffffe6;border:1px solid #ffffff2e;border-left:3px solid var(--vp-color,#ffffff80);-webkit-backdrop-filter:blur(4px);background:#ffffff1a;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.clogin-voice-abbr{background:var(--vp-color,#ffffff80);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.clogin-visual-quote{color:#ffffffb3;max-width:380px;margin:0;font-size:.88rem;font-style:italic;line-height:1.55}.clogin-visual-source{color:#ffffff73;margin:0;font-size:.78rem}.clogin-form-panel{background:#fff;justify-content:center;align-items:center;padding:40px 24px;display:flex;overflow-y:auto}.clogin-form-inner{width:100%;max-width:400px}.clogin-form-header{margin-bottom:36px}.clogin-form-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#2563eb;margin-bottom:8px;font-size:.75rem;font-weight:700}.clogin-form-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:2.2rem;font-weight:700;line-height:1.15}.clogin-form-desc{color:#64748b;margin:0;font-size:.9rem;line-height:1.5}.clogin-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:24px;padding:12px 14px;font-size:.86rem;line-height:1.45;animation:.2s cloginErrorIn;display:flex}@keyframes cloginErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.clogin-error svg{flex-shrink:0;margin-top:1px}.clogin-form{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.clogin-field{flex-direction:column;gap:7px;display:flex}.clogin-label{color:#374151;letter-spacing:.005em;font-size:.84rem;font-weight:600}.clogin-input-wrap{align-items:center;display:flex;position:relative}.clogin-input-icon{color:#9ca3af;pointer-events:none;align-items:center;transition:color .15s;display:flex;position:absolute;left:14px}.clogin-input{color:#111827;box-sizing:border-box;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;width:100%;height:46px;padding:0 44px;font-family:inherit;font-size:.93rem;transition:all .18s}.clogin-input::placeholder{color:#9ca3af;font-size:.875rem}.clogin-input:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.clogin-input:focus~.clogin-input-icon,.clogin-input-wrap:focus-within .clogin-input-icon{color:#2563eb}.clogin-eye-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex;position:absolute;right:12px}.clogin-eye-btn:hover{color:#374151;background:#f3f4f6}.clogin-submit{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;height:48px;margin-top:4px;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #2563eb4d}.clogin-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 22px #2563eb61}.clogin-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2563eb4d}.clogin-submit:disabled{opacity:.55;cursor:not-allowed}.clogin-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite cloginSpin}@keyframes cloginSpin{to{transform:rotate(360deg)}}.clogin-footer{border-top:1px solid #f1f5f9;padding-top:24px}.clogin-footer-divider{align-items:center;gap:12px;margin-bottom:14px;display:flex}.clogin-footer-divider-line{background:#e5e7eb;flex:1;height:1px}.clogin-footer-divider-text{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;white-space:nowrap;font-size:.74rem;font-weight:600}.clogin-roles{flex-direction:column;gap:8px;display:flex}.clogin-role{color:#4b5563;align-items:center;gap:10px;font-size:.83rem;line-height:1.4;display:flex}.clogin-role-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.clogin-role--master .clogin-role-dot{background:#d97706;box-shadow:0 0 0 2px #d9770633}.clogin-role--be .clogin-role-dot{background:#2563eb;box-shadow:0 0 0 2px #2563eb33}.choir-login-wrapper,.choir-login-overlay,.choir-login-topbar,.choir-login-container{display:none!important}.choir-login-overlay{pointer-events:none;background-image:radial-gradient(#d4af3714 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.choir-login-topbar{z-index:10;padding:20px 28px;position:relative}.choir-login-back-btn{color:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.choir-login-back-btn:hover{color:#fff;background:#ffffff24;border-color:#d4af3766;transform:translate(-2px)}.choir-login-container{z-index:10;flex:1;justify-content:center;align-items:center;padding:24px 20px 48px;display:flex;position:relative}.choir-login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111c2de0;border:1px solid #d4af3740;border-radius:20px;width:100%;max-width:440px;padding:36px 32px;animation:.35s cubic-bezier(.16,1,.3,1) choirLoginFadeIn;box-shadow:0 20px 50px #00000080,0 0 30px #d4af371f}@keyframes choirLoginFadeIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.choir-login-header{text-align:center;margin-bottom:24px}.choir-login-logo-glow{background:radial-gradient(circle,#d4af3733 0%,#d4af3705 70%,#0000 100%);border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin-bottom:12px;display:inline-flex}.choir-login-logo-img{filter:drop-shadow(0 4px 10px #0006);border-radius:50%}.choir-login-title{color:#d4af37!important;letter-spacing:.08em!important;margin:0 0 4px!important;font-family:Cinzel,Playfair Display,Georgia,serif!important;font-size:1.55rem!important;font-weight:700!important}.choir-login-subtitle{color:#f8fafc;margin:0 0 4px;font-size:.95rem;font-weight:500}.choir-login-church-name{color:#94a3b8;font-size:.8rem;font-style:italic}.choir-login-alert{color:#fca5a5;background:#dc262626;border:1px solid #dc262666;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;font-size:.85rem;line-height:1.4;display:flex}.choir-login-form{flex-direction:column;gap:18px;display:flex}.choir-login-field{flex-direction:column;gap:6px;display:flex}.choir-login-label{color:#e2e8f0;letter-spacing:.01em;font-size:.82rem;font-weight:600}.choir-login-input-wrap{align-items:center;display:flex;position:relative}.choir-login-input-icon{color:#94a3b8;pointer-events:none;align-items:center;display:flex;position:absolute;left:14px}.choir-login-input{color:#fff;background:#0f172aa6;border:1px solid #ffffff24;border-radius:10px;width:100%;height:44px;padding:0 42px 0 40px;font-size:.92rem;transition:all .2s}.choir-login-input:focus{background:#0f172af2;border-color:#d4af37;outline:none;box-shadow:0 0 0 3px #d4af3733}.choir-login-eye-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:12px}.choir-login-eye-btn:hover{color:#fff}.choir-login-submit-btn{color:#0f172a;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#d4af37 0%,#b8860b 100%);border:none;border-radius:10px;width:100%;height:46px;margin-top:4px;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 15px #d4af3759}.choir-login-submit-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 20px #d4af3773}.choir-login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.choir-login-spinner-text{align-items:center;gap:8px;display:inline-flex}.choir-login-spinner{border:2px solid #0f172a4d;border-top-color:#0f172a;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite choirSpin}@keyframes choirSpin{to{transform:rotate(360deg)}}.choir-login-footer-hints{text-align:center;border-top:1px solid #ffffff14;margin-top:26px;padding-top:18px}.login-hint-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.75rem;font-weight:600}.login-hint-tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:8px;display:flex}.hint-tag{border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:600}.tag-master{color:#fde047;background:#d4af372e;border:1px solid #d4af374d}.tag-soprano{color:#fca5a5;background:#dc262626;border:1px solid #dc26264d}.tag-alto{color:#86efac;background:#16a34a26;border:1px solid #16a34a4d}.tag-tenor{color:#93c5fd;background:#2563eb26;border:1px solid #2563eb4d}.tag-bass{color:#d8b4fe;background:#9333ea26;border:1px solid #9333ea4d}.login-hint-desc{color:#64748b;margin:0;font-size:.78rem;line-height:1.4}.voice-filter-leader-banner{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:1.5px solid #d4af37;border-radius:14px;margin-bottom:16px;padding:14px 20px;box-shadow:0 4px 14px #0000000d}.leader-banner-content{align-items:center;gap:14px;display:flex}.leader-banner-icon{font-size:1.6rem}.leader-banner-text{flex-direction:column;gap:2px;display:flex}.leader-banner-title{color:#f8fafc;letter-spacing:.02em;font-size:1rem;font-weight:700}.leader-banner-sub{color:#94a3b8;font-size:.82rem}.choir-settings-page{animation:.25s ease-in-out fadeIn}.choir-settings-grid{grid-template-columns:1fr 380px;align-items:start;gap:24px;display:grid}@media (max-width:1024px){.choir-settings-grid{grid-template-columns:1fr}}.settings-profile-card{margin-bottom:24px;padding:24px}.profile-card-header{align-items:center;gap:18px;margin-bottom:18px;display:flex}.profile-avatar-circle{border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.6rem;font-weight:700;display:flex;box-shadow:0 4px 10px #0000000f}.profile-info-text{flex-direction:column;gap:4px;display:flex}.profile-name{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.profile-username-row{align-items:center;gap:8px;display:flex}.profile-username{color:#64748b;font-family:monospace;font-size:.88rem}.profile-role-badge{border-radius:9999px;padding:3px 8px;font-size:.75rem;font-weight:700}.profile-scope-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px}.scope-title{text-transform:uppercase;color:#475569;letter-spacing:.04em;margin-bottom:4px;font-size:.78rem;font-weight:700}.scope-desc{color:#334155;margin:0;font-size:.88rem;line-height:1.5}.settings-pass-card{padding:24px}.settings-pass-form{flex-direction:column;gap:18px;margin-top:16px;display:flex}.form-group-new{flex-direction:column;gap:6px;width:100%;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.form-row-2{grid-template-columns:1fr}}.form-label-new{color:#334155;letter-spacing:.01em;font-size:.82rem;font-weight:600}.form-input-new{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;width:100%;height:42px;padding:0 14px;font-size:.92rem;transition:all .18s}.form-input-new:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.btn-primary-new{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 2px 6px #2563eb40}.btn-primary-new:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #2563eb59}.btn-primary-new:disabled{opacity:.6;cursor:not-allowed}.settings-form-actions{justify-content:flex-end;margin-top:8px;display:flex}.settings-voice-leaders-card{padding:24px}.voice-leaders-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.voice-leader-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .15s;display:flex}.voice-leader-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.leader-info{flex-direction:column;gap:2px;display:flex}.leader-name-row{align-items:center;gap:6px;display:flex}.leader-fullname{color:#0f172a;font-size:.9rem;font-weight:600}.leader-voice-pill{border-radius:9999px;padding:2px 6px;font-size:.7rem;font-weight:700}.leader-user-code{color:#64748b;font-family:monospace;font-size:.78rem}.btn-reset-pass{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:.78rem;font-weight:600;transition:all .15s}.btn-reset-pass:hover{background:#eff6ff;border-color:#93c5fd}.settings-help-card{padding:24px}.settings-help-list{color:#334155;margin:14px 0 20px;padding-left:18px;font-size:.85rem;line-height:1.6}.settings-help-list li{margin-bottom:8px}.settings-logout-wrap{border-top:1px solid #e2e8f0;padding-top:16px}.btn-logout-danger{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-logout-danger:hover{background:#fee2e2;border-color:#f87171;transform:translateY(-1px)}.reset-pass-modal-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:440px;padding:28px;box-shadow:0 20px 40px #0003}.reset-modal-title{color:#0f172a;margin:0 0 8px;font-size:1.15rem;font-weight:700}.reset-modal-desc{color:#475569;margin:0 0 16px;font-size:.88rem}.new-pass-display-box{background:#f8fafc;border:2px dashed #d4af37;border-radius:10px;justify-content:center;align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:flex}.new-pass-code{color:#0f172a;letter-spacing:.15em;font-family:monospace;font-size:1.4rem;font-weight:700}.btn-copy-pass{color:#0f172a;cursor:pointer;background:#d4af37;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:700}.reset-modal-instruction{color:#64748b;margin-bottom:20px;font-size:.8rem}.topbar-user-dropdown-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:4px 8px;transition:background .15s;display:flex}.topbar-user-dropdown-btn:hover{background:#f1f5f9}.topbar-settings-btn,.topbar-logout-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.topbar-settings-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.topbar-logout-btn{color:#dc2626;background:#fef2f2;border-color:#fecaca}.topbar-logout-btn:hover{background:#fee2e2;border-color:#f87171}.cl2-root{z-index:99999;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:fixed;inset:0;overflow:hidden}.cl2-bg{z-index:0;position:absolute;inset:0}.cl2-bg-img{object-fit:cover;object-position:center 25%;transform-origin:50%;animation:18s ease-in-out infinite alternate cl2KenBurns}@keyframes cl2KenBurns{0%{transform:scale(1)translate(0)}to{transform:scale(1.06)translate(-1%,1%)}}.cl2-bg-overlay{background:linear-gradient(105deg,#0f0a05b8 0%,#0a0f1e94 55%,#080c1acc 100%);position:absolute;inset:0}.cl2-bg-vignette{background:radial-gradient(#00000040 0%,#000000b8 100%);position:absolute;inset:0}.cl2-back{z-index:20;color:#ffffffa6;letter-spacing:.02em;opacity:0;transition:color .2s,transform .2s;transition:opacity .5s cubic-bezier(.22, 1, .36, 1) calc(var(--d,0s)), transform .5s cubic-bezier(.22, 1, .36, 1) calc(var(--d,0s)), color .2s ease;align-items:center;gap:7px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex;position:absolute;top:24px;left:28px;transform:translate(-8px)}.cl2-mounted .cl2-back{opacity:1;transform:translate(0)}.cl2-back:hover{color:#fffffff2;transform:translate(-3px)!important}.cl2-panel{z-index:10;-webkit-backdrop-filter:blur(24px)saturate(160%);box-sizing:border-box;opacity:0;background:#0b101db8;border:1px solid #ffffff1f;border-radius:22px;width:min(440px,100vw - 36px);max-height:calc(100vh - 40px);padding:38px 34px 34px;transition:opacity .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0000008c,inset 0 0 0 1px #ffffff0d}.cl2-mounted .cl2-panel{opacity:1}.cl2-logomark,.cl2-wordmark,.cl2-headline,.cl2-divider,.cl2-form{opacity:0;transition:opacity .65s cubic-bezier(.22, 1, .36, 1) calc(var(--d,0s)), transform .65s cubic-bezier(.22, 1, .36, 1) calc(var(--d,0s));transform:translateY(16px)}.cl2-mounted .cl2-logomark,.cl2-mounted .cl2-wordmark,.cl2-mounted .cl2-headline,.cl2-mounted .cl2-divider,.cl2-mounted .cl2-form{opacity:1;transform:translateY(0)}.cl2-logomark{border-radius:12px;width:44px;height:44px;margin:0 auto 14px;overflow:hidden;box-shadow:0 4px 18px #0006}.cl2-logomark-img{object-fit:contain;border-radius:12px}.cl2-wordmark{justify-content:center;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.cl2-wordmark-main{letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:.78rem;font-weight:800}.cl2-wordmark-sep{color:#ffffff40;font-size:.9rem;font-weight:300}.cl2-wordmark-sub{letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;font-size:.78rem;font-weight:600}.cl2-headline{text-align:center;flex-direction:row;justify-content:center;align-items:baseline;gap:10px;margin:0 0 16px;line-height:1.05;display:flex}.cl2-headline-line{color:#fff;letter-spacing:-.01em;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(2.2rem,4vw,2.8rem);font-weight:700;display:inline-block}.cl2-headline-line--accent{color:#ffffffbf;font-style:italic;font-weight:400}.cl2-divider{width:0;height:1.5px;transition:width .7s cubic-bezier(.22, 1, .36, 1) calc(var(--d,0s)), opacity .4s ease calc(var(--d,0s));background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);margin:0 auto 26px}.cl2-mounted .cl2-divider{width:120px}.cl2-error{color:#fca5a5;-webkit-backdrop-filter:blur(8px);background:#ef444426;border:1px solid #ef444459;border-radius:8px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 14px;font-size:.83rem;line-height:1.45;animation:.25s cl2ErrorIn;display:flex}@keyframes cl2ErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cl2-form{flex-direction:column;gap:22px;display:flex}.cl2-field{position:relative}.cl2-input{color:#fff;caret-color:#fff;box-sizing:border-box;appearance:none;background:#ffffff0f;border:none;border-bottom:1.5px solid #ffffff38;border-radius:0;outline:none;width:100%;height:52px;padding:22px 40px 6px 0;font-family:inherit;font-size:.97rem;transition:border-color .2s,background .2s}.cl2-input::placeholder{color:#0000}.cl2-input:-webkit-autofill{-webkit-text-fill-color:#fff;transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 100px #0f172af2}.cl2-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 100px #0f172af2}.cl2-input:focus{background:#ffffff17;border-bottom-color:#fff}.cl2-floating-label{color:#ffffff73;pointer-events:none;letter-spacing:0;font-size:.9rem;font-weight:500;transition:top .2s,font-size .2s,color .2s,letter-spacing .2s;position:absolute;top:16px;left:0}.cl2-input:focus~.cl2-floating-label,.cl2-input:not(:placeholder-shown)~.cl2-floating-label{letter-spacing:.05em;text-transform:uppercase;color:#ffffff8c;font-size:.7rem;top:4px}.cl2-field-bar{background:#fff;width:0;height:1.5px;transition:width .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.cl2-input:focus~.cl2-floating-label~.cl2-field-bar,.cl2-input:focus~.cl2-field-bar{width:100%}.cl2-field:has(.cl2-input:focus) .cl2-field-bar{width:100%}.cl2-eye{color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .15s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.cl2-eye:hover{color:#fffc}.cl2-submit{color:#fff;letter-spacing:.04em;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#ffffff14;border:1.5px solid #ffffff47;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:8px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:background .25s,border-color .25s,transform .2s,box-shadow .25s;display:inline-flex;position:relative;overflow:hidden}.cl2-submit:before{content:"";background:#ffffff1f;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-100%)}.cl2-submit:hover:not(:disabled):before{transform:translate(0)}.cl2-submit:hover:not(:disabled){border-color:#fff9;transform:translateY(-1px);box-shadow:0 8px 24px #00000059}.cl2-submit:active:not(:disabled){transform:translateY(0)}.cl2-submit:disabled{opacity:.38;cursor:not-allowed}.cl2-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:18px;height:18px;margin:0 auto;animation:.7s linear infinite cl2Spin;display:block}@keyframes cl2Spin{to{transform:rotate(360deg)}}@media (max-width:600px){.cl2-panel{border-radius:18px;width:calc(100vw - 32px);padding:32px 22px 28px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.cl2-headline-line{font-size:2.1rem}}.reports-desktop-table-wrap{width:100%;display:block}.reports-mobile-table-wrap{width:100%;display:none}@media (max-width:768px){.reports-desktop-table-wrap{display:none!important}.reports-mobile-table-wrap{display:block!important}.reports-mobile-table{border-collapse:collapse;width:100%}.reports-mobile-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:10px 8px;font-size:.74rem;font-weight:700}.reports-mobile-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:11px 8px}.reports-mobile-table tr:last-child td{border-bottom:none}}.mobile-admin-dashboard,.mobile-in-module-bar{display:none}@media (max-width:768px){.admin-sidebar,.sidebar-backdrop,.admin-topbar-new{display:none!important}.admin-main{background:#f8fafc!important;width:100%!important;min-width:0!important;margin-left:0!important}.mobile-hidden-on-dashboard{display:none!important}.mobile-admin-dashboard{min-height:100vh;background:#f8fafc!important;padding:14px 14px 48px!important;display:block!important}.mobile-admin-dashboard.hidden-in-module{display:none!important}.mobile-dash-header{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;justify-content:space-between!important;align-items:center!important;margin-bottom:16px!important;padding:12px 14px!important;display:flex!important;box-shadow:0 2px 8px #0f172a0a!important}.mobile-dash-brand{align-items:center!important;gap:10px!important;display:flex!important}.mobile-dash-logo{background:#0f172a!important;border-radius:10px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:38px!important;height:38px!important;display:flex!important;overflow:hidden!important}.mobile-dash-user-info{flex-direction:column!important;display:flex!important}.mobile-dash-title{color:#0f172a!important;font-size:.96rem!important;font-weight:800!important;line-height:1.2!important}.mobile-dash-role-badge{color:#92400e!important;background:#fef3c7!important;border-radius:6px!important;width:fit-content!important;margin-top:3px!important;padding:2px 8px!important;font-size:.7rem!important;font-weight:700!important;display:inline-block!important}.mobile-dash-actions{align-items:center!important;gap:6px!important;display:flex!important}.mobile-dash-btn-home,.mobile-dash-btn-logout{cursor:pointer!important;border-radius:8px!important;align-items:center!important;gap:4px!important;padding:7px 10px!important;font-size:.74rem!important;font-weight:600!important;text-decoration:none!important;transition:all .15s!important;display:inline-flex!important}.mobile-dash-btn-home{color:#334155!important;background:#f1f5f9!important;border:1px solid #cbd5e1!important}.mobile-dash-btn-logout{color:#dc2626!important;background:#fef2f2!important;border:1px solid #fecaca!important}.mobile-dash-welcome{margin-bottom:16px!important;padding:0 4px!important}.mobile-dash-greeting{color:#0f172a!important;letter-spacing:-.01em!important;margin:0 0 4px!important;font-size:1.18rem!important;font-weight:800!important}.mobile-dash-subtitle{color:#64748b!important;margin:0!important;font-size:.82rem!important}.mobile-big-tiles-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important;display:grid!important}.mobile-big-tile{text-align:center!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none!important;user-select:none!important;background:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:20px!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:142px!important;padding:22px 12px 18px!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;display:flex!important;position:relative!important;box-shadow:0 4px 14px #0f172a0a!important}.mobile-big-tile:active{border-color:#d4af37!important;transform:scale(.96)!important;box-shadow:0 2px 8px #d4af3733!important}.mobile-big-tile.tile-span-full{text-align:left!important;flex-direction:row!important;grid-column:1/-1!important;justify-content:flex-start!important;gap:16px!important;min-height:84px!important;padding:16px 20px!important}.mobile-big-tile.tile-span-full .mobile-big-tile-icon-box{margin-bottom:0!important}.mobile-big-tile.tile-span-full .mobile-big-tile-text{align-items:flex-start!important}.mobile-big-tile-icon-box{border-radius:16px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:56px!important;height:56px!important;margin-bottom:12px!important;transition:transform .2s!important;display:flex!important;box-shadow:0 2px 8px #0000000a!important}.mobile-big-tile:active .mobile-big-tile-icon-box{transform:scale(1.08)!important}.mobile-big-tile-text{flex-direction:column!important;align-items:center!important;gap:4px!important;width:100%!important;display:flex!important}.mobile-big-tile-label{color:#0f172a!important;font-size:.95rem!important;font-weight:800!important;line-height:1.25!important}.mobile-big-tile-sub{color:#64748b!important;font-size:.72rem!important;line-height:1.2!important}.mobile-big-tile-chevron{color:#94a3b8!important;opacity:.5!important;font-size:.8rem!important;position:absolute!important;top:10px!important;right:12px!important}.mobile-big-tile.tile-span-full .mobile-big-tile-chevron{color:#64748b!important;margin-left:auto!important;font-size:1.1rem!important;position:static!important}.mobile-in-module-bar.visible-in-module{z-index:90!important;background:#fff!important;border-bottom:1.5px solid #e2e8f0!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;display:flex!important;position:sticky!important;top:0!important;box-shadow:0 2px 10px #0f172a0f!important}.mobile-back-to-menu-btn{color:#0f172a!important;cursor:pointer!important;background:#f1f5f9!important;border:1.5px solid #cbd5e1!important;border-radius:10px!important;flex-shrink:0!important;align-items:center!important;gap:6px!important;padding:8px 14px!important;font-size:.82rem!important;font-weight:700!important;transition:all .15s!important;display:inline-flex!important;box-shadow:0 1px 3px #0000000d!important}.mobile-back-to-menu-btn:active{background:#e2e8f0!important;transform:scale(.96)!important}.mobile-in-module-title{color:#1e293b!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:right!important;font-size:.86rem!important;font-weight:800!important;overflow:hidden!important}.admin-content{padding:12px 12px 48px!important}.panel-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:14px!important}.panel-header button{justify-content:center!important;width:100%!important}.members-filter-bar{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.toolbar-search{width:100%!important;min-width:0!important}.toolbar-search input{width:100%!important}.toolbar-voice-group{-webkit-overflow-scrolling:touch!important;gap:6px!important;width:100%!important;padding-bottom:4px!important;display:flex!important;overflow-x:auto!important}.toast-container{width:auto!important;max-width:480px!important;margin:0 auto!important;inset:auto 16px 24px!important}}.member-form-row-2{grid-template-columns:1fr 2fr;gap:14px;margin-bottom:14px;display:grid}.member-form-row-3{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}.detail-info-grid{grid-template-columns:1fr 1fr;gap:14px;font-size:.86rem;display:grid}.members-desktop-table,.candidates-desktop-table{width:100%;display:block}.members-mobile-card-list,.candidates-mobile-card-list{display:none}@media (max-width:768px){.members-desktop-table,.candidates-desktop-table{display:none!important}.members-mobile-card-list,.candidates-mobile-card-list{flex-direction:column!important;gap:12px!important;display:flex!important}.member-mobile-card,.candidate-mobile-card{background:#fff!important;border:1.5px solid #e2e8f0!important;border-radius:16px!important;flex-direction:column!important;gap:10px!important;padding:14px!important;display:flex!important;box-shadow:0 2px 8px #0f172a0a!important}.member-mobile-card-header,.candidate-mobile-card-header{border-bottom:1px solid #f1f5f9!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;padding-bottom:10px!important;display:flex!important}.member-mobile-card-name-group{flex-direction:column!important;gap:2px!important;display:flex!important}.member-mobile-card-saint,.candidate-mobile-saint{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.03em!important;font-size:.74rem!important;font-weight:700!important}.member-mobile-card-fullname{text-align:left!important;color:var(--hcyc-green,#16a34a)!important;cursor:pointer!important;background:0 0!important;border:none!important;padding:0!important;font-size:1.05rem!important;font-weight:800!important;line-height:1.25!important}.candidate-mobile-fullname{color:var(--hcyc-green,#16a34a)!important;margin:2px 0 0!important;font-size:1.05rem!important;font-weight:800!important;line-height:1.25!important}.member-mobile-card-code-wrap,.candidate-mobile-badges{flex-direction:column!important;flex-shrink:0!important;align-items:flex-end!important;gap:4px!important;display:flex!important}.member-mobile-card-code,.candidate-mobile-code{color:#475569!important;background:#f1f5f9!important;border-radius:6px!important;padding:2px 7px!important;font-family:monospace!important;font-size:.82rem!important;font-weight:800!important}.candidate-mobile-code{color:#b45309!important;background:#fef3c7!important}.member-mobile-card-body{flex-direction:column!important;gap:8px!important;display:flex!important}.member-mobile-card-badges{flex-wrap:wrap!important;align-items:center!important;gap:6px!important;display:flex!important}.member-mobile-card-info-row{color:#64748b!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;font-size:.8rem!important;display:flex!important}.member-mobile-card-phone,.candidate-mobile-phone{color:#2563eb!important;font-weight:600!important;text-decoration:none!important}.candidate-mobile-probation{justify-content:space-between!important;align-items:center!important;gap:8px!important;margin:2px 0!important;display:flex!important}.candidate-mobile-progress-wrap{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:10px!important;padding:8px 10px!important}.candidate-mobile-progress-header{color:#475569!important;justify-content:space-between!important;margin-bottom:5px!important;font-size:.78rem!important;display:flex!important}.candidate-mobile-progress-track{background:#e2e8f0!important;border-radius:9999px!important;width:100%!important;height:7px!important;overflow:hidden!important}.candidate-mobile-progress-fill{border-radius:9999px!important;height:100%!important;transition:width .3s!important}.member-mobile-card-actions,.candidate-mobile-actions{border-top:1px solid #f1f5f9!important;gap:8px!important;padding-top:10px!important;display:flex!important}.member-mobile-btn,.candidate-mobile-btn{text-align:center!important;flex:1!important;justify-content:center!important;padding:8px 10px!important;font-size:.8rem!important;font-weight:600!important}.candidate-mobile-btn-promote{flex:1.5!important;justify-content:center!important;padding:8px 10px!important;font-size:.82rem!important;font-weight:700!important}.member-mobile-btn--danger,.candidate-mobile-btn--danger{color:#dc2626!important;background:#fef2f2!important;border-color:#fecaca!important;flex:0 0 42px!important;padding:8px!important}.members-filter-bar{flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:16px!important;padding:12px 14px!important;display:flex!important;overflow-x:visible!important}.toolbar-search{flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;height:42px!important}.toolbar-search input{box-sizing:border-box!important;width:100%!important;height:42px!important;padding:8px 12px 8px 36px!important;font-size:.88rem!important}.toolbar-voice-group{-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important;gap:6px!important;width:100%!important;padding:4px!important;display:flex!important;overflow-x:auto!important}.toolbar-voice-group .filter-chip{flex-shrink:0!important;height:34px!important;padding:0 12px!important;font-size:.8rem!important}.members-filter-bar select.form-input,.members-filter-bar .toolbar-select,.toolbar-select{width:100%!important;max-width:100%!important;height:42px!important;padding:8px 30px 8px 12px!important;font-size:.86rem!important}.toolbar-clear-btn{justify-content:center!important;width:100%!important;height:38px!important}.admin-modal-overlay,.modal-overlay,.choir-modal-overlay{justify-content:center!important;align-items:flex-end!important;height:100dvh!important;padding:0!important}.admin-modal-overlay .admin-modal,.admin-modal,.modal-card,.modal-dialog{width:100%!important;max-width:100%!important;height:calc(100dvh - max(20px, env(safe-area-inset-top,20px)))!important;max-height:calc(100dvh - max(16px, env(safe-area-inset-top,16px)))!important;border-radius:22px 22px 0 0!important;flex-direction:column!important;align-items:stretch!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important;box-shadow:0 -10px 40px #0000004d!important}.admin-modal-overlay .modal-dialog:not(:has(form)){border-radius:20px!important;width:calc(100% - 24px)!important;height:auto!important;max-height:calc(100dvh - 40px)!important;margin-top:auto!important;margin-bottom:auto!important}.admin-modal:not(:has(form)){border-radius:20px!important;width:calc(100% - 24px)!important;height:auto!important;max-height:calc(100dvh - 40px)!important;margin-top:auto!important;margin-bottom:auto!important}.admin-modal>form,.modal-card>form,.modal-dialog>form{flex-direction:column!important;flex:auto!important;min-height:0!important;display:flex!important;overflow:hidden!important}.modal-header{box-sizing:border-box!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;border-radius:22px 22px 0 0!important;flex-shrink:0!important;align-self:stretch!important;width:100%!important;padding:16px 54px 14px 16px!important;position:relative!important}.modal-close,.admin-modal .modal-close,.modal-card .modal-close{border-radius:10px!important;width:36px!important;height:36px!important;font-size:1.1rem!important;inset:12px 14px auto auto!important}.modal-title{font-size:1.2rem!important;font-weight:700!important;line-height:1.3!important}.modal-subtitle{color:#64748b!important;margin-top:4px!important;font-size:.78rem!important}.modal-body{-webkit-overflow-scrolling:touch!important;background:#f8fafc!important;flex:auto!important;min-height:0!important;max-height:none!important;padding:14px 14px 24px!important;overflow-y:auto!important}.form-section-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;margin-bottom:12px!important;padding:14px!important}.form-section-header{gap:10px!important;margin-bottom:12px!important}.form-section-icon{flex-shrink:0!important;width:34px!important;height:34px!important;font-size:1rem!important}.form-section-title{font-size:.88rem!important}.form-section-desc{font-size:.74rem!important}.member-form-row-2,.member-form-row-3,.detail-info-grid,.form-row{flex-direction:column!important;gap:12px!important;margin-bottom:12px!important;display:flex!important}.form-group{flex:none!important;width:100%!important;margin-bottom:0!important}.form-group input,.form-group select,.form-group textarea,.form-input{box-sizing:border-box!important;border-radius:10px!important;width:100%!important;height:44px!important;min-height:44px!important;padding:8px 12px!important;font-size:.92rem!important}textarea.form-input{height:auto!important;min-height:76px!important}.modal-footer{box-sizing:border-box!important;width:100%!important;padding:12px 16px max(18px, env(safe-area-inset-bottom,18px)) 16px!important;z-index:50!important;background:#fff!important;border-top:1px solid #e2e8f0!important;border-radius:0!important;flex-shrink:0!important;align-items:center!important;gap:12px!important;display:flex!important;box-shadow:0 -4px 16px #0f172a14!important}.modal-footer button{box-sizing:border-box!important;cursor:pointer!important;border-radius:12px!important;flex:1!important;justify-content:center!important;align-items:center!important;height:46px!important;min-height:46px!important;padding:10px 14px!important;font-size:.92rem!important;font-weight:600!important;display:inline-flex!important}}
