:root{--primary-color: #00A99D;--primary-hover-color: #00897b;--primary-gradient: linear-gradient(45deg, #00A99D, #00C9B1);--secondary-color: #6c757d;--secondary-hover-color: #5a6268;--background-color: #f8f9fa;--card-background-color: #ffffff;--text-color: #212529;--border-color: #e9ecef;--header-bg: #ffffff;--danger-color: #dc3545;--warning-color: #F7941D;--success-color: #28a745;--locked-color: #f8f9fa;--locked-border-color: #e9ecef;--self-locked-color: #e0f2f1;--self-locked-border-color: #b2dfdb;--icon-metal-color: #495057;--admin-sidebar-bg: #212529;--admin-sidebar-text: #adb5bd;--admin-sidebar-active: #ffffff;--admin-sidebar-active-bg: var(--primary-color)}body{margin:0;background-color:#f5f7fa;color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header h1{font-size:1.25rem;margin:0;color:var(--text-color)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,#00a99d,#00c9b1,#667eea);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.05) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1deg)}}.login-illustration-panel{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c3e50,#34495e);position:relative;overflow:hidden}.login-illustration-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.samagam-logo{max-width:300px;max-height:300px;z-index:2;position:relative}.illustration-content{position:absolute;bottom:2rem;left:2rem;right:2rem;text-align:center;z-index:2}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.login-box{width:100%;max-width:400px;padding:3rem 2.5rem;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.3);text-align:center}.logo-container{margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.app-logo{width:70px;height:70px;object-fit:contain}.app-name{font-size:1.6rem;font-weight:600;color:var(--text-color);margin:0}.input-group input{width:100%;padding:.85rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background-color:var(--background-color);color:var(--text-color)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00a99d26}.login-button,.otp-button{width:100%;padding:1rem;font-size:1rem;font-weight:700;color:#fff;background:var(--primary-gradient);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.login-button:hover,.otp-button:hover{transform:scale(1.02);box-shadow:0 4px 15px #00a99d4d}.login-button:disabled,.otp-button:disabled{background:var(--secondary-color);cursor:not-allowed;transform:none;box-shadow:none}.otp-info{margin-bottom:1rem;color:#555}.change-number-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:.25rem;margin-top:1rem;font-size:.9rem}.change-number-btn:hover{text-decoration:underline}.dashboard-container{text-align:center;padding:1rem}.dashboard-container h2{margin-bottom:.5rem}.dashboard-subtitle{margin-top:0;margin-bottom:2rem;font-size:1.1rem;color:var(--secondary-color)}.category-selection-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.category-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%;font-family:inherit}.category-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #00000014}.category-card h3{margin-top:0;color:var(--primary-color)}.category-card p{margin-bottom:0;color:#555}.contact-list-view{padding:0 1rem}.contact-list-view h2{text-align:center;margin-bottom:1.5rem}.search-bar-container{position:relative;margin-bottom:1.5rem}.search-bar-container svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--secondary-color)}.search-input{width:100%;padding:.85rem 1rem .85rem 3rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background-color:var(--card-background-color);color:var(--text-color)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00a99d26}.contact-list{display:grid;grid-template-columns:1fr;gap:1rem}.contact-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;box-shadow:0 4px 12px #0000000d;transition:box-shadow .2s}.card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:.75rem;margin-bottom:.75rem}.card-header h3{margin:0;font-size:1.2rem}.lock-indicator{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;padding:.35rem .7rem;border-radius:16px;background-color:#e9ecef;color:var(--icon-metal-color);white-space:nowrap}.lock-indicator svg{color:var(--icon-metal-color)}.card-body p{margin:.5rem 0;line-height:1.5}.card-body .notes{font-style:italic;color:#555}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.history-btn,.call-btn,.unlock-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;min-height:48px;box-sizing:border-box}.history-btn{background-color:#e9ecef;color:var(--text-color)}.history-btn:hover{background-color:#dee2e6}.history-btn svg{color:var(--icon-metal-color)}.unlock-btn{background-color:var(--warning-color);color:#212529}.unlock-btn:hover{background-color:#e08110}.call-btn{background:var(--primary-gradient);color:#fff}.call-btn:hover{transform:scale(1.02);box-shadow:0 4px 15px #00a99d33}.call-btn:disabled{background:#ced4da;cursor:not-allowed;transform:none;box-shadow:none}.admin-sidebar{width:240px;background-color:var(--admin-sidebar-bg);color:var(--admin-sidebar-text);display:flex;flex-direction:column;padding:1.5rem 0;flex-shrink:0;position:fixed;top:0;left:0;height:100%;z-index:10;transition:width .3s ease-in-out}.admin-sidebar-header{padding:0 1.5rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #343a40;overflow:hidden;flex-shrink:0}.admin-nav{list-style:none;padding:0;margin:1.5rem 0;flex-grow:1;overflow:hidden}.admin-nav li a{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.5rem;color:var(--admin-sidebar-text);text-decoration:none;font-weight:500;transition:background-color .2s,color .2s;position:relative;white-space:nowrap}.admin-nav li a:hover{background-color:#ffffff0d}.admin-nav li a.active{background-color:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-active)}.admin-nav li a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:70%;width:4px;background-color:var(--admin-sidebar-active);border-radius:0 4px 4px 0}.admin-sidebar-footer{padding:1rem 1.5rem;border-top:1px solid #343a40;overflow:hidden;flex-shrink:0}.sidebar-action-btn{display:flex;align-items:center;gap:.8rem;width:100%;padding:.9rem 1.5rem;margin-left:-1.5rem;background-color:transparent;border:none;color:var(--admin-sidebar-text);text-align:left;font-size:.9rem;font-weight:500;border-radius:0;cursor:pointer;transition:all .2s ease;box-sizing:border-box;white-space:nowrap}.sidebar-action-btn:hover{background-color:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-active)}.admin-sidebar.collapsed .admin-sidebar-header{justify-content:center}.admin-sidebar.collapsed .admin-sidebar-header h2,.admin-sidebar.collapsed .admin-nav span,.admin-sidebar.collapsed .sidebar-action-btn span{display:none}.admin-sidebar.collapsed .admin-nav li a,.admin-sidebar.collapsed .sidebar-action-btn{justify-content:center;padding-left:0;padding-right:0}.admin-sidebar.collapsed .sidebar-action-btn{margin-left:0}.admin-main{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;margin-left:240px;width:calc(100% - 240px);transition:margin-left .3s ease-in-out,width .3s ease-in-out}.sidebar-collapsed .admin-main{margin-left:80px;width:calc(100% - 80px)}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--card-background-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.hamburger-menu,.sidebar-toggle-btn{background:none;border:none;cursor:pointer;padding:.5rem}.hamburger-menu{display:none}.sidebar-toggle-btn{display:block}.admin-content{padding:2rem;flex-grow:1}.stat-card{background-color:var(--card-background-color);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.stat-card .stat-value{font-size:2.5rem;font-weight:600;color:var(--text-color)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.admin-card{background-color:var(--card-background-color);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.dashboard-section-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.stat-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea4d}.stat-card.highlight h3,.stat-card.highlight .stat-value{color:#fff}.sewa-list{list-style:none;padding:0;margin:0}.sewa-list-item{padding:.75rem;margin-bottom:.5rem;background:var(--background-color);border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.sewa-list-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.sewa-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-weight:700;font-size:.9rem}.gender-card{transition:transform .2s,box-shadow .2s}.gender-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.location-stat-card{border-left:4px solid var(--primary-color);transition:all .2s}.location-stat-card:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000001f}.attendance-metric{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--background-color);border-radius:8px;font-weight:600}.reps-dashboard-overview{padding:1.5rem}.reps-dashboard-overview .dashboard-welcome{margin-bottom:1.5rem}.reps-dashboard-overview .dashboard-welcome h2{font-size:1.8rem;font-weight:700;margin:0 0 .5rem;color:var(--text-color)}.reps-dashboard-overview .dashboard-welcome p{font-size:1rem;color:var(--secondary-color);margin:0}.rep-duty-view-container{padding:1.5rem}.rep-duty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.rep-duty-card{background:var(--card-background-color);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.rep-duty-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.rep-duty-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.rep-duty-card__title{display:flex;flex-direction:column;gap:.25rem}.rep-duty-card__title h3{margin:0;font-size:1.1rem;font-weight:600}.age-text-standard{color:var(--secondary-color)}.age-text-warning{color:#ff9800}.age-text-senior{color:#f44336}.duty-status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status--assigned{background:#e3f2fd;color:#1976d2}.status--confirmed{background:#e8f5e9;color:#388e3c}.status--completed{background:#f3e5f5;color:#7b1fa2}.status--cancelled{background:#ffebee;color:#d32f2f}.rep-duty-card__body{display:flex;flex-direction:column;gap:.75rem}.rep-duty-card__detail-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.rep-duty-card__detail-item svg{width:18px;height:18px;color:var(--primary-color);flex-shrink:0}.rep-duty-card__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--primary-color);text-decoration:none;transition:color .2s}.rep-duty-card__footer.callable:hover{color:var(--primary-hover)}.rep-duty-card__footer svg{width:18px;height:18px}.rep-duty-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.share-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem}.share-btn svg{width:18px;height:18px}.representative-card{transition:all .2s}.representative-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000026}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.volunteer-card-checkbox{margin-right:.75rem}.volunteer-card-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.volunteer-card-title{display:flex;align-items:center;gap:.75rem;flex-grow:1}.volunteer-card-title h3{margin:0;font-size:1.2rem;font-weight:600}.volunteer-card-detail{padding:.5rem 0;font-size:.95rem;border-bottom:1px solid var(--border-color)}.volunteer-card-detail:last-child{border-bottom:none}.volunteer-card-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.volunteer-card-actions .action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.volunteer-card-actions .action-btn:hover{transform:translateY(-2px)}.export-modal-content{max-width:700px}.export-scope-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.export-option-label{display:block;cursor:pointer;position:relative}.export-option-input{position:absolute;opacity:0;pointer-events:none}.export-option-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--card-background-color);transition:all .2s;min-height:140px;text-align:center}.export-option-label:hover .export-option-content{border-color:var(--primary-color);background:var(--self-locked-color)}.export-option-input:checked~.export-option-content{border-color:var(--primary-color);background:var(--self-locked-color);box-shadow:0 4px 12px #4caf5033}.export-option-count{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.export-option-title{font-weight:600;font-size:.95rem;margin-bottom:.25rem;color:var(--text-color)}.export-option-desc{font-size:.85rem;color:var(--secondary-color)}.export-option-content svg{width:32px;height:32px;color:var(--primary-color);margin-bottom:.5rem}.admin-table tr.deletion-requested{background-color:#fffbe6;outline:1px solid var(--warning-color)}.admin-table tr.deletion-requested:hover{background-color:#fff8d9}.admin-table tr.selected-row{background-color:#e6f3ff;outline:2px solid var(--primary-color)}.admin-table tr.selected-row:hover{background-color:#d9ecff}.admin-filter-select{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;background-color:var(--card-background-color);color:var(--text-color)}.main-filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;padding:1rem;background-color:var(--background-color);border-radius:8px;border:1px solid var(--border-color)}.filter-control-group{display:flex;flex-direction:column;gap:.5rem}.filter-control-group label{font-weight:500;color:var(--text-color);font-size:.9rem}.filter-control-group .admin-filter-select,.filter-control-group .search-input{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background-color:var(--card-background-color);color:var(--text-color);transition:border-color .2s,box-shadow .2s}.filter-control-group .admin-filter-select:focus,.filter-control-group .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #00a99d1a}.search-bar-container svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--secondary-color);z-index:1}.search-bar-container .search-input{padding-left:2.5rem}.page-actions-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.page-actions-left,.page-actions-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.export-btn,.btn-slideshow{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-background-color);color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.export-btn:hover,.btn-slideshow:hover{background-color:var(--self-locked-color);border-color:var(--primary-color);transform:translateY(-1px)}.btn-slideshow{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-slideshow:hover{background-color:var(--primary-hover-color)}.btn-secondary{background-color:var(--secondary-color);color:#fff;border:1px solid var(--secondary-color);padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:var(--secondary-hover-color);transform:translateY(-1px)}.collapsible-container{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.collapsible-container.open{max-height:500px}.collapsible-content{padding:1rem 0}.filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.9rem;color:var(--text-color);transition:all .2s ease}.filter-toggle-btn:hover{background-color:var(--background-color);border-color:var(--primary-color)}@media(max-width:768px){.main-filter-controls{grid-template-columns:1fr;gap:.75rem}.page-actions-container{flex-direction:column;align-items:stretch}.page-actions-left,.page-actions-right{justify-content:center}.filter-control-group{min-width:0}}.duty-loading{display:flex;justify-content:center;align-items:center;padding:2rem;color:var(--secondary-color)}.duty-loading .spinner{margin-right:.5rem}.duty-empty-state{text-align:center;padding:3rem 1rem;color:var(--secondary-color)}.duty-empty-state h3{margin:1rem 0 .5rem;color:var(--text-color)}.duty-empty-state p{max-width:400px;margin:0 auto;line-height:1.5}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background-color:var(--primary-color);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:.5rem}.filter-control-group.active{position:relative}.filter-control-group.active:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background-color:var(--primary-color);border-radius:50%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:flex-end;z-index:1050;overflow-y:auto;padding:1rem 0}.modal-content{background-color:#fff;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 5px 15px #0000004d;width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;animation:slideUpModal .3s ease-out;display:flex;flex-direction:column;overflow:visible}.modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:visible}@media(min-width:768px){.modal-overlay{align-items:center}.modal-content{width:90%;max-width:500px;border-radius:12px;animation:none;max-height:calc(100vh - 40px)}}.close-button{background:none;border:none;font-size:1.75rem;cursor:pointer;color:#aaa;padding:0;line-height:1}.btn-primary,.btn-secondary,.btn-warning{padding:.8rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s ease;min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.btn-warning{background-color:var(--warning-color);color:#212529;border-color:var(--warning-color)}.btn-warning:hover{background-color:#e08110}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group select,.form-group textarea,.form-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color)}.history-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.history-list li{padding:1rem;border-bottom:1px solid var(--border-color)}.history-list p{margin:.25rem 0}.history-meta{font-size:.85rem;color:#666;margin-top:.5rem}.history-meta strong{color:var(--primary-color)}.empty-state-icon svg{color:#ced4da}.select-number-btn{width:100%;padding:1rem;border:1px solid var(--border-color);background-color:var(--card-background-color);border-radius:8px;text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s;color:var(--text-color)}.select-number-btn:hover{background-color:var(--self-locked-color);border-color:var(--primary-color)}.select-number-btn span{display:block}.select-number-btn .name{font-weight:600}.select-number-btn .number{font-size:.9rem;color:var(--secondary-color);margin-top:.25rem}.bottom-nav-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:65px;background-color:var(--card-background-color);border-top:1px solid var(--border-color);box-shadow:0 -2px 10px #0000000f;justify-content:space-around;align-items:flex-start;padding-top:8px;z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.more-menu-list li button{display:flex;align-items:center;width:100%;padding:1rem .5rem;background:none;border:none;font-size:1rem;text-align:left;cursor:pointer;gap:1rem;color:var(--text-color);border-radius:8px;transition:background-color .2s}.volunteer-modal-container .form-grid{display:grid;gap:12px}.volunteer-modal-container .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.volunteer-modal-container .form-input:focus,.volunteer-modal-container .form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #00a99d26}.volunteer-modal-container .form-label{position:absolute;left:15px;top:12px;color:#999;font-size:14px;pointer-events:none;transition:all .3s ease;background:#fff;padding:0 5px}.volunteer-modal-container .radio-group{display:flex;gap:15px;margin-top:8px}.volunteer-modal-container .radio-item{display:flex;align-items:center;gap:8px;cursor:pointer}.volunteer-modal-container .radio-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:18px;height:18px;border:2px solid #ccc;border-radius:50%;background-color:#fff;cursor:pointer;transition:border-color .2s ease-in-out;margin:0}.volunteer-modal-container .radio-input:hover{border-color:var(--primary-hover-color)}.volunteer-modal-container .radio-input:checked{border-color:var(--primary-color)}.volunteer-modal-container .radio-input:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background-color:var(--primary-color)}.volunteer-modal-container .radio-label{font-size:14px;color:#333;line-height:1;cursor:pointer}.volunteer-modal-container .submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00a99d33}.volunteer-modal-container .form-input[type=date]::-webkit-calendar-picker-indicator{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") center/80% no-repeat;cursor:pointer;opacity:.7;transition:opacity .2s}.card-grid-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background-color);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.card-grid-header{position:relative;background:var(--card-background-color);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;z-index:100;flex-wrap:wrap;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.card-grid-header h2{margin:0;font-size:1.5rem;color:var(--text-color)}.card-grid-header .search-bar-container{flex:1;min-width:250px;max-width:400px}.card-grid-header .close-button{margin-left:auto}.volunteer-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,380px));grid-auto-rows:minmax(min-content,max-content);gap:1.5rem;padding:2rem;justify-content:center;align-items:start;overflow-y:auto;flex:1}.volunteer-card-grid .printable-volunteer-card{width:380px;height:auto;min-height:auto;display:flex;flex-direction:column;background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;font-family:Arial,sans-serif;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000001a;position:relative}.volunteer-card-grid .printable-volunteer-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026;z-index:10}.volunteer-card-grid .pvc-header{background-color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #e2e8f0;gap:.5rem;flex-shrink:0}.volunteer-card-grid .pvc-header img{height:24px;width:auto}.volunteer-card-grid .pvc-header-title{flex:1;text-align:center}.volunteer-card-grid .pvc-header h3{font-size:1.1rem;font-weight:700;color:#1a365d;margin:0;line-height:1.2}.volunteer-card-grid .pvc-header span{font-size:.75rem;color:#64748b;font-weight:500}.volunteer-card-grid .pvc-event-logo{width:24px;height:24px;background-image:url(https://sncf-sewa-connect.s3.ap-south-1.amazonaws.com/aatmamanthan-small.jpg);background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:4px}.volunteer-card-grid .pvc-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.volunteer-card-grid .pvc-top-section{display:flex;gap:.75rem;padding-bottom:.75rem;flex-shrink:0}.volunteer-card-grid .pvc-qr{flex-shrink:0;display:flex;align-items:center;justify-content:center}.volunteer-card-grid .pvc-qr canvas{width:110px;height:110px;border:1px solid #e2e8f0;border-radius:6px}.volunteer-card-grid .pvc-main-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-width:0}.volunteer-card-grid .pvc-name{font-size:1.25rem;font-weight:700;color:#1a365d;margin:0;line-height:1.3;word-wrap:break-word}.volunteer-card-grid .pvc-info{font-size:.9rem;color:#64748b;margin:0;line-height:1.4}.volunteer-card-grid .pvc-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0;flex-shrink:0}.volunteer-card-grid .pvc-auth-stamp{width:70px;height:55px;object-fit:cover;object-position:center;opacity:.85;flex-shrink:0;border-radius:4px}.volunteer-card-grid .pvc-detail-item{display:flex;align-items:flex-start;gap:.5rem}.volunteer-card-grid .pvc-detail-item.full-width-detail{grid-column:1 / -1}.volunteer-card-grid .pvc-detail-item svg{width:18px;height:18px;color:#64748b;margin-top:.25rem;flex-shrink:0}.volunteer-card-grid .pvc-detail-item>div{display:flex;flex-direction:column;gap:.25rem;min-width:0}.volunteer-card-grid .pvc-detail-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.volunteer-card-grid .pvc-detail-value{font-size:.875rem;color:#1e293b;font-weight:600;word-wrap:break-word}.volunteer-card-grid .pvc-status-stamp-section{display:flex;align-items:center;gap:.75rem;padding:.25rem 0;flex-shrink:0}.volunteer-card-grid .pvc-sewa-status{display:flex;align-items:center;gap:.5rem;flex:1}.volunteer-card-grid .pvc-sewa-status-label{font-size:.75rem;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.volunteer-card-grid .pvc-sewa-status-value{font-size:.875rem;font-weight:700}.volunteer-card-grid .pvc-sewa-allotment{background-color:#e0f2f1;padding:.75rem;border-radius:8px;text-align:center;flex-shrink:0}.volunteer-card-grid .pvc-sewa-label{display:block;font-size:.75rem;color:#0f766e;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.volunteer-card-grid .pvc-sewa-value{display:block;font-size:1rem;color:#1a365d;font-weight:700;word-wrap:break-word}.volunteer-card-grid .sewadal-status-badge-pvc{padding:.25rem .75rem;border-radius:12px;font-weight:700;text-align:center;display:inline-block;font-size:.75rem;text-transform:uppercase}.duty-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.duty-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.duty-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.duty-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.duty-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:background-color .2s}.duty-modal-close:hover{background-color:#e0e0e0}.duty-modal-content{flex:1;overflow-y:auto;padding:0}.volunteer-info{display:flex;align-items:center;padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.volunteer-avatar{font-size:2.5rem;margin-right:16px;background:#e3f2fd;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}.volunteer-details h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:#333}.volunteer-phone{margin:0 0 4px;color:#666;font-size:.9rem}.representative-info{margin-top:8px}.rep-name,.rep-phone{margin:0 0 2px;color:#666;font-size:.85rem}.duties-section{padding:20px 24px}.duty-date-group{margin-bottom:24px}.duty-date-group:last-child{margin-bottom:0}.duty-date-header{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#333;padding:8px 12px;background:#e3f2fd;border-radius:6px;border-left:4px solid #2196F3}.duties-list{display:flex;flex-direction:column;gap:16px}.duty-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fff;transition:box-shadow .2s}.duty-card:hover{box-shadow:0 2px 8px #0000001a}.duty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.duty-roster{margin:0;font-size:1.1rem;font-weight:600;color:#333}.duty-status{font-size:1.2rem;font-weight:700}.duty-details{margin-bottom:16px}.duty-time,.duty-location{margin:0 0 4px;color:#666;font-size:.9rem}.duty-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.duty-btn{display:flex;flex-direction:column;align-items:center;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;min-height:48px;justify-content:center}.duty-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.checkin-btn{border-color:#4caf50;color:#4caf50}.checkin-btn:hover:not(.disabled){background:#4caf50;color:#fff}.checkout-btn{border-color:#2196f3;color:#2196f3}.checkout-btn:hover:not(.disabled){background:#2196f3;color:#fff}.duty-btn.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0;color:#999}.timestamp{font-size:.75rem;margin-top:4px;opacity:.8}.duty-completed{text-align:center;padding:8px;background:#e8f5e8;color:#2e7d32;border-radius:4px;font-size:.9rem;font-weight:500}.no-duties{text-align:center;padding:40px 20px;color:#666}.duty-modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;background:#f8f9fa;display:flex;justify-content:flex-end}.duty-modal-close-btn{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.duty-modal-close-btn:hover{background:#5a6268}@media(max-width:768px){.duty-modal{margin:16px;max-height:calc(100vh - 32px)}.duty-modal-header{padding:16px 20px}.duty-modal-header h2{font-size:1.25rem}.volunteer-info{padding:16px 20px}.volunteer-avatar{width:50px;height:50px;font-size:2rem}.duties-section{padding:16px 20px}.duty-controls{grid-template-columns:1fr;gap:8px}.duty-btn{padding:14px 16px;font-size:.95rem}.duty-modal-footer{padding:12px 20px}}@media(max-width:480px){.duty-modal-overlay{padding:8px}.duty-modal{margin:0;max-height:calc(100vh - 16px)}.volunteer-info{flex-direction:column;text-align:center}.volunteer-avatar{margin-right:0;margin-bottom:12px}}@media(max-width:768px){main{padding-bottom:75px}.header-right-desktop-only{display:none}.app-header .user-info{font-size:.9rem;font-weight:500;color:var(--secondary-color);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.admin-container{flex-direction:column;height:100vh;overflow-y:auto}.admin-sidebar{display:none}.admin-main{margin-left:0;width:100%;padding-bottom:75px}.admin-header{padding:.75rem 1rem}.admin-header .user-info{display:block;font-weight:500;color:var(--secondary-color);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-header .header-right{display:flex;align-items:center;gap:.5rem}.admin-header h1{font-size:1.1rem}.admin-content{padding:1rem}.admin-grid{grid-template-columns:1fr}.hamburger-menu,.sidebar-toggle-btn{display:none}.admin-card-header{flex-wrap:wrap;gap:.5rem}.admin-card,.stat-card{padding:1rem}.stat-card .stat-value{font-size:2rem}.bottom-nav-bar{display:flex}.admin-table-wrapper{overflow-x:hidden}.admin-table{border:none}.admin-table thead{display:none}.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%;box-sizing:border-box}.admin-table tr{margin-bottom:1rem;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid var(--border-color);background:var(--card-background-color);overflow:hidden}.admin-table td{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);text-align:right;word-break:break-word}.admin-table tr:last-child{margin-bottom:0}.admin-table td:last-child{border-bottom:none}.admin-table td[data-label]:before{content:attr(data-label);font-weight:600;text-align:left;margin-right:1rem;color:var(--text-color)}}@media(max-width:480px){.volunteer-modal-container .form-row{grid-template-columns:1fr;gap:8px}.volunteer-modal-container .form-grid{gap:10px}}.print-sheet-overlay{display:flex!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background-color:#00000080!important;z-index:2000!important}.print-sheet-content{flex:1!important;padding:20px!important;overflow-y:auto!important}.print-page{display:grid!important;grid-template-columns:repeat(5,1fr)!important;grid-template-rows:repeat(2,1fr)!important;gap:.1cm .15cm!important;width:29cm!important;height:20.2cm!important;margin:0 auto 20px!important;padding:0!important;background:#fff!important;box-shadow:0 4px 8px #0000001a!important}.print-card-wrapper{display:flex!important;padding:.02cm!important}.printable-volunteer-card{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;background-color:#fff!important;border:1px solid #ccc!important;border-radius:8px!important;overflow:hidden!important;font-family:Arial,sans-serif!important}@media print{*{visibility:hidden!important}.print-sheet-overlay,.print-modal-overlay{visibility:visible!important;position:static!important;width:100%!important;height:auto!important;background:none!important;display:block!important}.print-sheet-overlay *,.print-modal-overlay *{visibility:visible!important}.print-sheet-controls,.print-modal-actions,.no-print{display:none!important}.print-sheet-content,.printable-area{display:block!important;visibility:visible!important;padding:0!important;margin:0!important}.print-page{display:grid!important;grid-template-columns:repeat(5,1fr)!important;grid-template-rows:repeat(2,1fr)!important;gap:.1cm .15cm!important;width:29cm!important;height:20.2cm!important;margin:0!important;padding:0!important;page-break-after:always!important;box-shadow:none!important;visibility:visible!important}.print-page:last-child{page-break-after:avoid!important}.print-card-wrapper{display:flex!important;padding:.02cm!important;visibility:visible!important}.printable-volunteer-card{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;background-color:#fff!important;border:1px solid #ccc!important;border-radius:8px!important;overflow:hidden!important;font-family:Arial,sans-serif!important;font-size:8px!important;visibility:visible!important}.printable-volunteer-card .pvc-header{background-color:#fff!important;padding:.3em .5em!important;min-height:1.2cm!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid #e0e0e0!important;visibility:visible!important}.printable-volunteer-card .pvc-header img{height:16px!important;width:auto!important;visibility:visible!important}.printable-volunteer-card .pvc-header h3{font-size:1.3em!important;font-weight:700!important;color:#1a365d!important;margin:0!important;visibility:visible!important}.printable-volunteer-card .pvc-header span{font-size:1em!important;color:#666!important;visibility:visible!important}.printable-volunteer-card .pvc-content{padding:.4em!important;flex:1!important;display:flex!important;flex-direction:column!important;gap:.3em!important;overflow:hidden!important;visibility:visible!important}.printable-volunteer-card .pvc-top-section{display:flex!important;gap:.4em!important;padding-bottom:.2em!important;min-height:2.5cm!important;visibility:visible!important}.printable-volunteer-card .pvc-qr{flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important}.printable-volunteer-card .pvc-qr canvas{width:88px!important;height:88px!important;border:1px solid #ddd!important;border-radius:4px!important;visibility:visible!important}.printable-volunteer-card .pvc-main-info{flex:1!important;display:flex!important;flex-direction:column!important;gap:.2em!important;min-width:0!important;visibility:visible!important}.printable-volunteer-card .pvc-name{font-size:1.5em!important;font-weight:700!important;color:#1a365d!important;white-space:normal!important;line-height:1!important;word-wrap:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important;max-height:1.2em!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;visibility:visible!important}.printable-volunteer-card .pvc-info{font-size:1.1em!important;color:#4a5568!important;white-space:normal!important;line-height:1!important;word-wrap:break-word!important;max-height:1em!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;visibility:visible!important}.printable-volunteer-card .pvc-details-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.2em .4em!important;padding:.3em 0!important;min-height:2.8cm!important;visibility:visible!important}.printable-volunteer-card .pvc-detail-item{display:flex!important;flex-direction:column!important;gap:.1em!important;visibility:visible!important}.printable-volunteer-card .pvc-bottom-row{display:flex!important;gap:.4em!important;align-items:flex-start!important;padding:.2em 0!important;visibility:visible!important}.printable-volunteer-card .pvc-bottom-details{display:flex!important;flex-direction:column!important;gap:.2em!important;flex:1!important;visibility:visible!important}.printable-volunteer-card .pvc-stamp-wrapper{display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;padding-top:.2em!important;visibility:visible!important}.printable-volunteer-card .pvc-detail-item svg{width:12px!important;height:12px!important;color:#4a5568!important;visibility:visible!important}.printable-volunteer-card .pvc-detail-label{font-size:1.05em!important;color:#666!important;margin-bottom:.1em!important;line-height:1!important;visibility:visible!important}.printable-volunteer-card .pvc-detail-value{font-size:1.15em!important;color:#1a365d!important;white-space:normal!important;line-height:1!important;word-wrap:break-word!important;max-height:1em!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;visibility:visible!important}.printable-volunteer-card .pvc-auth-stamp{width:95px!important;height:55px!important;object-fit:cover!important;object-position:center!important;opacity:.9!important;flex-shrink:0!important;border-radius:4px!important;visibility:visible!important}.printable-volunteer-card .pvc-sewa-allotment{background-color:#e0f2f1!important;padding:.3em!important;border-radius:4px!important;min-height:1cm!important;display:flex!important;flex-direction:column!important;gap:.1em!important;visibility:visible!important}.printable-volunteer-card .pvc-sewa-label{font-size:.9em!important;color:#2d7d7d!important;font-weight:700!important;line-height:1!important;visibility:visible!important}.printable-volunteer-card .pvc-sewa-value{font-size:1.1em!important;color:#1a365d!important;font-weight:700!important;line-height:1!important;white-space:normal!important;word-wrap:break-word!important;max-height:1em!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;visibility:visible!important}}:root{--primary-color: #0d9488;--primary-hover-color: #0f766e;--primary-gradient: linear-gradient(45deg, #14b8a6, #0d9488);--secondary-color: #64748b;--secondary-hover-color: #475569;--background-color: #f8fafc;--card-background-color: #ffffff;--text-color: #1e293b;--text-secondary-color: #64748b;--border-color: #e2e8f0;--header-bg: #ffffff;--danger-color: #ef4444;--warning-color: #f59e0b;--success-color: #22c55e;--locked-color: #f8fafc;--locked-border-color: #e2e8f0;--self-locked-color: #f0fdfa;--self-locked-border-color: #ccfbf1;--admin-sidebar-bg: #111827;--admin-sidebar-text: #9ca3af;--admin-sidebar-hover-bg: #1f2937;--admin-sidebar-active-text: #ffffff;--admin-sidebar-active-bg: var(--primary-color);--chart-color-1: #3b82f6;--chart-color-2: #ec4899;--chart-color-3: #f59e0b;--chart-color-4: #14b8a6;--chart-color-5: #8b5cf6}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;background-color:var(--background-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600}.app-container{display:flex;flex-direction:column;height:100vh}main{flex-grow:1;overflow-y:auto;padding:1.5rem}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--header-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0000000f;position:sticky;top:0;z-index:100}.app-header .header-left,.app-header .header-right{display:flex;align-items:center;gap:1rem}.app-header h1{font-size:1.25rem;margin:0;color:var(--text-color);white-space:nowrap}.back-button,.logout-button,.switch-view-button{background:none;border:1px solid;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.back-button:hover,.logout-button:hover,.switch-view-button:hover{transform:translateY(-2px)}.back-button{color:var(--primary-color);border-color:var(--primary-color)}.back-button:hover{background-color:var(--primary-color);color:#fff}.logout-button{color:var(--danger-color);border-color:var(--danger-color)}.logout-button:hover{background-color:var(--danger-color);color:#fff}.switch-view-button{color:var(--success-color);border-color:var(--success-color)}.switch-view-button:hover{background-color:var(--success-color);color:#fff}.user-info{font-weight:500}.app-header .user-info{font-weight:600;color:var(--primary-color)}.login-container{display:flex;height:100vh;overflow:hidden;background:linear-gradient(135deg,#f0fdfa,#fff,#e0f2fe)}.login-illustration-panel{display:none;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:3rem;background:linear-gradient(135deg,#0d9488,#14b8a6);position:relative;overflow:hidden}.login-illustration-panel:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:30px 30px;animation:slideBackground 20s linear infinite}@keyframes slideBackground{0%{transform:translate(0)}to{transform:translate(30px,30px)}}.login-illustration-wrapper{position:relative;width:100%;max-width:500px;height:400px;display:flex;align-items:center;justify-content:center}.login-illustration{width:100%;max-width:450px;height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.15));animation:floatIllustration 6s ease-in-out infinite;position:relative;z-index:2}.samagam-logo{object-fit:contain}@keyframes floatIllustration{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.02)}}.floating-element{position:absolute;border-radius:50%;z-index:1}.floating-circle-1{width:150px;height:150px;background:#ccfbf14d;top:10%;right:10%;animation:float1 8s ease-in-out infinite}.floating-circle-2{width:100px;height:100px;background:#14b8a633;bottom:15%;left:5%;animation:float2 7s ease-in-out infinite}.floating-circle-3{width:80px;height:80px;background:#99f6e440;top:40%;left:15%;animation:float3 6s ease-in-out infinite}.floating-heart{width:60px;height:60px;left:10%;top:30%;animation:pulse 4s ease-in-out infinite}.floating-heart:before{content:"💚";font-size:2.5rem;position:absolute;animation:heartBeat 2s ease-in-out infinite}.floating-dot-1,.floating-dot-2,.floating-dot-3{width:12px;height:12px;background:#fff6}.floating-dot-1{top:15%;left:25%;animation:float1 5s ease-in-out infinite}.floating-dot-2{bottom:25%;right:20%;animation:float2 4.5s ease-in-out infinite}.floating-dot-3{top:60%;right:15%;animation:float3 5.5s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}25%{transform:translate(-10px,-15px)}50%{transform:translate(-5px,-25px)}75%{transform:translate(10px,-15px)}}@keyframes float2{0%,to{transform:translate(0)}25%{transform:translate(15px,10px)}50%{transform:translate(25px,5px)}75%{transform:translate(15px,-10px)}}@keyframes float3{0%,to{transform:translate(0)}33%{transform:translate(-12px,12px)}66%{transform:translate(12px,-12px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:.8}}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}.illustration-content{text-align:center;color:#fff;margin-top:2rem;position:relative;z-index:2}.illustration-title{font-size:2rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.illustration-subtitle{font-size:1.1rem;opacity:.95;margin-bottom:2rem;line-height:1.6}.feature-list{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.feature-item{display:flex;align-items:center;gap:.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1.25rem;border-radius:12px;font-size:.9rem;transition:transform .2s}.feature-item:hover{transform:translateY(-3px);background:#ffffff40}.feature-icon{font-size:1.5rem}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:#ffffff80;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-box{width:100%;max-width:420px;padding:2.5rem 2rem;background-color:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:24px;box-shadow:0 20px 60px #00000014,0 0 0 1px #0000000d;animation:fadeInSlideUp .6s ease-out forwards}.logo-container{margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.app-logo{width:180px;height:auto;object-fit:contain;transition:transform .3s ease}.app-logo:hover{transform:scale(1.05)}.app-name{font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#0d9488,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.login-header{margin-bottom:2rem;text-align:center}.login-title{font-size:1.75rem;font-weight:700;color:var(--text-color);margin:0 0 .5rem}.login-subtitle{font-size:.95rem;color:var(--text-secondary-color);margin:0;line-height:1.5}.login-box h2{margin-top:0;margin-bottom:2rem;font-size:1.1rem;font-weight:400;color:var(--secondary-color)}.input-group{margin-bottom:1.5rem;text-align:left}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.input-group input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;border:2px solid var(--border-color);border-radius:12px;box-sizing:border-box;transition:all .3s ease;background:#ffffffe6;color:var(--text-color)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #0d94881a,0 4px 12px #0d948826;transform:translateY(-2px)}.login-button,.otp-button{width:100%;padding:1.125rem;font-size:1.05rem;font-weight:600;color:#fff;background:var(--primary-gradient);border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:52px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0d948833}.login-button:hover,.otp-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d948859}.login-button:active,.otp-button:active{transform:translateY(0)}.login-button:disabled,.otp-button:disabled{background:var(--secondary-color);cursor:not-allowed;transform:none;box-shadow:0 2px 8px #0000001a;opacity:.6}.otp-info{margin-bottom:1.5rem;color:var(--text-secondary-color);font-size:.95rem;line-height:1.5;background:#0d94880d;padding:.75rem 1rem;border-radius:10px;border-left:3px solid var(--primary-color)}.otp-input{-webkit-text-security:disc;text-security:disc;letter-spacing:.8em;text-align:center;font-size:2rem;padding:1.25rem;font-family:monospace;font-weight:700}.otp-input::placeholder{letter-spacing:normal;font-family:Inter,sans-serif;text-align:center;color:#ccc;-webkit-text-security:none;text-security:none}.change-number-btn{background:none;border:2px solid transparent;color:var(--primary-color);cursor:pointer;padding:.75rem 1.5rem;margin-top:1rem;font-size:.95rem;border-radius:10px;transition:all .2s ease;font-weight:500;width:100%}.change-number-btn:hover{background:#0d94880d;border-color:var(--primary-color)}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.05);display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary-color);padding:.5rem 1rem;background:#0d94880d;border-radius:8px;transition:all .2s ease}.trust-badge:hover{background:#0d94881a}.trust-badge svg{color:var(--primary-color)}@media(max-width:768px){.login-container{flex-direction:column;background:linear-gradient(180deg,#0d9488,#14b8a6 30%,#f0fdfa 70%,#fff)}.login-illustration-panel{display:flex;flex:0 0 auto;min-height:200px;padding:2rem 1.5rem 1rem}.login-illustration-wrapper{height:180px}.login-illustration{max-width:280px;max-height:140px}.floating-circle-1,.floating-circle-2,.floating-circle-3,.illustration-content{display:none}.login-form-panel{flex:1;padding:1.5rem 1rem;background:transparent}.login-box{padding:2rem 1.5rem;max-width:100%;border-radius:20px 20px 0 0}.login-title{font-size:1.5rem}.login-subtitle{font-size:.9rem}.app-logo{width:140px}.app-name{font-size:1.3rem}.feature-list{gap:.75rem}.feature-item{font-size:.8rem;padding:.5rem .75rem}}@media(min-width:769px)and (max-width:1024px){.login-illustration-panel{display:flex;flex:0 0 40%;padding:2rem}.illustration-title{font-size:1.5rem}.illustration-subtitle{font-size:.95rem}.login-illustration-wrapper{height:300px}.login-illustration{max-width:380px}}@media(min-width:1025px){.login-illustration-panel{display:flex;flex:0 0 50%}}.input-wrapper{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:1.25rem;font-size:1.1rem;font-weight:600;color:var(--text-secondary-color);pointer-events:none;z-index:1}.input-wrapper input{padding-left:3.5rem!important}.phone-input-centered{text-align:left;letter-spacing:.1em;font-size:1.2rem;font-weight:600}.input-hint{margin-top:.5rem;font-size:.85rem;color:var(--primary-color);font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{padding:1rem;text-align:left}.welcome-banner{background:var(--primary-gradient);color:#fff;padding:1.5rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 8px 24px #0d948833}.welcome-banner h2{margin-top:0;margin-bottom:.5rem;font-size:1.6rem;font-weight:700}.welcome-banner p{margin:0;font-size:1rem;opacity:.9}.dashboard-container>h2{margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;text-align:center}.category-selection-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:0}@media(min-width:768px){.dashboard-container{padding:1.5rem}.welcome-banner{padding:2rem}.welcome-banner h2{font-size:1.8rem}.welcome-banner p{font-size:1.1rem}.category-selection-container{grid-template-columns:repeat(4,1fr);gap:1.5rem}}.category-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;aspect-ratio:1 / 1;font-family:inherit;width:100%}.category-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #00000014;border-color:var(--primary-color)}.category-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--self-locked-color);color:var(--primary-color);border-radius:50%;margin-bottom:.25rem}@media(min-width:768px){.category-card-icon{width:48px;height:48px;margin-bottom:.5rem}}.category-card h3{margin:0;color:var(--text-color);font-size:.9rem;font-weight:600;line-height:1.3}@media(min-width:768px){.category-card h3{font-size:1.1rem}}.category-card p{display:none}.contact-list-view{padding:0;background:#f1f5f9}.contact-list-header{padding:1.5rem 1.5rem 1rem;background-color:var(--card-background-color);border-bottom:1px solid var(--border-color)}.contact-list-view h2{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.list-controls-sticky{position:sticky;top:0;background-color:var(--card-background-color);padding:1rem 1.5rem;z-index:50;margin-bottom:0;border-bottom:1px solid var(--border-color)}.list-controls{display:flex;flex-direction:row;align-items:center;gap:1rem}.list-controls .search-bar-container{margin-bottom:0;flex-grow:1}.sort-control{display:flex;align-items:center;gap:.5rem;position:relative}.sort-control label{font-weight:600;color:#4b5563;font-size:.95rem}.sort-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.85rem 2.5rem .85rem 1rem;border-radius:8px;border:1px solid #dde2e7;background-color:#fff;font-size:1rem;flex-grow:1;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25em;color:var(--text-color)}@media(max-width:575px){.sort-control label{display:none}}.search-bar-container{position:relative}.search-bar-container svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--secondary-color);pointer-events:none}.search-input{width:44px;padding:.85rem 1rem .85rem 3rem;font-size:1rem;border:1px solid #dde2e7;border-radius:22px;box-sizing:border-box;transition:width .3s ease-in-out,border-radius .3s ease-in-out,border-color .2s,box-shadow .2s;background-color:#fff;color:var(--text-color);box-shadow:0 1px 2px #0000000a;cursor:pointer}.search-input:focus{width:100%;border-radius:8px;cursor:text;outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948833}.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948833}.contact-list-scroll-container{padding:1.5rem}.contact-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.contact-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px #0000000d;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.contact-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.contact-card.locked{background-color:var(--locked-color);border-color:var(--locked-border-color)}.contact-card.self-locked-card{background-color:var(--self-locked-color);border-left:5px solid var(--primary-color)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:none;padding-bottom:.75rem;margin-bottom:.75rem}.card-title-group{display:flex;align-items:center;gap:1rem;flex-grow:1;min-width:0}.card-avatar{width:44px;height:44px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;flex-shrink:0}.card-header h3{margin:0;font-size:1.25rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-icon-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text-secondary-color);flex-shrink:0;margin-left:.5rem}.history-icon-btn:hover{color:var(--primary-color)}.history-icon-btn svg{width:20px;height:20px}.lock-indicator{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;padding:.35rem .7rem;border-radius:16px;background-color:#f1f5f9;color:#475569;white-space:nowrap}.lock-indicator svg{color:#64748b;width:14px;height:14px}.lock-indicator.self-locked{background-color:var(--primary-color);color:#fff}.lock-indicator.self-locked svg{color:#fff}.card-body{flex-grow:1;display:flex;flex-direction:column;gap:1rem}.card-meta-tags{display:flex;flex-wrap:wrap;gap:.5rem}.card-tag{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:9999px;white-space:nowrap}.card-tag.type{background-color:#e0e7ff;color:#4338ca}.card-tag.priority{background-color:#fee2e2;color:#b91c1c}.card-tag.state{background-color:#d1fae5;color:#047857}.card-tag{background-color:#f1f5f9;color:#475569}.card-details{display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-secondary-color)}.detail-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary-color)}.detail-item span{word-break:break-word}.detail-item span strong{color:var(--text-color);font-weight:500}.card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.card-actions{display:flex;gap:.75rem}.whatsapp-btn,.call-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px solid;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.whatsapp-btn:disabled,.call-btn:disabled{opacity:.6;cursor:not-allowed}.whatsapp-btn:hover:not(:disabled),.call-btn:hover:not(:disabled){transform:translateY(-2px)}.whatsapp-btn{background-color:var(--card-background-color);border-color:var(--success-color);color:var(--success-color)}.whatsapp-btn:hover:not(:disabled){background-color:#f0fdf4}.call-btn{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.call-btn:hover:not(:disabled){background-color:var(--primary-hover-color)}.unlock-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;background-color:var(--warning-color);color:#1e293b;border:1px solid var(--warning-color)}.unlock-btn:hover{background-color:#d97706}.unlock-btn:disabled{opacity:.6;cursor:not-allowed}.history-btn,.card-last-call{display:none}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:flex-end;z-index:1050;overflow-y:auto;padding:1rem 0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:#fff;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 5px 15px #0000004d;width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;animation:slideUpModal .3s ease-out;display:flex;flex-direction:column}.modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.duty-assignment-modal{width:100%;max-width:100%;border-radius:0;height:100vh;max-height:100vh;animation:none;padding-bottom:0;justify-content:flex-start}.duty-assignment-modal .modal-header{padding:1.5rem 1.5rem 1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background-color:var(--card-background-color);z-index:10}.duty-assignment-modal .modal-header h3{font-size:1.5rem;font-weight:700}.duty-assignment-modal fieldset>.duty-details-content{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.duty-assignment-modal fieldset>.duty-details-content .form-group{flex:1 1 calc(50% - .5rem);min-width:180px;margin-bottom:0}@media(max-width:768px){.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;animation:slideUpModal .3s ease-out;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.duty-assignment-modal{height:100vh;max-height:100vh;border-radius:0;padding-bottom:0}.duty-assignment-modal fieldset>.duty-details-content .form-group{flex:1 1 100%}}@media(min-width:769px){.modal-overlay{align-items:center}.modal-content{width:90%;max-width:500px;border-radius:12px;animation:none;max-height:calc(100vh - 40px)}.duty-assignment-modal{border-radius:12px;margin:20px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);height:auto}}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem;flex-shrink:0}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-color)}.close-button{background:none;border:none;font-size:1.75rem;cursor:pointer;color:#94a3b8;padding:0;line-height:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--border-color);flex-shrink:0}.duty-assignment-modal .modal-footer{position:sticky;bottom:0;background-color:var(--card-background-color);border-top:1px solid var(--border-color);padding:1rem 1.5rem;margin-top:auto;z-index:10;box-shadow:0 -4px 12px #0000000d;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.modal-form{display:flex;flex-direction:column;flex-grow:1;min-height:0}.btn-primary,.btn-secondary,.btn-warning,.btn-danger{padding:.8rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s ease;min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-hover-color);transform:translateY(-2px)}.btn-primary:disabled{background-color:var(--secondary-color);cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--secondary-color);color:#fff;border-color:var(--secondary-color)}.btn-secondary:hover{background-color:var(--secondary-hover-color)}.btn-warning{background-color:var(--warning-color);color:#1e293b;border-color:var(--warning-color)}.btn-warning:hover{background-color:#d97706}.btn-warning:disabled{background-color:var(--secondary-color);cursor:not-allowed;transform:none}.btn-danger{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.btn-danger:hover{background-color:#dc2626;transform:translateY(-2px)}.btn-danger:disabled{background-color:var(--secondary-color);cursor:not-allowed;transform:none}.form-group{margin-bottom:1rem}.form-group label,.form-group legend{display:block;margin-bottom:.5rem;font-weight:500}.form-group select,.form-group textarea,.form-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;background-color:#fff;color:var(--text-color)}input[list]::-webkit-calendar-picker-indicator{display:block;opacity:.7;cursor:pointer}.log-call-info{padding:.75rem 1rem;background-color:var(--self-locked-color);border-left:4px solid var(--primary-color);border-radius:4px;margin-bottom:1.5rem}.log-call-info p{margin:0}.log-call-info .calling-name{font-weight:600;display:block;font-size:1.1rem}.log-call-info .calling-number{font-size:.9rem;color:var(--secondary-color)}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:.5rem}.toast{padding:1rem 1.5rem;border-radius:8px;color:#fff;box-shadow:0 3px 10px #0003;display:flex;justify-content:space-between;align-items:center;min-width:250px;max-width:350px}.toast-success{background-color:var(--success-color)}.toast-error{background-color:var(--danger-color)}.toast-warning{background-color:var(--warning-color);color:#333}.toast-close-btn{background:none;border:none;color:inherit;font-size:1.2rem;margin-left:1rem;cursor:pointer;opacity:.8}.loading-container{display:flex;justify-content:center;align-items:center;padding:2rem}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:var(--primary-color);animation:spin 1s ease infinite}.loading-container.small .spinner{width:20px;height:20px;border-width:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-list{list-style:none;padding:0;margin:0;max-height:45vh;overflow-y:auto}.history-item{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem .5rem;border-bottom:1px solid var(--border-color)}.history-list li:last-child{border-bottom:none}.history-item-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--self-locked-color);color:var(--primary-color)}.history-item-details{flex-grow:1}.history-item-details p{margin:0;line-height:1.4}.history-item-outcome{font-weight:600;font-size:1rem;color:var(--text-color)}.history-item-comments{font-style:italic;color:var(--secondary-color);margin-top:.35rem;padding-left:.75rem;border-left:3px solid var(--border-color);font-size:.9rem}.history-item-meta{font-size:.8rem;color:var(--secondary-color);margin-top:.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.history-item-meta strong{color:var(--text-color);font-weight:500}.empty-state{text-align:center;padding:3rem 1rem;margin-top:2rem;color:#6c757d}.empty-state-icon svg{color:#cbd5e1}.empty-state h3{margin:1rem 0 .5rem}.empty-state p{max-width:300px;margin:0 auto}.select-number-modal-content .modal-header h3{font-size:1.15rem;font-weight:600}.select-number-list{display:flex;flex-direction:column;gap:.75rem}.select-number-option{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border-color);background-color:var(--card-background-color);border-radius:12px;text-align:left;cursor:pointer;transition:all .2s ease-in-out;color:var(--text-color)}.select-number-option:hover{background-color:var(--self-locked-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0d94881a}.option-icon-container{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--background-color);transition:all .2s}.select-number-option:hover .option-icon-container{background-color:var(--primary-color)}.option-icon-container svg{width:20px;height:20px;color:var(--secondary-color);transition:color .2s}.select-number-option:hover .option-icon-container svg{color:#fff}.option-details{flex-grow:1}.option-name{display:block;font-weight:600}.option-number{display:block;font-size:.9rem;color:var(--secondary-color);margin-top:.25rem}.option-arrow{font-size:1.5rem;color:var(--border-color);transition:color .2s,transform .2s}.select-number-option:hover .option-arrow{color:var(--primary-color);transform:translate(4px)}.associate-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.add-associate-btn{background:none;border:none;color:var(--primary-color);font-weight:500;cursor:pointer;font-size:.9rem;padding:.5rem;margin-left:-.5rem}.add-associate-btn:hover{text-decoration:underline}.add-associate-form{padding:1rem;margin-top:.5rem;background-color:var(--background-color);border-radius:8px;border:1px solid var(--border-color)}.add-associate-form p{font-size:.9rem;color:#555;margin-top:0}.add-associate-form .btn-primary{margin-top:.5rem}.admin-container{display:flex;height:100vh;background-color:var(--background-color);position:relative;overflow-x:hidden}.admin-sidebar{width:240px;background-color:var(--admin-sidebar-bg);color:var(--admin-sidebar-text);display:flex;flex-direction:column;padding:1rem 0;flex-shrink:0;position:fixed;top:0;left:0;height:100%;z-index:10;transition:width .3s ease-in-out}.admin-sidebar-header{padding:0 1.5rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #374151;overflow:hidden;flex-shrink:0}.admin-sidebar-header .app-logo{width:40px;height:40px;flex-shrink:0}.admin-sidebar-header h2{font-size:1.1rem;margin:0;color:#fff;white-space:nowrap}.admin-nav{list-style:none;padding:0;margin:1rem 0;flex-grow:1;overflow-y:auto;overflow-x:hidden}.admin-nav-header{padding:1.5rem 1.5rem .75rem;font-size:.7rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;pointer-events:none}.admin-nav li a{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;margin:.25rem 1rem;border-radius:8px;color:var(--admin-sidebar-text);text-decoration:none;font-weight:500;transition:background-color .2s,color .2s;position:relative;white-space:nowrap}.admin-nav li a:hover{background-color:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-active-text)}.admin-nav li a.active{background-color:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-active-text)}.admin-nav li a.active:before{display:none}.admin-nav li a svg{width:20px;height:20px;flex-shrink:0}.admin-sidebar-footer{padding:1rem 1.5rem;border-top:1px solid #374151;overflow:hidden;flex-shrink:0}.sidebar-action-btn{display:flex;align-items:center;gap:.8rem;width:100%;padding:.9rem 1rem;margin:.25rem .5rem;background-color:transparent;border:none;color:var(--admin-sidebar-text);text-align:left;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;box-sizing:border-box;white-space:nowrap}.sidebar-action-btn:hover{background-color:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-active-text)}.sidebar-action-btn svg{width:20px;height:20px;flex-shrink:0}.admin-main-column{flex-grow:1;display:flex;flex-direction:column;margin-left:240px;width:calc(100% - 240px);transition:margin-left .3s ease-in-out,width .3s ease-in-out;position:relative;height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);flex-shrink:0;position:sticky;top:0;z-index:101}.admin-header h1{font-size:1.5rem;margin:0}.admin-header .header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle-btn{background-color:transparent;border:1px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary-color);transition:all .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background-color:var(--background-color);color:var(--primary-color);border-color:var(--primary-color)}.sidebar-toggle-btn svg{transition:transform .3s cubic-bezier(.4,0,.2,1)}.admin-content{padding:2rem;flex-grow:1;overflow-y:auto}.admin-sidebar.collapsed{width:80px}.admin-sidebar.collapsed .admin-sidebar-header{padding-left:0;padding-right:0;justify-content:center}.admin-sidebar.collapsed .admin-sidebar-header h2,.admin-sidebar.collapsed .admin-nav span,.admin-sidebar.collapsed .sidebar-action-btn span{opacity:0;visibility:hidden;width:0;transition:opacity .1s ease}.admin-sidebar.collapsed .admin-nav-header{display:none}.admin-sidebar.collapsed .admin-nav li a,.admin-sidebar.collapsed .sidebar-action-btn{justify-content:center}.admin-sidebar.collapsed .admin-sidebar-footer{padding-left:0;padding-right:0}.admin-sidebar.collapsed .sidebar-action-btn{margin-left:0;margin-right:0}.sidebar-collapsed .admin-main-column{margin-left:80px;width:calc(100% - 80px)}.sidebar-collapsed .sidebar-toggle-btn svg{transform:rotate(180deg)}.stat-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.stat-card{background-color:var(--card-background-color);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;border:1px solid var(--border-color)}.stat-card h3{margin:0 0 .5rem;font-size:1rem;color:var(--secondary-color);font-weight:500}.stat-card .stat-value{font-size:2.5rem;font-weight:700;color:var(--text-color)}.stat-card .stat-subtext{font-size:.875rem;color:var(--text-secondary-color);margin-top:.25rem}.stat-card.deletion-requests{background-color:#fffbeb;border-left:5px solid var(--warning-color);cursor:pointer;transition:background-color .2s,box-shadow .2s}.stat-card.deletion-requests:hover{background-color:#fef3c7;box-shadow:0 6px 16px #00000012}.stat-card.deletion-requests h3{color:#b45309}.stat-card.deletion-requests .stat-value{color:var(--danger-color)}.stat-card.deletion-requests.active{background-color:#fef3c7;border-color:var(--danger-color);box-shadow:0 0 0 2px var(--danger-color)}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:2rem;align-items:start}.admin-card{background-color:var(--card-background-color);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;border:1px solid var(--border-color)}.admin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.admin-card-header h2{margin:0;font-size:1.2rem}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.admin-table th{background-color:var(--background-color);font-weight:600}.admin-table tbody tr:hover{background-color:var(--self-locked-color)}.admin-table tbody tr:nth-child(2n){background-color:var(--background-color)}.admin-table tbody tr:nth-child(2n):hover{background-color:var(--self-locked-color)}.admin-table .actions-cell{display:flex;gap:.75rem;align-items:center}.admin-table .action-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--secondary-color)}.admin-table .action-btn:hover{color:var(--primary-color)}.admin-table .action-btn.delete:hover{color:var(--danger-color)}.admin-table tr.deletion-requested{background-color:#fef9c3;outline:1px solid var(--warning-color)}.admin-table tr.deletion-requested:hover{background-color:#fef08a}.actions-cell .flag-icon,.admin-table td .flag-icon{color:var(--danger-color);margin-right:8px;vertical-align:middle}.admin-table th.col-checkbox,.admin-table td.col-checkbox{width:40px;text-align:center;vertical-align:middle}.activity-feed-list{list-style:none;padding:0;margin:0}.activity-feed-item{display:flex;align-items:flex-start;gap:1rem;padding:.8rem .25rem;border-bottom:1px solid var(--border-color)}.activity-feed-item:last-child{border-bottom:none}.activity-icon-container{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--background-color)}.activity-icon-container svg{width:20px;height:20px;color:var(--secondary-color)}.activity-details{flex-grow:1}.activity-text{margin:0 0 .25rem;font-size:.9rem;line-height:1.4}.activity-text strong{font-weight:600;color:var(--text-color)}.activity-text a{font-weight:600;color:var(--primary-color);text-decoration:none}.activity-text a:hover{text-decoration:underline}.activity-time{font-size:.8rem;color:var(--secondary-color)}.tab-navigation{display:flex;overflow-x:auto;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;background-color:var(--background-color)}.tab-button{padding:.8rem 1.2rem;border:none;background:none;cursor:pointer;font-size:1rem;font-weight:500;color:var(--secondary-color);border-bottom:3px solid transparent;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background-color:var(--self-locked-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.csv-uploader{padding:1.5rem;border:2px dashed var(--border-color);border-radius:8px;text-align:center;background-color:var(--background-color)}.csv-uploader p{margin:0 0 1rem;color:var(--secondary-color)}.csv-uploader input[type=file]{display:none}.csv-uploader-label{display:inline-block;padding:.6rem 1.2rem;background-color:var(--primary-color);color:#fff;border-radius:8px;cursor:pointer}.csv-uploader-label:hover{background-color:var(--primary-hover-color)}.bottom-nav-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:65px;background-color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-color);box-shadow:0 -2px 10px #00000014;justify-content:space-around;align-items:flex-start;padding-top:8px;z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;min-height:48px;background:none;border:none;cursor:pointer;text-decoration:none;color:var(--secondary-color);transition:color .2s;font-size:.7rem;gap:4px;flex-grow:1;padding:0 4px}.bottom-nav-item svg{width:24px;height:24px}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--primary-color)}.more-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1100;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.more-menu-panel{position:fixed;bottom:0;left:0;right:0;background-color:var(--card-background-color);z-index:1200;border-radius:16px 16px 0 0;padding:1rem 1.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));animation:slideUp .3s ease-in-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.more-menu-header h3{margin:0;font-size:1.2rem}.more-menu-list{list-style:none;padding:0;margin:0}.more-menu-list li button{display:flex;align-items:center;width:100%;padding:1rem .5rem;background:none;border:none;font-size:1rem;text-align:left;cursor:pointer;gap:1.5rem;color:var(--text-color);border-radius:8px;transition:background-color .2s}.more-menu-list li button:hover{background-color:var(--background-color)}.more-menu-list li button svg{color:var(--secondary-color);width:22px;height:22px}.menu-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--self-locked-color);color:var(--primary-color);border-radius:50%;flex-shrink:0}.more-menu-category-header{padding:1.25rem .5rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--border-color);margin-top:.75rem;pointer-events:none}.more-menu-list>li:first-of-type.more-menu-category-header,.more-menu-list>.more-menu-category-header:first-child{margin-top:0;border-top:none;padding-top:.5rem}.management-grid-header{padding:1.25rem .5rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--border-color);margin-top:.75rem;pointer-events:none}.more-menu-panel>div:first-of-type>.management-grid-header{margin-top:0;border-top:none;padding-top:.5rem}.management-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.category-card.compact{padding:1rem .5rem;gap:.5rem;aspect-ratio:1 / 1;border-radius:12px}.category-card.compact .category-card-icon{width:36px;height:36px;margin-bottom:0}.category-card.compact h3{font-size:.8rem;font-weight:500;line-height:1.2}.install-prompt{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:400px;background-color:var(--primary-color);color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 15px #0003;z-index:2100;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;animation:slideUp .5s ease-in-out}.install-prompt p{margin:0;flex-grow:1;font-weight:500}.install-prompt-button{background-color:#fff;color:var(--primary-color);padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer;font-weight:700;transition:background-color .2s,color .2s;white-space:nowrap}.install-prompt-button:hover{background-color:#f0f0f0}.searchable-select-container{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;padding:.65rem 1rem;font-size:1rem;border:1px solid #dde2e7;border-radius:8px;background-color:#fff;color:var(--text-color);cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;text-align:left}.searchable-select-trigger.open{border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948833}.searchable-select-trigger .placeholder{color:var(--text-secondary-color)}.searchable-select-trigger .chevron{color:var(--text-secondary-color);transition:transform .2s ease;flex-shrink:0;margin-left:.5rem}.searchable-select-trigger.open .chevron{transform:rotate(180deg)}.searchable-select-dropdown{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;flex-direction:column;max-height:300px}.searchable-select-search-wrapper{position:relative;padding:.75rem;border-bottom:1px solid var(--border-color)}.searchable-select-search-wrapper .search-icon{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);color:var(--text-secondary-color);pointer-events:none}.searchable-select-search-input{width:100%;padding:.65rem 1rem .65rem 2.5rem;font-size:.9rem;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box}.searchable-select-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #0d948826}.searchable-select-options-list{list-style:none;padding:0;margin:.5rem;max-height:250px;overflow-y:auto;-webkit-overflow-scrolling:touch}.searchable-select-option{padding:.75rem 1rem;cursor:pointer;border-radius:6px;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.searchable-select-option:hover,.searchable-select-option.highlighted{background-color:var(--self-locked-color)}.searchable-select-option.selected{background-color:var(--primary-color);color:#fff;font-weight:500}.searchable-select-empty-message{padding:1rem;text-align:center;color:var(--text-secondary-color);font-size:.9rem}.searchable-select-dropdown{z-index:9999;min-width:250px;max-width:400px}@media(max-width:768px){.searchable-select-dropdown{max-height:200px;min-width:200px;max-width:90vw}}@media(max-width:768px){main{padding-left:0;padding-right:0;padding-bottom:75px}.header-right-desktop-only{display:none!important}.app-header .user-info{font-size:.9rem;font-weight:500;color:var(--secondary-color);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.admin-container{flex-direction:column;height:100vh;overflow-y:auto}.admin-sidebar{display:none}.admin-main-column{margin-left:0;width:100%;height:auto}.admin-header{position:static;padding:.75rem 1rem;background-color:var(--card-background-color);-webkit-backdrop-filter:none;backdrop-filter:none}.admin-header .header-right{display:flex;align-items:center;gap:.5rem}.admin-header h1{font-size:1.1rem}.admin-content{padding:1rem}.admin-grid{grid-template-columns:1fr}.admin-card-header{flex-wrap:wrap;gap:.75rem}.admin-card-header>h2{flex-basis:100%;margin:0}.admin-card-header>div{margin-left:auto}.admin-card,.stat-card{padding:1rem}.stat-card .stat-value{font-size:2rem}.bottom-nav-bar{display:flex}.admin-table-wrapper{overflow-x:hidden}.admin-table{border:none}.admin-table thead{display:none}.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%;box-sizing:border-box}.admin-table tr{margin-bottom:1rem;border-radius:8px;box-shadow:0 2px 8px #0000000f;border:1px solid var(--border-color);background:var(--card-background-color);overflow:hidden}.admin-table td{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);text-align:right;word-break:break-word}.admin-table tr:last-child{margin-bottom:0}.admin-table td:last-child{border-bottom:none}.admin-table td[data-label]:before{content:attr(data-label);font-weight:600;text-align:left;margin-right:1rem;color:var(--text-color)}.admin-table td.col-checkbox:before{display:none}.admin-table td[data-label=Select]{justify-content:flex-start;padding-left:1rem}.page-controls-container{margin-bottom:0;border-radius:0;box-shadow:none;border-left:none;border-right:none;border-top:none;padding-top:1rem}.page-actions-container{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.page-actions-left,.page-actions-right{width:100%;margin-top:.75rem;justify-content:space-between}.page-actions-container>.page-actions-left:first-child,.page-actions-container>.page-actions-right:first-child{margin-top:0}.page-actions-left{flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.page-actions-right{justify-content:flex-end}.page-actions-right>div{width:100%;display:flex;justify-content:flex-end}.page-actions-right .btn-primary{width:auto;max-width:100%;flex-shrink:0}.user-menu-dropdown.add-volunteer-menu{left:auto;right:0;width:100%;max-width:unset}}.rep-duty-view-container .page-controls-container{border-radius:0;box-shadow:none;border:none;border-bottom:1px solid var(--border-color);margin-bottom:0;margin-top:0;background-color:transparent;padding-top:0;padding-bottom:1.25rem}.rep-duty-view-container .admin-card-header{border:none;padding-bottom:0;flex-wrap:wrap;gap:1rem;justify-content:space-between}.rep-duty-view-container .admin-card-header h2{flex-grow:1}.rep-duty-header-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem!important;min-height:44px;background-color:#25d366!important;border-color:#25d366!important;color:#fff!important}.share-btn svg{width:20px;height:20px}.share-btn:hover{background-color:#128c7e!important;border-color:#128c7e!important;transform:translateY(-2px)}@media(max-width:575px){.rep-duty-view-container .admin-card-header{flex-direction:column;align-items:stretch}.rep-duty-header-actions{width:100%;justify-content:space-between}.rep-duty-header-actions .filter-control-group{flex-grow:1}}.rep-duty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:1.5rem}@media(max-width:768px){.rep-duty-grid{padding:1rem;gap:1rem}.rep-duty-view-container .page-controls-container{margin-top:0}}.rep-duty-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.rep-duty-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.rep-duty-card__header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.rep-duty-card__title{flex-grow:1}.rep-duty-card__title h3{margin:0;font-size:1.2rem;font-weight:600}.rep-duty-card__title span{font-size:.9rem;font-weight:500}.duty-status-badge.status--assigned{background-color:#dbeafe;color:#1d4ed8}.duty-status-badge.status--confirmed{background-color:#dcfce7;color:#15803d}.duty-status-badge.status--completed{background-color:var(--self-locked-color);color:var(--primary-hover-color)}.duty-status-badge.status--cancelled{background-color:#fee2e2;color:#b91c1c}.rep-duty-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;flex-grow:1}.rep-duty-card__detail-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.rep-duty-card__detail-item svg{width:18px;height:18px;color:var(--text-secondary-color);flex-shrink:0}.rep-duty-card__detail-item span{color:var(--text-secondary-color)}.rep-duty-card__detail-item span strong{color:var(--text-color);font-weight:600}.rep-duty-card__footer{padding:.75rem 1.25rem;border-top:1px solid var(--border-color);background-color:var(--background-color);display:flex;align-items:center;gap:.75rem;font-weight:500;color:var(--text-color)}.rep-duty-card__footer svg{width:16px;height:16px;color:var(--text-secondary-color)}.rep-duty-card__footer.callable{text-decoration:none;color:var(--text-color);cursor:pointer;transition:background-color .2s ease,color .2s ease}.rep-duty-card__footer.callable:hover{background-color:var(--self-locked-color);color:var(--primary-hover-color)}.rep-duty-card__footer.callable:hover svg{color:var(--primary-hover-color)}.volunteer-modal-container .form-header{text-align:center;margin-bottom:20px;padding-top:0}.volunteer-modal-container .form-header .app-logo{width:60px;height:auto;margin-bottom:10px}.volunteer-modal-container .form-title{color:var(--text-color);font-size:24px;font-weight:600;margin-bottom:5px}.volunteer-modal-container .form-subtitle{color:var(--secondary-color);font-size:14px;margin-top:0;margin-bottom:5px}.volunteer-modal-container .form-slogan{font-size:16px;font-weight:500;color:var(--primary-color);margin-top:5px;margin-bottom:15px}.volunteer-modal-container .form-grid{display:grid;gap:18px}.volunteer-modal-container .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.volunteer-modal-container .form-group{position:relative}.volunteer-modal-container .form-group.full-width{grid-column:1 / -1}.volunteer-modal-container .form-input,.volunteer-modal-container .form-select{width:100%;padding:12px 15px;border:2px solid #e1e8ed;border-radius:12px;font-size:14px;background:#fff;transition:all .3s ease;outline:none;box-sizing:border-box}.volunteer-modal-container .form-input:focus,.volunteer-modal-container .form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948826}.volunteer-modal-container .form-input.error,.volunteer-modal-container .form-select.error{border-color:#e74c3c}.volunteer-modal-container .form-label{position:absolute;left:15px;top:12px;color:#999;font-size:14px;pointer-events:none;transition:all .3s ease;background:#fff;padding:0 5px;z-index:1}.volunteer-modal-container .form-input:focus+.form-label,.volunteer-modal-container .form-input:not(:placeholder-shown)+.form-label,.volunteer-modal-container .form-input:read-only+.form-label{top:-8px;left:10px;font-size:12px;color:var(--primary-color)}.volunteer-modal-container .form-input[type=date]:not([value=""])+.form-label{top:-8px;left:10px;font-size:12px;color:var(--primary-color)}.volunteer-modal-container .error-message{color:#e74c3c;font-size:11px;margin-top:4px;min-height:14px}.radio-group{display:flex;gap:15px;margin-top:8px}.radio-item{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:18px;height:18px;border:2px solid #ccc;border-radius:50%;background-color:#fff;cursor:pointer;transition:border-color .2s ease-in-out;margin:0}.radio-input:hover{border-color:var(--primary-hover-color)}.radio-input:checked{border-color:var(--primary-color)}.radio-input:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background-color:var(--primary-color)}.radio-label{font-size:14px;color:#333;line-height:1;cursor:pointer}.volunteer-modal-container .submit-btn{width:100%;padding:14px;background:var(--primary-gradient);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.volunteer-modal-container .submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0d948833}.volunteer-modal-container .submit-btn:disabled{background:var(--secondary-color);cursor:not-allowed;transform:none;box-shadow:none}.volunteer-modal-container .submit-btn:active{transform:translateY(0)}.volunteer-modal-container .static-label{position:static;color:#333;font-size:14px;margin-bottom:8px;display:block;font-weight:500}.volunteer-modal-container .form-input[type=date]{position:relative}.volunteer-modal-container .form-input[type=date]::-webkit-calendar-picker-indicator{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") center/80% no-repeat;cursor:pointer;opacity:.7;transition:opacity .2s}.volunteer-modal-container .form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}@media(max-width:480px){.volunteer-modal-container .form-row{grid-template-columns:1fr;gap:8px}.volunteer-modal-container .form-grid{gap:10px}.volunteer-modal-container .form-group{margin-bottom:.75rem}.volunteer-modal-container .form-input,.volunteer-modal-container .form-select{padding:10px 12px}.volunteer-modal-container .form-label{top:10px}.volunteer-modal-container .form-input:focus+.form-label,.volunteer-modal-container .form-input:not(:placeholder-shown)+.form-label,.volunteer-modal-container .form-input:read-only+.form-label,.volunteer-modal-container .form-input[type=date]:not([value=""])+.form-label{top:-6px}.volunteer-modal-container .radio-group{gap:10px}.volunteer-modal-container .submit-btn{padding:12px}.duty-assignment-modal .modal-body{padding:1rem}.duty-assignment-modal fieldset{margin-bottom:1rem;padding:1rem}.duty-assignment-modal fieldset>legend{margin-bottom:.75rem}.duty-assignment-modal fieldset>.duty-details-content{gap:.75rem;margin-bottom:1rem}.duty-assignment-modal .main-filter-controls{gap:.75rem;margin-bottom:.75rem}.duty-assignment-modal .main-filter-controls .filter-control-group{flex:1 1 100%}.duty-assignment-modal .page-actions-container{gap:.75rem;padding:.75rem 0}.duty-assignment-modal .filter-control-group .radio-group{flex-wrap:wrap;gap:.5rem;margin-top:0}.duty-assignment-modal .filter-control-group .radio-item{margin-bottom:.25rem}.duty-assignment-modal .filter-control-group .radio-label{font-size:.85rem}.duty-assignment-modal .admin-table-wrapper{margin-top:1rem!important}}@media(max-width:768px){.desktop-only-view{display:none!important}}@media(min-width:769px){.mobile-only-view{display:none!important}}.mobile-user-list{display:flex;flex-direction:column;gap:.75rem}.mobile-user-card{background-color:var(--card-background-color);border-radius:12px;padding:1rem;box-shadow:0 4px 12px #0000000f;border:1px solid var(--border-color);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.mobile-user-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.mobile-user-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.mobile-user-card-info{flex:1;min-width:0}.mobile-user-card-info h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-user-card-info p{margin:.25rem 0 0;font-size:.9rem;color:var(--secondary-color)}.role-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;flex-shrink:0;margin-left:.75rem}.role-badge.has-role{background-color:#f0fdfa;color:#0f766e}.role-badge.no-role{background-color:#f1f5f9;color:#475569}.otp-display{padding:.5rem .75rem;background-color:var(--background-color);border-radius:6px;font-size:.9rem}.otp-display .otp-label{color:var(--secondary-color)}.otp-display .otp-value{font-family:monospace;font-weight:600;color:var(--text-color);letter-spacing:2px}.bottom-sheet-actions{display:flex;flex-direction:column;gap:.75rem}.bottom-sheet-action-btn{width:100%;padding:1rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;color:#fff;font-size:1rem;border:none;cursor:pointer;transition:opacity .2s ease}.bottom-sheet-action-btn:hover{opacity:.9}.bottom-sheet-action-btn:disabled{opacity:.6;background-color:var(--secondary-color);cursor:not-allowed}.bottom-sheet-action-btn svg{width:20px;height:20px;flex-shrink:0}.bottom-sheet-action-btn .btn-text{text-align:left;flex-grow:1}.bottom-sheet-action-btn .btn-title{font-weight:600}.bottom-sheet-action-btn .btn-subtitle{font-size:.8rem;opacity:.9;margin-top:2px}.bottom-sheet-action-btn.change-role{background-color:#06b6d4}.bottom-sheet-action-btn.reset-otp{background-color:#f97316}.bottom-sheet-action-btn.delete{background-color:var(--danger-color)}.table-controls-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border-color)}.page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--secondary-color)}.pagination-controls{display:flex;align-items:center;gap:1rem}.pagination-info{font-size:.9rem;color:var(--secondary-color)}.pagination-button{background:none;border:1px solid var(--border-color);border-radius:6px;width:32px;height:32px;cursor:pointer;transition:background-color .2s;color:var(--text-color);font-size:1.2rem;line-height:1}.pagination-button:hover:not(:disabled){background-color:var(--background-color)}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.load-more-container{padding:0 1rem 1rem;text-align:center}.load-more-btn{width:auto;padding:.8rem 2.5rem;margin:0;background-color:var(--card-background-color);border:1px solid var(--primary-color);color:var(--primary-color);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.load-more-btn:hover{background-color:var(--self-locked-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.template-selector-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1rem;margin-bottom:1.5rem}.template-card-label{display:block;position:relative;cursor:pointer}.template-card-input{position:absolute;opacity:0;width:0;height:0}.template-card-content{padding:1rem;border:2px solid var(--border-color);border-radius:12px;transition:all .2s ease-in-out}.template-card-label:hover .template-card-content{border-color:var(--primary-hover-color);background-color:var(--self-locked-color)}.template-card-input:checked+.template-card-content{border-color:var(--primary-color);background-color:var(--self-locked-color);box-shadow:0 0 0 3px #0d948833}.template-card-title{font-weight:600;color:var(--text-color);margin:0 0 .5rem}.template-card-text{font-size:.9rem;color:var(--secondary-color);margin:0;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--card-background-color);margin:0;font:inherit;color:var(--text-secondary-color);width:18px;height:18px;border:2px solid currentColor;border-radius:4px;transform:translateY(2px);display:inline-grid;place-content:center;cursor:pointer;transition:all .1s ease-in-out}input[type=checkbox]:before{content:"";width:10px;height:10px;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em #fff;transform-origin:center;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}input[type=checkbox]:checked{background:var(--chart-color-1);border-color:var(--chart-color-1)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:hover{color:var(--chart-color-1)}input[type=checkbox]:focus-visible{outline:2px solid var(--chart-color-1);outline-offset:2px}input[type=checkbox]:disabled{background-color:var(--border-color);border-color:#cbd5e1;cursor:not-allowed;opacity:.7}input[type=checkbox]:disabled:checked{background-color:#94a3b8;border-color:#94a3b8}.whatsapp-studio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;align-items:flex-start}.ws-template-card,.ws-link-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column}.ws-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.ws-card-header h3{margin:0;font-size:1.1rem}.ws-card-actions{display:flex;gap:.5rem}.ws-template-card-content{background-color:var(--background-color);padding:1rem;border-radius:8px;font-family:monospace;white-space:pre-wrap;word-break:break-word;font-size:.85rem;color:var(--text-secondary-color);max-height:150px;overflow-y:auto}.ws-link-card .link-url{font-size:.9rem;color:var(--primary-color);word-break:break-all}.ws-editor-placeholders{margin-top:1rem;padding:1rem;background-color:var(--background-color);border-radius:8px}.ws-editor-placeholders p{margin:0 0 .75rem;font-weight:500}.ws-editor-placeholders-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.ws-editor-placeholders-buttons .btn-secondary{background-color:#e2e8f0;color:#475569;border:none;padding:.5rem 1rem;font-size:.9rem;min-height:auto}.ws-editor-placeholders-buttons .btn-secondary:hover{background-color:#cbd5e1}.ws-editor-placeholders-buttons .admin-filter-select{max-width:200px}.volunteer-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:12px;background-color:var(--card-background-color);box-shadow:0 4px 12px #0000000d}.volunteer-table{width:100%;border-collapse:collapse;table-layout:fixed}.volunteer-table th{background-color:var(--background-color);padding:10px 12px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary-color);border-bottom:2px solid var(--border-color)}.volunteer-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:.85rem;vertical-align:middle;word-break:break-word}.volunteer-table td>div{line-height:1.4}.cell-main-text{font-weight:500;color:var(--text-color);display:block}.cell-sub-text{font-size:.75rem;color:var(--text-secondary-color);display:block;margin-top:2px}.cell-meta-text{font-size:.7rem;color:#94a3b8;display:block;margin-top:2px}.volunteer-table tbody tr:last-child td{border-bottom:none}.volunteer-table tbody tr:hover{background-color:var(--self-locked-color)}.volunteer-table .actions-cell{display:flex;gap:.5rem;align-items:center;white-space:nowrap}.volunteer-table .action-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--secondary-color)}.volunteer-table .action-btn:hover{color:var(--primary-color)}.volunteer-table .action-btn.delete:hover{color:var(--danger-color)}.volunteer-table tr.deletion-requested{background-color:#fef9c3}.volunteer-table tr.deletion-requested:hover{background-color:#fef08a}.volunteer-table .flag-icon{color:var(--danger-color);margin-right:8px;vertical-align:middle}.volunteer-table th.col-checkbox,.volunteer-table td.col-checkbox{width:40px;text-align:center;vertical-align:middle}.sewadal-status-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:capitalize;background-color:#e2e8f0;color:#475569}.sewadal-status-badge.registered{background-color:var(--self-locked-color);color:#0f766e}.admin-table tbody tr.table-row-selected,.volunteer-table tbody tr.table-row-selected{background-color:#eff6ff;outline:2px solid var(--chart-color-1);outline-offset:-2px}.admin-table tbody tr.table-row-selected:hover,.volunteer-table tbody tr.table-row-selected:hover{background-color:#dbeafe}.admin-table tr.table-row-selected,.volunteer-card.table-row-selected,.duty-card.table-row-selected{background-color:#eff6ff;border-color:var(--chart-color-1)}.export-controls-container{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1.25rem;background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;margin:1.5rem 0;box-shadow:0 4px 12px #0000000a}.export-controls-container h3{width:100%;margin:0 0 1rem;font-size:1.1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.export-controls-container .form-group{margin-bottom:0;flex-grow:1;min-width:180px}.export-controls-container .form-group label{font-weight:500;font-size:.9rem}.export-controls-container .btn-primary{flex-shrink:0}.user-menu-container{position:relative;display:flex;align-items:center}.user-menu-trigger{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;background-color:transparent;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.user-menu-trigger:hover{background-color:var(--background-color)}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.user-menu-info{display:flex;flex-direction:column}.user-menu-info .user-name{font-weight:600;color:var(--text-color)}.user-menu-info .user-role{font-size:.8rem;color:var(--text-secondary-color)}.user-menu-chevron{color:var(--text-secondary-color);transition:transform .2s ease}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--card-background-color);border-radius:8px;box-shadow:0 4px 20px #0000001a;border:1px solid var(--border-color);width:220px;z-index:1100;list-style:none;padding:.5rem;margin:0;opacity:0;transform:translateY(-10px);visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s .2s}.user-menu-dropdown.open{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .2s ease,transform .2s ease,visibility 0s 0s}.user-menu-item{display:block;width:100%;text-decoration:none}.user-menu-item button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:none;border-radius:6px;font-size:.9rem;text-align:left;cursor:pointer;color:var(--text-color);transition:background-color .2s ease}.user-menu-item button:hover{background-color:var(--background-color)}.user-menu-item svg{width:18px;height:18px;color:var(--text-secondary-color)}.user-menu-item.danger button{color:var(--danger-color)}.user-menu-item.danger button:hover{background-color:#fef2f2}.user-menu-item.danger svg{color:var(--danger-color)}.user-menu-divider{height:1px;background-color:var(--border-color);margin:.5rem 0}.age-standard{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#047857;background-color:#d1fae5}.age-warning{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#b45309;background-color:#fef3c7}.age-senior{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#991b1b;background-color:#fee2e2}.age-text-standard{color:var(--success-color)}.age-text-warning{color:var(--warning-color)}.age-text-senior{color:var(--danger-color)}.user-menu-dropdown.add-volunteer-menu{width:280px}.add-volunteer-option{text-align:left;width:100%;padding:.75rem 1rem;line-height:1.4;display:flex;flex-direction:column}.add-volunteer-option-title{font-weight:600;color:var(--text-color)}.add-volunteer-option-desc{font-size:.8rem;color:var(--text-secondary-color)}@media(min-width:768px){.modal-content.volunteer-modal-container{max-width:650px}}.main-filter-controls{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end}.filter-control-group{flex-grow:1;min-width:150px}.filter-control-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem;margin-bottom:.5rem;color:var(--text-secondary-color)}.filter-control-group label svg{width:16px;height:16px}.main-filter-controls .search-bar-container{flex-grow:1.5;min-width:200px}.reset-btn-container{flex-grow:0;flex-shrink:0}.reset-filters-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;height:44px;padding:0 1.25rem;background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary-color);border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-filters-btn:hover{background-color:var(--background-color);border-color:var(--secondary-color);color:var(--text-color)}.reset-filters-btn svg{width:16px;height:16px}.admin-filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;height:44px;padding:.65rem 2.5rem .65rem 1rem;font-size:1rem;border:1px solid #dde2e7;border-radius:8px;background-color:#fff;color:var(--text-color);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25em;transition:border-color .2s,box-shadow .2s;cursor:pointer}.admin-filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948833}.volunteer-table .admin-filter-select{height:auto;font-size:.85rem;padding:.5rem 2rem .5rem .5rem}.export-btn{background-color:var(--card-background-color);border:1px solid var(--border-color);color:var(--text-secondary-color);font-weight:500;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;height:44px;box-sizing:border-box}.export-btn:hover{background-color:var(--background-color);border-color:var(--secondary-color);color:var(--text-color);transform:none}.export-btn svg{width:16px;height:16px}.modal-content.export-modal-content{max-width:700px}.export-modal-content .modal-body{padding-top:.5rem}.export-modal-content .modal-body>p{color:var(--text-secondary-color);margin-bottom:1.5rem}.export-scope-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.export-option-label{display:block;position:relative;cursor:pointer}.export-option-input{position:absolute;opacity:0;width:0;height:0}.export-option-content{padding:1rem;border:2px solid var(--border-color);border-radius:12px;transition:all .2s ease-in-out;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.export-option-label:hover .export-option-content{border-color:var(--primary-hover-color);background-color:var(--self-locked-color)}.export-option-input:checked+.export-option-content{border-color:var(--primary-color);background-color:var(--self-locked-color);box-shadow:0 0 0 3px #0d948833}.export-option-title{font-weight:600;color:var(--text-color);display:block}.export-option-count{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:.5rem 0}.export-option-desc{font-size:.8rem;color:var(--text-secondary-color);display:block}.page-controls-container{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 4px 12px #0000000a;margin-bottom:1.5rem;border:1px solid var(--border-color);padding:1.25rem}.page-controls-container .admin-card-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.admin-container.header-hidden .admin-header.desktop-only-view{transform:translateY(-100%)}.admin-container.header-hidden .page-controls-container{position:sticky;top:0;z-index:99;border-radius:0;margin:-2rem -2rem 1.5rem;padding:1.25rem 2rem;box-shadow:0 4px 12px #00000014}@media(max-width:768px){.admin-container.header-hidden .page-controls-container{margin:-1rem -1rem 1.5rem;padding:1rem}}.volunteer-card-list{display:flex;flex-direction:column;gap:1rem;padding:1rem}.volunteer-card{background-color:var(--card-background-color);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;overflow:hidden}.volunteer-card.deletion-requested{background-color:#fef9c3;border-color:var(--warning-color)}.vc-top-header{background-color:var(--background-color);padding:.5rem 1rem;text-align:center;border-bottom:1px solid var(--border-color)}.vc-top-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.vc-header{display:flex;align-items:center;gap:1rem;padding:1rem}.vc-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;flex-shrink:0}.vc-title-group{flex-grow:1;min-width:0}.vc-title-group h3{margin:0;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.vc-title-group p{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary-color);font-weight:500}.vc-title-group .age-badge{background-color:#e2e8f0;color:var(--text-secondary-color);padding:2px 6px;border-radius:4px;font-weight:600}.vc-actions{display:flex;gap:.75rem;margin-left:auto}.vc-action-btn{background-color:transparent;border:1px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--text-secondary-color);transition:all .2s ease}.vc-action-btn:hover{background-color:var(--background-color);color:var(--text-color)}.vc-action-btn.delete:hover{background-color:#fef2f2;border-color:var(--danger-color);color:var(--danger-color)}.vc-action-btn:disabled{opacity:.5;cursor:not-allowed}.vc-body{padding:.25rem 1rem 1rem;display:flex;flex-direction:column;gap:1.25rem;border-top:1px solid var(--border-color)}.vc-section h4{font-size:.7rem;font-weight:700;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .75rem}.vc-section .vc-detail-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-color);line-height:1.5}.vc-section .vc-detail-item+.vc-detail-item{margin-top:.6rem}.vc-section .vc-detail-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary-color)}.vc-section .vc-detail-item span{word-break:break-word}.vc-section .vc-detail-item strong{font-weight:600}.vc-sewa-allotment{padding:.75rem 1rem;background-color:#f0f9ff;border-top:1px solid var(--border-color)}.vc-sewa-allotment label{font-weight:500;font-size:.8rem;color:#0c4a6e;margin-bottom:.25rem;display:block}.vc-sewa-allotment .admin-filter-select{height:40px;font-size:.9rem;background-color:#fff}.vc-sewa-allotment .sewa-display{font-weight:600;color:#0369a1;font-size:1rem}.page-controls-container .admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;padding-bottom:1.25rem;border-bottom:none}.page-controls-container .admin-card-header h2{margin:0}.filter-section-toggle-btn{background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.filter-section-toggle-btn:hover{background-color:var(--background-color);border-color:var(--secondary-color);color:var(--text-color)}.filter-section-toggle-btn svg{width:20px;height:20px}.collapsible-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out;border-top:1px solid var(--border-color)}.collapsible-container.open{grid-template-rows:1fr}.collapsible-content{overflow:hidden}.page-actions-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 0;border-bottom:1px solid var(--border-color);margin-bottom:1.25rem}.page-actions-left,.page-actions-right{display:flex;gap:.75rem;align-items:center}@media(max-width:768px){.page-actions-container{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap}.page-actions-left,.page-actions-right{width:auto}}.scanner-page-container{display:flex;flex-direction:column;height:100%;background-color:#111827;color:#fff}.scanner-active-header{padding:1rem 1.5rem;text-align:center;flex-shrink:0}.scanner-active-header h2{margin:0 0 .5rem}.scanner-active-header p{margin:0;color:#9ca3af;font-size:.9rem}.scanner-mode-toggle{display:inline-flex;background-color:#374151;border-radius:99px;padding:4px;position:relative;margin:1rem 0 .5rem}.scanner-mode-toggle input{display:none}.scanner-mode-toggle label{padding:.5rem 1.25rem;cursor:pointer;z-index:1;transition:color .3s ease;font-weight:500}.scanner-mode-toggle input:checked+label{color:var(--text-color)}.scanner-mode-glider{position:absolute;top:4px;height:calc(100% - 8px);width:50%;background-color:#fff;border-radius:99px;transition:transform .3s cubic-bezier(.4,0,.2,1)}#scanner-mode-checkin:checked~.scanner-mode-glider{transform:translate(0)}#scanner-mode-checkout:checked~.scanner-mode-glider{transform:translate(100%)}.scanner-viewfinder{flex-grow:1;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:250px}.scanner-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.scanner-overlay{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.scanner-error-display{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#000000b3;color:#fff;padding:2rem;font-weight:500}.scanner-laser{position:absolute;width:80%;max-width:400px;height:2px;background-color:var(--danger-color);box-shadow:0 0 10px var(--danger-color);animation:scan 2s infinite ease-in-out;border-radius:2px}@keyframes scan{0%,to{top:15%}50%{top:85%}}.scanner-frame-corners{position:absolute;width:80%;height:80%;max-width:400px;max-height:400px;aspect-ratio:1 / 1;border:4px solid rgba(255,255,255,.2);border-radius:12px}.scanner-frame-corners div{position:absolute;width:30px;height:30px;border:5px solid white}.scanner-frame-corners div:nth-child(1){top:-5px;left:-5px;border-right:none;border-bottom:none;border-radius:8px 0 0}.scanner-frame-corners div:nth-child(2){top:-5px;right:-5px;border-left:none;border-bottom:none;border-radius:0 8px 0 0}.scanner-frame-corners div:nth-child(3){bottom:-5px;left:-5px;border-right:none;border-top:none;border-radius:0 0 0 8px}.scanner-frame-corners div:nth-child(4){bottom:-5px;right:-5px;border-left:none;border-top:none;border-radius:0 0 8px}.scanner-controls-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:90%;max-width:450px;display:flex;align-items:center;justify-content:center;gap:1rem;background-color:#00000080;padding:.5rem;border-radius:99px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10}.scanner-control-btn{width:44px;height:44px;border-radius:50%;background-color:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s,color .2s}.scanner-control-btn:hover{background-color:#fff3}.scanner-control-btn.on{background-color:var(--warning-color);color:#000}.scanner-control-btn svg{width:22px;height:22px}.zoom-slider-container{display:flex;align-items:center;gap:.75rem;color:#fff;flex-grow:1}.zoom-slider-container svg{width:20px;height:20px;flex-shrink:0}.zoom-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#ffffff4d;border-radius:2px;outline:none;opacity:.9;transition:opacity .2s;cursor:pointer}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#fff;cursor:pointer;border-radius:50%;border:3px solid var(--primary-color);box-shadow:0 0 4px #00000080}.zoom-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;cursor:pointer;border-radius:50%;border:3px solid var(--primary-color)}.scan-log-container{flex-shrink:0;padding:1rem 1.5rem;background-color:#1f2937;border-top:1px solid #374151;max-height:200px;overflow-y:auto}.scan-log-container h3{margin:0 0 1rem;font-size:1rem}.scan-log-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:#374151;border-radius:8px;border-left:4px solid var(--secondary-color)}.scan-log-item+.scan-log-item{margin-top:.5rem}.scan-log-item--success{border-left-color:var(--success-color)}.scan-log-item--warning{border-left-color:var(--warning-color)}.scan-log-item--error{border-left-color:var(--danger-color)}.scan-log-icon{font-size:1.2rem}.scan-log-details{flex-grow:1;min-width:0}.scan-log-name{font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-log-message{font-size:.85rem;margin:.1rem 0 0;color:#d1d5db}.scan-log-time{font-size:.8rem;color:#9ca3af;flex-shrink:0}.scanner-result-modal{background-color:var(--card-background-color);color:var(--text-color);border-radius:16px;padding:2rem;width:90%;max-width:400px;text-align:center;border-top:8px solid;animation:fadeInSlideUp .3s ease-out;position:relative}.scanner-result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;margin:0 auto 1.5rem}.scanner-result-title{font-size:1.5rem;margin:0 0 .5rem}.scanner-result-volunteer{margin:1.5rem 0;padding:1rem;background-color:var(--background-color);border-radius:8px}.scanner-result-volunteer h3{margin:0 0 .25rem;font-size:1.2rem}.scanner-result-volunteer p{margin:0;color:var(--text-secondary-color)}.scanner-result-message{font-size:1rem;color:var(--text-color);margin:0}.card-grid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-color);z-index:1040;display:flex;flex-direction:column;overflow-y:auto;animation:fadeIn .3s ease}.card-grid-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--card-background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1;flex-shrink:0;gap:1.5rem;flex-wrap:wrap}.card-grid-header h2{margin:0;font-size:1.5rem}.card-grid-header .search-bar-container{flex-grow:1;max-width:400px;position:relative}.card-grid-header .search-bar-container .search-input{width:100%;border-radius:8px;cursor:text}.card-grid-header .search-bar-container .search-input:focus{width:100%}.volunteer-card-grid{padding:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;flex-grow:1}.printable-volunteer-card{background-color:#f8fafc;border:1px solid var(--border-color);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 16px #00000012;font-family:Inter,sans-serif;display:flex;flex-direction:column;position:relative}.printable-volunteer-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.printable-volunteer-card:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;height:60%;background-image:url(https://www.nirankari.org/wp-content/uploads/2022/10/snm-logo-1.png);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.04;pointer-events:none;z-index:0;filter:grayscale(100%)}.pvc-header,.pvc-content{position:relative;z-index:1}.printable-volunteer-card .pvc-header{padding:.75rem 1rem;background-color:#fff;color:#000;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.printable-volunteer-card .pvc-header img{height:32px;width:auto;flex-shrink:0}.pvc-event-logo{width:32px;height:32px;background-image:url(https://sncf-sewa-connect.s3.ap-south-1.amazonaws.com/aatmamanthan-small.jpg);background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:6px;background-color:#fff;padding:2px;box-sizing:border-box;flex-shrink:0;filter:grayscale(100%)}.pvc-header-title{text-align:center}.printable-volunteer-card .pvc-header h3{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.pvc-header-title span{font-size:.65rem;font-weight:500;color:var(--text-secondary-color)}.printable-volunteer-card .pvc-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;flex-grow:1}.pvc-top-section{display:flex;align-items:flex-start;justify-content:space-between;width:100%;gap:.5rem;padding-bottom:.75rem}.pvc-main-info{display:flex;align-items:center;gap:1rem;flex-grow:1}.pvc-avatar{width:56px;height:56px;font-size:1.5rem;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;border:3px solid white;box-shadow:0 2px 8px #00000026}.pvc-text-details{display:flex;flex-direction:column;gap:.1rem}.pvc-text-details .pvc-name{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-color)}.pvc-text-details .pvc-info{font-size:.8rem;margin:0;color:var(--text-secondary-color)}.pvc-text-details .pvc-info strong{font-weight:600;color:var(--text-color)}.pvc-qr{text-align:center;flex-shrink:0}.pvc-qr canvas{display:block;margin:0 auto .25rem}.pvc-sr-label{font-size:.75rem;font-family:monospace;color:var(--text-secondary-color)}.pvc-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.25rem;width:100%;border-top:1px solid var(--border-color);padding:1rem 0}.pvc-detail-item{display:flex;align-items:flex-start;gap:.6rem;overflow:hidden}.pvc-detail-item.full-width-detail{grid-column:1 / -1}.pvc-detail-item svg{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;margin-top:2px}.pvc-detail-item>div{display:flex;flex-direction:column}.pvc-detail-label{font-size:.7rem;color:var(--text-secondary-color);text-transform:uppercase;font-weight:600;margin-bottom:2px}.pvc-detail-value{font-size:.85rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sewadal-status-badge-pvc{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;line-height:1.3}.sewadal-status-badge-pvc.registered{background-color:var(--self-locked-color);color:#0f766e}.sewadal-status-badge-pvc.unregistered{background-color:#f1f5f9;color:#475569}.pvc-sewa-allotment{width:100%;text-align:center;padding:.75rem;border-radius:8px;background-color:var(--self-locked-color);margin-top:auto}.pvc-sewa-label{display:block;font-size:.7rem;color:var(--primary-hover-color);text-transform:uppercase;font-weight:700;letter-spacing:.5px}.pvc-sewa-value{font-size:1.1rem;font-weight:700;color:var(--primary-hover-color)}.print-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1050}.print-modal-content{background-color:transparent;padding:2rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.printable-area{width:350px}.printable-area .printable-volunteer-card{cursor:default}.print-modal-actions{display:flex;gap:1rem}@media print{body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print{display:none!important}}@media print{body>*:not(.print-modal-overlay):not(.print-sheet-overlay){display:none!important}.print-modal-overlay{position:static;background:none}.print-modal-content{padding:0;box-shadow:none;border:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.print-modal-actions{display:none!important}.printable-area{width:5.4cm;height:8.6cm}.printable-area .printable-volunteer-card{width:100%;height:100%;box-shadow:none!important;border:1px solid #ccc!important}}.printable-volunteer-card.sheet-view{font-size:8px;border-radius:6px;height:8.6cm!important;width:5.4cm!important;border:1px solid #ccc;box-shadow:0 2px 8px #0000001a;flex-shrink:0;flex-grow:0;display:flex;flex-direction:column;color:#1e293b;position:relative;background-color:#f8fafc;overflow:hidden}.printable-volunteer-card.sheet-view:before{opacity:.03}.printable-volunteer-card.sheet-view .pvc-header{padding:.3em .5em;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background-color:#fff;flex-shrink:0;min-height:1.2cm}.printable-volunteer-card.sheet-view .pvc-header img{height:16px}.printable-volunteer-card.sheet-view .pvc-event-logo{height:16px;width:16px;padding:1px;border-radius:3px}.printable-volunteer-card.sheet-view .pvc-header h3{margin:0;font-size:1.3em;letter-spacing:.3px;white-space:nowrap;font-weight:700;line-height:1.1}.printable-volunteer-card.sheet-view .pvc-header-title span{font-size:1em;white-space:nowrap;line-height:1.1}.printable-volunteer-card.sheet-view .pvc-content{padding:.4em;gap:.3em;flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.printable-volunteer-card.sheet-view .pvc-top-section{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.3em;padding-bottom:.2em;width:100%;flex-shrink:0;min-height:2.5cm}.printable-volunteer-card.sheet-view .pvc-qr{flex-shrink:0;margin:0;display:flex;justify-content:center;align-items:center}.printable-volunteer-card.sheet-view .pvc-qr canvas{display:block;margin:0}.printable-volunteer-card.sheet-view .pvc-main-info{display:flex;flex-direction:column;align-items:flex-start;gap:.1em;flex-grow:1;min-width:0;justify-content:center}.printable-volunteer-card.sheet-view .pvc-text-details{display:flex;flex-direction:column;gap:.1em;flex-grow:1;overflow:hidden;justify-content:center}.printable-volunteer-card.sheet-view .pvc-name{margin:0;font-size:1.5em;font-weight:700;white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-height:1.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.printable-volunteer-card.sheet-view .pvc-info{margin:0;font-size:1.1em;white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1;word-wrap:break-word;max-height:1em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.printable-volunteer-card.sheet-view .pvc-info strong{font-weight:600}.printable-volunteer-card.sheet-view .pvc-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2em .4em;width:100%;border-top:1px solid var(--border-color);padding:.3em 0;color:var(--text-color);flex-shrink:0;min-height:2.8cm}.printable-volunteer-card.sheet-view .pvc-detail-item{display:flex;align-items:flex-start;gap:.3em;overflow:hidden;min-height:.8em}.printable-volunteer-card.sheet-view .pvc-detail-item.full-width-detail{grid-column:1 / -1}.printable-volunteer-card.sheet-view .pvc-detail-item svg{width:12px;height:12px;flex-shrink:0;margin-top:1px;color:var(--primary-color)}.printable-volunteer-card.sheet-view .pvc-detail-item>div{display:flex;flex-direction:column;overflow:hidden}.printable-volunteer-card.sheet-view .pvc-detail-label{font-size:.9em;text-transform:uppercase;font-weight:600;margin-bottom:.1em;color:var(--text-secondary-color);line-height:1}.printable-volunteer-card.sheet-view .pvc-detail-item.full-width-detail .pvc-detail-label{margin-left:14px}.printable-volunteer-card.sheet-view .pvc-detail-value{font-size:.9em;font-weight:500;white-space:normal;overflow:hidden;text-overflow:ellipsis;color:var(--text-color);line-height:1;word-wrap:break-word;max-height:1em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.printable-volunteer-card.sheet-view .sewadal-status-badge-pvc{display:inline-block;padding:.1em .3em;border-radius:3px;font-size:.85em;font-weight:600;line-height:1.2;text-transform:capitalize}.printable-volunteer-card.sheet-view .sewadal-status-badge-pvc.registered{background-color:var(--self-locked-color);color:#0f766e}.printable-volunteer-card.sheet-view .sewadal-status-badge-pvc.unregistered{background-color:#f1f5f9;color:#475569}.printable-volunteer-card.sheet-view .pvc-sewa-allotment{width:100%;text-align:center;padding:.3em;border-radius:4px;background-color:var(--self-locked-color);margin-top:auto;flex-shrink:0;min-height:1cm}.printable-volunteer-card.sheet-view .pvc-sewa-label{display:block;font-size:.9em;text-transform:uppercase;font-weight:700;letter-spacing:.1px;color:var(--primary-hover-color);line-height:1}.printable-volunteer-card.sheet-view .pvc-sewa-value{font-size:1em;font-weight:700;color:var(--primary-hover-color);line-height:1;white-space:normal;word-wrap:break-word;max-height:1em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.printable-volunteer-card.sheet-view .pvc-digital-stamp{position:absolute;bottom:.2cm;right:.2cm;font-family:Times New Roman,serif;font-size:1.2em;font-weight:700;color:#007bff;text-shadow:0 0 1px rgba(0,0,0,.2);transform:rotate(-10deg);opacity:.7;pointer-events:none;white-space:nowrap}@media(max-width:768px){.card-grid-header{padding:1rem;justify-content:center;position:relative}.card-grid-header h2{order:1;flex-basis:100%;text-align:center;margin-bottom:1rem}.card-grid-header .search-bar-container{order:2;flex-basis:100%;max-width:none}.card-grid-header .close-button{position:absolute;top:1.25rem;right:1rem;order:3}.volunteer-card-grid{padding:1.5rem 1rem}}@media print{@page{size:A4 landscape;margin:.5cm}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print{display:none!important}}@media print{body>*:not(.print-modal-overlay):not(.print-sheet-overlay){display:none!important}.print-modal-overlay{position:static;background:none}.print-modal-content{padding:0;box-shadow:none;border:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.print-modal-actions{display:none!important}.printable-area{width:5.4cm;height:8.6cm}.printable-area .printable-volunteer-card{width:100%;height:100%;box-shadow:none!important;border:1px solid #ccc!important}.printable-volunteer-card.print-view .pvc-digital-stamp{display:none}}@media print{.print-sheet-overlay{position:static!important;background:none!important;display:block!important;z-index:9999!important;width:100%!important;height:auto!important;overflow:visible!important;visibility:visible!important;opacity:1!important}.print-sheet-controls{display:none!important}.print-sheet-content{padding:0!important;overflow:visible!important;display:block!important;width:100%!important;height:auto!important;visibility:visible!important;opacity:1!important}.print-page.layout-5x2-landscape{box-shadow:none!important;margin:0!important;page-break-after:always!important;display:grid!important;visibility:visible!important;opacity:1!important}.print-page:last-child{page-break-after:avoid!important}.print-card-wrapper{display:flex!important;visibility:visible!important;opacity:1!important}.printable-volunteer-card.sheet-view{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#f8fafc!important;border:1px solid #ccc!important;display:flex!important;visibility:visible!important;opacity:1!important}.printable-volunteer-card.sheet-view canvas{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;visibility:visible!important;opacity:1!important}.printable-volunteer-card.sheet-view *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#000!important;visibility:visible!important;opacity:1!important}.printable-volunteer-card.sheet-view .pvc-header{background-color:#fff!important}.printable-volunteer-card.sheet-view .pvc-sewa-allotment{background-color:#e0f2f1!important}.print-sheet-overlay{display:block!important;position:static!important;background:none!important;z-index:9999!important;visibility:visible!important;opacity:1!important}body:has(.print-sheet-overlay) .print-sheet-overlay{display:block!important}}@media print{.print-sheet-overlay{display:block!important;position:static!important;background:transparent!important;z-index:9999!important;width:100%!important;height:auto!important;overflow:visible!important;visibility:visible!important;opacity:1!important}.print-sheet-content{display:block!important;visibility:visible!important;opacity:1!important}.print-page{display:grid!important;visibility:visible!important;opacity:1!important}.print-card-wrapper,.printable-volunteer-card{display:flex!important;visibility:visible!important;opacity:1!important}}.print-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#e2e8f0;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.print-sheet-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--card-background-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.print-sheet-controls h3{margin:0}.print-sheet-actions{display:flex;gap:1rem}.print-sheet-actions .btn-primary{gap:.5rem}.print-sheet-content{flex-grow:1;overflow-y:auto;padding:2rem}.print-page.layout-5x2-landscape{background-color:#fff;box-shadow:0 10px 30px #00000026;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr);gap:.1cm .15cm;width:29cm;height:20.2cm;box-sizing:border-box;margin:0 auto 2rem}.print-page:last-child{margin-bottom:0}.print-card-wrapper{display:flex;justify-content:center;align-items:center;padding:.02cm}@media(max-width:768px){.date-range-picker{padding:.75rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.date-range-inputs{flex-direction:column;gap:1rem}.date-input-group{width:100%;min-width:100%}.date-range-separator{transform:rotate(90deg);margin:-.5rem 0}.date-range-quick-options{gap:.5rem}.quick-option-btn{flex:1 1 calc(50% - .25rem);min-width:calc(50% - .25rem);padding:.625rem .5rem;font-size:.75rem}}@media(max-width:768px){.main-filter-controls{flex-direction:column!important;gap:.75rem!important}.search-bar-container{max-width:100%!important;width:100%!important}.search-bar-container .search-input{padding:.875rem 1rem .875rem 2.75rem;font-size:1rem}.main-filter-controls button{width:100%!important;max-width:100%!important;padding:.875rem 1.5rem!important}}@media(max-width:768px){.modal-overlay{padding:2rem 1rem 1rem;align-items:flex-start}.modal-content{width:100%!important;max-width:100%!important;max-height:calc(100vh - 4rem);overflow-y:auto;margin:0}.modal-header h3{font-size:1.25rem}.modal-body{padding:1rem}.modal-footer{flex-direction:column-reverse;gap:.75rem;padding:1rem}.modal-footer button{width:100%;justify-content:center}.duty-modal-volunteer-info{padding:1rem!important}.duty-modal-volunteer-info>div{grid-template-columns:1fr!important;gap:.75rem!important}}@media(max-width:768px){.admin-table-wrapper{overflow-x:visible;-webkit-overflow-scrolling:touch;margin:0;padding:0;background:transparent}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr{display:block;width:100%}.admin-table tr{margin-bottom:1.25rem;border:2px solid #e2e8f0;border-radius:10px;padding:1.25rem;background:#fff;box-shadow:0 2px 4px #0000000d}.admin-table td{display:block;padding:.75rem 0;border:none;text-align:left;border-bottom:1px solid #f7fafc;min-height:auto;width:100%}.admin-table td:last-child{border-bottom:none}.admin-table td:before{content:attr(data-label);display:block;font-weight:600;color:#4a5568;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.admin-table td{font-size:1rem;line-height:1.5;color:#1a202c}.admin-table td div{display:block!important;margin:.25rem 0;width:100%}.admin-table td.actions-cell{padding-top:1rem;margin-top:.5rem;border-top:2px solid #e2e8f0}.admin-table td.actions-cell:before{content:"";display:none}.admin-table td.actions-cell button{width:100%;margin-bottom:.5rem}.admin-table td.actions-cell button:last-child{margin-bottom:0}.duty-status-badge{display:inline-block;padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:600}.admin-table td>div{display:flex!important;flex-direction:column;gap:.5rem;width:100%}.admin-table td>div>button{width:100%}.admin-table td>div[style*=fontWeight]{font-weight:600!important;margin-bottom:.25rem;display:block!important}.admin-table td>div[style*="fontSize: 0.875rem"],.admin-table td>div[style*="fontSize: '0.875rem'"]{font-size:.875rem!important;color:#718096!important;margin-top:.375rem;display:block!important}.admin-table tr{position:relative}.admin-table tr:after{content:"";display:block;height:1px;background:#e2e8f0;margin:.75rem -1.25rem 0}.admin-table tr:last-child:after{display:none}}@media(max-width:768px){.date-header-section{padding:.875rem 1rem!important;margin:0 0 1rem!important;display:flex!important;align-items:center!important;gap:.75rem!important;flex-wrap:wrap}.date-header-section span:first-child{font-size:1.5rem!important}.date-header-section span:nth-child(2){font-size:.9rem!important;flex:1}.date-header-count{font-size:.75rem!important;padding:.375rem .75rem!important;white-space:nowrap}}@media(max-width:480px){.date-header-section{padding:.75rem!important}.date-header-section span:nth-child(2){font-size:.875rem!important;flex:1 1 100%;order:2}.date-header-count{order:3}}@media(max-width:768px){.form-group{margin-bottom:1rem}.form-group label{font-size:.875rem;margin-bottom:.375rem}.admin-filter-select,.form-control{padding:.75rem;font-size:1rem}}@media(max-width:768px){.page-controls-container{padding:1rem}.admin-card-header h2{font-size:1.5rem}.admin-card-header h3{font-size:1.25rem}}@media(max-width:768px){.volunteer-info-card{padding:1rem!important;margin-bottom:1rem!important}.volunteer-info-card p{font-size:.875rem!important}.volunteer-info-grid{grid-template-columns:1fr!important;gap:.75rem!important}}@media(max-width:768px){.duty-status-badge{font-size:.75rem;padding:.375rem .625rem}}@media(max-width:768px){.loading-spinner{width:24px;height:24px}}@media(max-width:768px){.empty-state{padding:2rem 1rem!important}.empty-state h3{font-size:1.25rem}.empty-state p{font-size:.875rem}}@media(max-width:768px){button,.btn-primary,.btn-secondary,.btn-warning{min-height:44px;padding:.75rem 1.5rem;font-size:1rem}.btn-primary:active,.btn-secondary:active,.btn-warning:active{transform:scale(.98)}}@media(max-width:768px){.modal-body{max-height:calc(100vh - 180px);overflow-y:auto;overflow-x:hidden;padding:1.25rem}.modal-body,.admin-table-wrapper{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.modal-body>*{max-width:100%;overflow-wrap:break-word}.modal-body .admin-table-wrapper{margin:0;padding:0;overflow-x:auto}}@media(max-width:768px){.admin-table td,.admin-table td div,.admin-table td span,.modal-body div,.modal-body p{visibility:visible!important;opacity:1!important}.admin-table tr,.modal-content,.admin-card{overflow:visible}.admin-table-wrapper::-webkit-scrollbar{height:6px}.admin-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.admin-table-wrapper::-webkit-scrollbar-track{background:#f7fafc}}@media(max-width:768px){input:focus,select:focus,textarea:focus{font-size:16px}}@media(max-width:768px)and (orientation:landscape){.modal-content{max-height:calc(100vh - 2rem)}.modal-body{max-height:calc(100vh - 150px)}}@media(max-width:374px){.quick-option-btn{font-size:.7rem;padding:.5rem .375rem}.modal-header h3{font-size:1.125rem}.date-range-label{font-size:.8125rem}}@media(min-width:768px)and (max-width:1024px){.modal-content{max-width:90%!important}.date-range-inputs{flex-direction:row}.quick-option-btn{flex:0 1 auto}}@media(max-width:768px){.scanner-page-container{padding:.5rem}.scanner-active-header{padding:1rem;margin-bottom:1rem}.scanner-active-header h2{font-size:1.5rem;margin-bottom:.5rem}.scanner-active-header p{font-size:.875rem;line-height:1.5}.scanner-viewfinder{min-height:300px;border-radius:12px;overflow:hidden}.scanner-controls-bar{padding:.75rem;gap:.75rem;flex-wrap:wrap}.scanner-control-btn{min-width:44px;min-height:44px;padding:.75rem}.zoom-slider-container{flex:1 1 100%;min-width:200px}.scan-log-container{padding:1rem;margin-top:1rem}.scan-log-container h3{font-size:1.25rem;margin-bottom:1rem}.scan-log-item{padding:1rem;margin-bottom:.75rem;border-radius:8px;display:flex;gap:.75rem;align-items:flex-start}.scan-log-icon{font-size:1.5rem;flex-shrink:0}.scan-log-details{flex:1;min-width:0}.scan-log-name{font-size:1rem;font-weight:600;margin-bottom:.25rem;word-wrap:break-word}.scan-log-message{font-size:.875rem;line-height:1.5;word-wrap:break-word}.scan-log-time{font-size:.75rem;white-space:nowrap;flex-shrink:0;align-self:flex-start}}@media(max-width:480px){.scan-log-item{flex-direction:column;align-items:stretch}.scan-log-time{align-self:flex-end;margin-top:.5rem}}@media print{.date-range-picker,.search-bar-container,.modal-overlay,button:not(.print-only){display:none!important}}.date-range-picker{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.date-range-label{font-size:.875rem;font-weight:600;color:#2d3748;margin-bottom:.25rem}.date-range-inputs{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:140px}.date-input-label{font-size:.75rem;font-weight:500;color:#718096;text-transform:uppercase;letter-spacing:.05em}.date-input{padding:.5rem .75rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.875rem;color:#2d3748;background-color:#fff;transition:all .2s;font-family:inherit}.date-input:hover{border-color:#a0aec0}.date-input:focus{outline:none;border-color:#00a99d;box-shadow:0 0 0 3px #00a99d1a}.date-range-separator{display:flex;align-items:center;color:#a0aec0;font-size:1.25rem;padding-bottom:.5rem}.date-range-quick-options{display:flex;gap:.5rem;flex-wrap:wrap}.quick-option-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#4a5568;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-option-btn:hover{background-color:#edf2f7;border-color:#cbd5e0;color:#2d3748}.quick-option-btn:active{background-color:#e2e8f0;transform:scale(.98)}@media(max-width:640px){.date-range-inputs{flex-direction:column;align-items:stretch;gap:.75rem}.date-input-group{min-width:100%}.date-range-separator{transform:rotate(90deg);padding:0;margin:-.5rem 0}.date-range-quick-options{justify-content:stretch}.quick-option-btn{flex:1;min-width:calc(50% - .25rem);text-align:center}}@media(prefers-color-scheme:dark){.date-range-label,.date-input{color:#e2e8f0}.date-input{background-color:#2d3748;border-color:#4a5568}.date-input:hover{border-color:#718096}.quick-option-btn{color:#e2e8f0;background-color:#2d3748;border-color:#4a5568}.quick-option-btn:hover{background-color:#4a5568;border-color:#718096}}.bulk-attendance-container{padding:1rem;max-width:100%}.matrix-filters{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0;margin-top:1rem}.matrix-scroll-wrapper{overflow-x:auto;overflow-y:visible;margin:1rem 0;border-radius:8px;border:1px solid #e2e8f0}.attendance-matrix-table{width:100%;border-collapse:separate;border-spacing:0;min-width:800px;background:#fff}.attendance-matrix-table thead th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;padding:1rem .75rem;text-align:center;position:sticky;top:0;z-index:10;border-bottom:2px solid #5a67d8;font-size:.875rem}.attendance-matrix-table thead th.sticky-col{position:sticky;left:0;z-index:20}.attendance-matrix-table tbody td.sticky-col{position:sticky;left:0;background:#fff;z-index:5;border-right:2px solid #e2e8f0}.attendance-matrix-table .volunteer-col{min-width:200px;max-width:250px;text-align:left}.attendance-matrix-table .date-col{min-width:100px;white-space:nowrap}.attendance-matrix-table .action-col{min-width:120px}.attendance-matrix-table tbody tr{border-bottom:1px solid #e2e8f0}.attendance-matrix-table tbody tr:hover{background:#f7fafc}.attendance-matrix-table tbody td{padding:.75rem;text-align:center;vertical-align:middle;transition:all .2s ease}.volunteer-info{display:flex;flex-direction:column;gap:.25rem}.volunteer-name{font-weight:600;color:#1a202c;font-size:.9375rem}.volunteer-phone{font-size:.8125rem;color:#6b7280}.pending-badge{display:inline-block;background:#fef3c7;color:#d97706;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:12px;margin-top:.25rem}.status-cell{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:all .2s ease}.status-cell:hover:not(.status-no-duty):not(.processing){transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.status-cell.processing{opacity:.6;cursor:wait}.status-icon{font-size:1.5rem;line-height:1;margin-bottom:.25rem}.status-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-cell.status-checked{background:#d1fae5;color:#065f46}.status-cell.status-checked:hover{background:#a7f3d0}.status-cell.status-pending{background:#fef3c7;color:#92400e}.status-cell.status-pending:hover{background:#fde68a}.status-cell.status-partial{background:#dbeafe;color:#1e40af}.status-cell.status-partial:hover{background:#bfdbfe}.status-cell.status-absent{background:#fee2e2;color:#991b1b}.status-cell.status-absent:hover{background:#fecaca}.status-cell.status-no-duty{background:#f3f4f6;color:#9ca3af;cursor:pointer;border:2px dashed #D1D5DB}.status-cell.status-no-duty:hover{background:#e5e7eb;border-color:#9ca3af;transform:scale(1.05)}.bulk-action-btn{margin-top:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;background:#fff;color:#667eea;border:1px solid white;border-radius:4px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.025em}.bulk-action-btn:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-action{padding:.5rem 1rem;font-size:.8125rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.025em}.btn-checkin-all{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-checkin-all:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.matrix-legend{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.5rem;background:#f8f9fa;border-top:2px solid #e2e8f0;border-radius:0 0 8px 8px;flex-wrap:wrap}.legend-title{font-weight:600;color:#4a5568;font-size:.875rem}.legend-items{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#6b7280}.legend-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;font-size:1rem;font-weight:600}.legend-icon.status-checked{background:#d1fae5;color:#065f46}.legend-icon.status-pending{background:#fef3c7;color:#92400e}.legend-icon.status-partial{background:#dbeafe;color:#1e40af}.legend-icon.status-absent{background:#fee2e2;color:#991b1b}.legend-icon.status-no-duty{background:#f3f4f6;color:#9ca3af}@media(max-width:768px){.bulk-attendance-container{padding:.5rem}.matrix-filters{padding:1rem}.attendance-matrix-table{font-size:.8125rem}.attendance-matrix-table .volunteer-col{min-width:150px;max-width:180px}.attendance-matrix-table .date-col{min-width:80px}.volunteer-name{font-size:.875rem}.volunteer-phone{font-size:.75rem}.status-icon{font-size:1.25rem}.status-label{font-size:.6875rem}.matrix-legend{gap:1rem;padding:.75rem 1rem}.legend-items{gap:1rem}.legend-item{font-size:.75rem}.legend-icon{width:28px;height:28px;font-size:.875rem}}@media(max-width:480px){.attendance-matrix-table thead th{padding:.75rem .5rem;font-size:.8125rem}.attendance-matrix-table tbody td{padding:.5rem}.bulk-action-btn{padding:.25rem .5rem;font-size:.6875rem}.btn-checkin-all{padding:.375rem .75rem;font-size:.75rem}.matrix-legend{flex-direction:column;align-items:flex-start;gap:.75rem}.legend-items{width:100%;justify-content:space-between}}.matrix-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state h3{color:#1a202c;margin-bottom:.75rem;font-size:1.25rem}.empty-state p{color:#6b7280;font-size:.9375rem;margin-bottom:.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-cell.processing{animation:pulse 1.5s ease-in-out infinite}@media print{.matrix-filters,.bulk-action-btn,.btn-checkin-all{display:none}.attendance-matrix-table{page-break-inside:avoid}.status-cell{cursor:default;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
