*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f0fdf4,#dcfce7);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.login-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:420px;padding:48px;text-align:center;width:100%}.logo-section{margin-bottom:40px}.logo{margin-bottom:16px}.tagline{color:#6b7280;font-size:18px;font-weight:400;margin:0}.input-group,.login-form{margin-bottom:32px}.input-group{text-align:left}.input-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.passcode-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;font-family:Inter,monospace;font-size:24px;font-weight:600;letter-spacing:.2em;outline:none;padding:16px 20px;text-align:center;transition:all .2s ease;width:100%}.passcode-input:focus{background:#fff;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.passcode-input.error{background:#fef2f2;border-color:#ef4444}.passcode-input:disabled{cursor:not-allowed;opacity:.6}.error-message{margin-bottom:0;margin-top:8px}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button.loading{cursor:not-allowed}.loading-spinner{border:2px solid #ffffff4d}.help-text{color:#6b7280;font-size:14px;line-height:1.5}.help-text p{margin:0}@media (max-width:480px){.login-card{margin:16px;padding:32px 24px}.logo-text{font-size:40px}.passcode-input{font-size:20px;padding:14px 16px}}.new-user-section{flex-direction:column;margin-top:24px;text-align:center}.button-row,.new-user-section{display:flex;gap:12px;justify-content:center}.button-row{flex-wrap:wrap;width:100%}.forgot-code-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;display:inline-block;flex:1 1;font-size:14px;font-weight:600;min-width:0;padding:12px 24px;text-decoration:none;transition:all .2s ease}.forgot-code-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translateY(-1px)}.forgot-code-button:active{transform:translateY(0)}.new-user-button-full{background:#0000;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#6b7280;cursor:pointer;display:block;font-size:14px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s ease;width:100%}.new-user-button-full:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translateY(-1px)}.new-user-button-full:active{transform:translateY(0)}.admin-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;display:inline-block;flex:1 1;font-size:14px;font-weight:600;min-width:0;padding:12px 24px;text-decoration:none;transition:all .2s ease}.admin-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translateY(-1px)}.admin-button:active{transform:translateY(0)}.qr-login-button{background:#ecfdf5;border:2px solid #10b981;border-radius:12px;color:#059669;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.qr-login-button:hover{background:#d1fae5;border-color:#059669;color:#047857}.qr-login-button-full{box-sizing:border-box;margin-top:8px;width:100%}.modal-content{max-width:420px}.modal-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px}.modal-body .form-group{margin-bottom:0}.modal-body .form-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .2s;width:100%}.modal-body .form-input:focus{border-color:#22c55e;outline:none}.modal-success p{font-size:16px;font-weight:500;line-height:1.5}.required-star{font-weight:700}.success-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.success-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:480px;padding:36px;text-align:center;width:100%}.success-container .success-icon{color:#22c55e;display:flex;justify-content:center;margin-bottom:12px!important}.success-container .success-content{margin-bottom:24px;margin-top:0;min-height:auto!important;padding:0!important}.success-container .success-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;background-clip:text;color:#1f2937;font-size:26px;font-weight:700;margin-bottom:8px}.success-message{color:#6b7280;font-size:16px;line-height:1.6;margin:0}.success-actions{margin-bottom:24px;margin-top:-8px}.action-buttons{flex-direction:column;margin-bottom:16px}.action-button{-webkit-appearance:none!important;appearance:none!important;background:none!important;border:none!important;border-radius:16px!important;box-sizing:border-box!important;cursor:pointer!important;display:inline-block!important;font-size:20px!important;font-weight:700!important;letter-spacing:1px!important;min-width:200px!important;outline:none!important;overflow:hidden!important;padding:20px 40px!important;position:relative!important;text-decoration:none!important;text-transform:uppercase!important;transition:all .3s ease!important;width:100%!important}.checkin-button{background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 8px 20px #22c55e4d!important;color:#fff!important}.checkin-button:hover{box-shadow:0 12px 24px #22c55e66!important;transform:translateY(-3px)!important}.liability-button{background:linear-gradient(135deg,#6b7280,#4b5563)!important;color:#fff!important}.liability-button:hover{box-shadow:0 8px 20px #6b72804d!important;transform:translateY(-1px)!important}.liability-button.expired{animation:pulse-red 2s infinite;background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important}.liability-button.expired:hover{box-shadow:0 8px 20px #dc262666!important;transform:translateY(-1px)!important}@keyframes pulse-red{0%,to{box-shadow:0 0 0 0 #dc262666}50%{box-shadow:0 0 0 8px #dc262600}}.print-badge-button{background:#fff!important;border:2px solid #d1d5db!important;color:#4b5563!important}.print-badge-button:hover:not(:disabled){background:#f9fafb!important;border-color:#9ca3af!important;box-shadow:0 8px 20px #6b728033!important;transform:translateY(-1px)!important}.print-badge-button.loading{color:#9ca3af!important;cursor:wait!important;opacity:.8!important}.print-badge-button.success{background:linear-gradient(135deg,#22c55e,#16a34a)!important;border-color:#22c55e!important;color:#fff!important}.print-badge-button.error{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border-color:#ef4444!important;color:#fff!important}.print-badge-button:disabled{cursor:not-allowed!important}.print-error-message{color:#ef4444;font-size:14px;margin-top:8px;text-align:center}.print-success-message{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:16px;padding:24px 32px;text-align:center}.print-success-text{color:#fff;font-size:22px;font-weight:700;margin:0 0 8px}.print-countdown-text{color:#ffffffe6;font-size:16px;font-weight:500;margin:0}.action-button:active{transform:translateY(0)}.logout-button{border:2px solid #22c55e;color:#22c55e;margin-top:32px;padding:12px 32px}.logout-button:hover{box-shadow:none;transform:none}.success-footer{border-top:1px solid #e5e7eb;padding-top:24px}.footer-text{color:#9ca3af;font-size:14px;font-style:italic;margin:0}@media (max-width:480px){.success-card{margin:16px;padding:25px 20px}.success-title{font-size:28px}.success-message{font-size:15px}}.modal-content{max-width:450px;overflow:hidden}.modal-header{padding:20px 24px}.modal-header h2{font-size:20px;font-weight:600}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:0}.modal-close:hover{color:#374151}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.modal-body .form-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 16px;transition:border-color .2s;width:100%}.modal-body .form-select:focus{border-color:#22c55e;outline:none}.modal-body .form-textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;resize:vertical;transition:border-color .2s;width:100%}.modal-body .form-textarea:focus{border-color:#22c55e;outline:none}.modal-error{color:#ef4444;font-size:14px;margin-top:12px}.modal-body .required-star{color:#ef4444;font-weight:700}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.modal-cancel-button{background:#0000;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.modal-cancel-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.modal-cancel-button:disabled{cursor:not-allowed;opacity:.6}.modal-send-button{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.modal-send-button:hover:not(:disabled){box-shadow:0 4px 12px #22c55e4d;transform:translateY(-1px)}.modal-send-button:disabled{cursor:not-allowed;opacity:.6}.modal-success{padding:40px 24px;text-align:center}.modal-success .success-checkmark{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;color:#fff;display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.modal-success p{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-body .modal-description{color:#4b5563;font-size:14px;margin:0 0 12px;text-align:center}.modal-body .form-hints{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px 16px}.modal-body .form-hints p{color:#6b7280;font-size:13px;line-height:1.4;margin:4px 0}.modal-body .form-hints p strong{color:#6b7280}.history-modal-content{display:flex;flex-direction:column;max-height:min(80vh,560px);max-width:420px}.history-modal-header{justify-content:center;position:relative}.history-modal-header h2{padding:0 36px;text-align:center;width:100%}.history-modal-header .modal-close{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.history-list{-webkit-overflow-scrolling:touch;flex:1 1;max-height:min(60vh,420px);min-height:180px;overflow-y:auto;padding:8px 0}.history-day{border-bottom:1px solid #f3f4f6;padding:14px 20px;text-align:left}.history-day:last-of-type{border-bottom:none}.history-date{color:#1f2937;font-size:15px;font-weight:700;margin-bottom:6px}.history-day-entries{display:flex;flex-direction:column;gap:6px}.history-entry{align-items:baseline;color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:0 4px;line-height:1.4}.history-hours{color:#16a34a;font-weight:600;white-space:nowrap}.history-times{color:#6b7280;white-space:nowrap}.history-sep{color:#d1d5db}.history-position{color:#4b5563}.history-status{color:#9ca3af;font-size:14px;padding:20px 24px;text-align:center}.history-status.history-error{color:#ef4444}.history-status.history-end{font-size:13px;padding-bottom:16px;padding-top:12px}@media (max-width:480px){.history-modal-content{max-height:85vh}.history-list{max-height:65vh}.history-day{padding:12px 16px}}.checkin-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.checkin-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:600px;padding:48px;text-align:center;width:100%}.checkin-header{margin-bottom:40px}.checkin-header .logo{margin-bottom:24px}.checkin-header .logo-image{height:150px!important;max-height:none!important;max-width:350px!important;object-fit:contain;width:auto!important}.checkin-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:16px}.current-time{background:#f3f4f6;border-radius:12px;color:#6b7280;display:inline-block;font-size:18px;font-weight:500;padding:12px 24px}.checkin-content{margin-bottom:40px}.error-message{margin-bottom:24px}.status-section{margin-bottom:32px}.checkin-content .status-indicator{align-items:center;border-radius:16px;box-sizing:border-box;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:flex-start;margin-bottom:24px;padding:20px;width:100%}.checkin-content .status-indicator.checked-in{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e;color:#166534}.checkin-content .status-indicator.checked-out{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;color:#92400e}.status-dot{animation:pulse 2s infinite;background:currentColor;border-radius:50%;flex-shrink:0;height:12px;width:12px}.checkin-content .status-indicator .status-text{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.time-info{background:#f8fafc;border-radius:12px;padding:20px;text-align:left}.time-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.time-item:last-child{border-bottom:none}.time-label{color:#374151;font-weight:600}.time-value{color:#6b7280;font-family:Courier New,monospace}.action-section{margin-bottom:32px}.auto-logout-message{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e;border-radius:16px;padding:24px;text-align:center}.auto-logout-message p{color:#166534;font-size:20px;font-weight:600;margin:0}.auto-logout-message .countdown-text{color:#15803d;font-size:16px;font-weight:500;margin-top:12px}.checkin-content .action-button{background:none;border:none;border-radius:16px;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;overflow:hidden;padding:20px 40px;position:relative;text-transform:uppercase;transition:all .3s ease}.checkin-content .checkin-button{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 8px 20px #22c55e4d;color:#fff}.checkin-content .checkin-button:hover:not(:disabled){box-shadow:0 12px 24px #22c55e66;transform:translateY(-3px)}.checkin-content .checkout-button{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:none!important;box-shadow:0 8px 20px #ef44444d;color:#fff!important;outline:none}.checkin-content .checkout-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)!important;box-shadow:0 12px 24px #ef444466;transform:translateY(-3px)}.checkin-content .action-button.checkout-button{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:none!important;color:#fff!important}.checkin-content .action-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.checkin-content .action-button:active:not(:disabled){transform:translateY(0)}.loading-spinner{border:3px solid #ffffff4d}.checkin-footer{border-top:1px solid #e5e7eb;padding-top:24px}.checkin-footer .back-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;box-shadow:none;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transform:none;transition:all .2s ease}.checkin-footer .back-button:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:none;color:#374151;transform:none}@media (max-width:640px){.checkin-card{margin:16px;padding:32px 24px}.checkin-title{font-size:24px}.action-button{font-size:18px;min-width:160px;padding:16px 32px}.time-item{align-items:flex-start;flex-direction:column;gap:4px}}.work-location-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin:24px 0;padding:20px}.radio-group{display:flex;gap:24px;justify-content:center;margin-top:12px}.radio-label{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:12px 24px;transition:all .2s ease}.radio-label:hover{background:#f0fdf4;border-color:#22c55e}.radio-label input[type=radio]{accent-color:#22c55e;cursor:pointer;height:18px;width:18px}.radio-label input[type=radio]:checked+.radio-text{color:#16a34a;font-weight:600}.radio-label:has(input[type=radio]:checked){background:#f0fdf4;border-color:#22c55e}.radio-text{color:#374151;font-size:16px;font-weight:500}.task-selection-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin:24px 0;padding:20px}.task-label{display:block;font-weight:600;margin-bottom:8px}.task-label,.task-select{color:#374151;font-size:16px}.task-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:12px 16px;transition:all .2s ease;width:100%}.task-select:focus{border-color:#16a34a;box-shadow:0 0 0 3px #22c55e1a;outline:none}.current-task-section{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:12px;display:flex;flex-direction:column;gap:16px;margin:24px 0;padding:20px}.current-task{align-items:center;display:flex;gap:12px}.current-task .task-label{color:#16a34a;font-weight:600;margin-bottom:0;min-width:120px;text-align:left}.current-task-section .task-name{background:#dcfce7;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:16px;font-weight:500;padding:6px 12px}.past-time-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin:24px 0;padding:20px;text-align:left}.past-time-toggle{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;font-family:inherit;font-size:16px;justify-content:space-between;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.past-time-toggle:hover{border-color:#cbd5e1}.past-time-section.open .past-time-toggle{border-color:#16a34a;box-shadow:0 0 0 3px #22c55e1f;color:#166534}.past-time-toggle-label{font-weight:500}.past-time-chevron{color:#9ca3af;font-size:14px}.past-time-fields{animation:past-time-expand .2s ease;display:flex;flex-direction:column;gap:4px;margin-top:16px}@keyframes past-time-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.past-time-fields .task-label{margin-top:8px}.past-time-fields .task-label:first-child{margin-top:0}.past-date-input,.past-time-field{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;text-align:left}.past-time-duration{color:#16a34a;font-size:14px;font-weight:600;margin:12px 0 0;text-align:center}.auto-logout-message.past-logged{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e}.auto-logout-message.past-logged .countdown-text,.auto-logout-message.past-logged p{color:#166534}.time-sheet-overlay{align-items:flex-end;background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.time-sheet{animation:time-sheet-up .28s ease;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px #0f172a33;max-width:600px;padding:8px 16px calc(20px + env(safe-area-inset-bottom, 0px));width:100%}@keyframes time-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.time-sheet-handle{background:#d1d5db;border-radius:999px;height:4px;margin:6px auto 10px;width:40px}.time-sheet-header{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:8px}.time-sheet-title{color:#1f2937;font-size:16px;font-weight:700}.time-sheet-cancel,.time-sheet-done{background:none;border:none;cursor:pointer;font-family:inherit;font-size:16px;padding:8px 4px}.time-sheet-cancel{color:#6b7280;justify-self:start}.time-sheet-done{color:#16a34a;font-weight:700;justify-self:end}.time-sheet-wheels{display:flex;height:220px;margin-top:8px;position:relative}.time-sheet-highlight{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;height:44px;left:8px;margin-top:-22px;pointer-events:none;position:absolute;right:8px;top:50%;z-index:0}.time-wheel-col{-webkit-overflow-scrolling:touch;flex:1 1;height:220px;mask-image:linear-gradient(180deg,#0000,#000 18%,#000 82%,#0000);-webkit-mask-image:linear-gradient(180deg,#0000,#000 18%,#000 82%,#0000);overflow-y:auto;position:relative;scroll-snap-type:y mandatory;scrollbar-width:none;z-index:1}.time-wheel-col::-webkit-scrollbar{display:none}.time-wheel-spacer{flex-shrink:0;height:88px}.time-wheel-item{align-items:center;color:#9ca3af;cursor:pointer;display:flex;font-size:22px;font-weight:500;height:44px;justify-content:center;scroll-snap-align:center;-webkit-user-select:none;user-select:none}.time-wheel-item.selected{color:#1f2937;font-weight:700}@media (max-width:768px){.current-task-section,.past-time-section,.task-selection-section,.work-location-section{margin:16px 0;padding:16px}.radio-group{flex-direction:column;gap:12px}.radio-label{justify-content:center}.task-select{font-size:14px;padding:10px 12px}.current-task{align-items:flex-start;flex-direction:column;gap:8px}}.new-user-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:20px}.new-user-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;margin:20px 0;max-width:600px;padding:32px;text-align:center;width:100%}.new-user-header{margin-bottom:40px}.new-user-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:16px}.new-user-subtitle{color:#6b7280;font-size:16px;line-height:1.6;margin:0}.form-hints{background:#f9fafb;border-radius:8px;color:#6b7280;font-size:13px;margin-top:16px;padding:12px 16px;text-align:left}.form-hints p{margin:4px 0}.required-star{color:#ef4444;font-weight:600}.registration-form{margin-bottom:32px;text-align:left}.minor-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:20px;padding:12px}.minor-notice p{color:#92400e;font-size:14px;font-weight:500;margin:0}.pin-success{background:#f0fdf4;border:2px solid #22c55e;border-radius:12px;margin-bottom:20px;padding:20px}.pin-success p{color:#166534;margin:0 0 16px}.login-button,.pin-success p{font-size:16px;font-weight:600}.login-button{background:#fff;border:2px solid #22c55e;border-radius:12px;color:#22c55e;cursor:pointer;padding:16px 24px;transition:all .2s ease;width:100%}.login-button:hover{background:#22c55e;color:#fff;transform:translateY(-1px)}.new-user-footer{border-top:1px solid #e5e7eb;padding-top:24px}@media (max-width:768px){.new-user-container{align-items:flex-start;padding:10px}.new-user-card{margin:10px 0;max-width:100%;padding:24px 20px}.form-row{gap:0;grid-template-columns:1fr}.form-input,.form-select{font-size:16px;padding:14px}.submit-button{font-size:16px;padding:16px 20px}}@media (max-width:480px){.new-user-card{border-radius:16px;padding:20px 16px}.new-user-title{font-size:24px}.form-input,.form-select{font-size:16px;padding:12px}.form-group label{font-size:14px}}.dependents-card{max-width:640px}.dependents-empty,.dependents-status{color:#6b7280;margin:0 0 24px}.dependents-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;text-align:left}.dependent-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px 18px}.dependent-name{color:#166534;font-size:18px;font-weight:700;margin-bottom:6px}.dependent-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:14px;font-weight:500;gap:12px 20px}.emergency-contact-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:20px}.emergency-contact-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;margin:20px 0;max-width:700px;padding:32px;text-align:center;width:100%}.emergency-contact-header{margin-bottom:40px}.emergency-contact-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:16px}.emergency-contact-subtitle{color:#6b7280;font-size:16px;line-height:1.6;margin:0}.current-info-section{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;margin-bottom:32px;padding:24px;text-align:left}.current-info-title{color:#1f2937;font-size:20px;font-weight:700;margin-bottom:20px;text-align:center}.current-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.info-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 0}.info-item:last-child{border-bottom:none}.info-label{color:#374151;font-size:16px;font-weight:600}.info-value{color:#1f2937;font-size:16px;font-weight:500}.update-form{margin-bottom:32px;text-align:left}.form-divider{margin:32px 0 24px}.divider-line{background:linear-gradient(90deg,#0000,#e5e7eb,#0000)}.divider-text{background:#fff;font-size:16px;margin:0 20px}.form-row{grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:20px}.form-group label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.form-input,.form-select{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:18px;padding:16px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{background:#fff;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.submit-button{margin-bottom:20px}.emergency-contact-footer{border-top:1px solid #e5e7eb;padding-top:24px}.loading-spinner-large{animation:spin 1s linear infinite;border:6px solid #22c55e4d;border-radius:50%;border-top-color:#22c55e;height:48px;margin:0 auto 20px;width:48px}.loading-spinner{height:24px;width:24px}@media (max-width:768px){.emergency-contact-container{align-items:flex-start;padding:10px}.emergency-contact-card{margin:10px 0;max-width:100%;padding:24px 20px}.form-row{gap:0;grid-template-columns:1fr}.form-input,.form-select{font-size:16px;padding:14px}.submit-button{font-size:16px;padding:16px 20px}.current-info-grid{gap:12px}.info-item{align-items:flex-start;flex-direction:column;gap:4px}}@media (max-width:480px){.emergency-contact-card{border-radius:16px;padding:20px 16px}.emergency-contact-title{font-size:24px}.form-input,.form-select{font-size:16px;padding:12px}.form-group label{font-size:14px}}.admin-login-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:450px;padding:40px;text-align:center;width:100%}.admin-login-header{margin-bottom:40px}.admin-login-title{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:16px}.admin-login-subtitle{color:#6b7280;font-size:16px;line-height:1.6}.admin-login-form{margin-bottom:12px}.form-group{margin-bottom:24px;text-align:left}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:16px;padding:16px 20px;transition:all .2s ease;width:100%}.form-input:focus{background:#fff;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.form-input::placeholder{color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;margin-bottom:20px}.submit-button{margin-bottom:0}.submit-button:disabled{transform:none}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff;margin:0 auto}.admin-login-footer{align-items:center;display:flex;flex-direction:column;gap:0;text-align:center}.qr-login-button{background:#fff;border:2px solid #d1d5db;border-radius:16px;box-sizing:border-box;color:#4b5563;cursor:pointer;display:inline-block;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;padding:20px 40px;text-decoration:none;text-transform:uppercase;transition:all .3s ease;width:100%}.qr-login-button:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 8px 20px #6b728033;color:#4b5563;transform:translateY(-1px)}.qr-login-button:active{transform:translateY(0)}.back-button{margin-top:28px}.back-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#374151;transform:translateY(-1px)}.back-button:active{transform:translateY(0)}.back-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.admin-login-container{padding:16px}.admin-login-card{padding:32px 24px}.admin-login-title{font-size:24px}.admin-login-subtitle{font-size:14px}.form-input{font-size:16px;padding:14px 16px}.qr-login-button,.submit-button{font-size:16px;padding:16px 20px}}@media (max-width:480px){.admin-login-card{padding:24px 20px}.logo-text{font-size:32px}.admin-login-title{font-size:22px}.form-group{margin-bottom:20px}.form-input{padding:12px 14px}.qr-login-button,.submit-button{font-size:15px;padding:14px 18px}}.admin-panel-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:20px}.admin-panel-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;margin:20px 0;max-width:1000px;padding:40px;text-align:center;width:100%}.admin-panel-header{margin-bottom:40px}.admin-panel-title{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:16px}.admin-panel-subtitle{color:#6b7280;font-size:18px;line-height:1.6}.admin-panel-content{margin-bottom:40px}.admin-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:24px;text-align:left}.admin-info h2{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:12px}.admin-info p{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:8px}.admin-info p:last-child{margin-bottom:0}.admin-actions{margin-bottom:32px}.action-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.action-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:24px;text-align:left;transition:all .2s ease}.action-card:hover{box-shadow:0 4px 12px #22c55e1a;transform:translateY(-2px)}.action-card h3{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:8px}.action-card p{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:16px}.action-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:not-allowed;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease;width:100%}.action-button:disabled{cursor:not-allowed;opacity:.6}.admin-panel-footer{border-top:1px solid #e5e7eb;padding-top:20px;text-align:center}.logout-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;box-shadow:none;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.logout-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.logout-button:active{transform:translateY(0)}@media (max-width:768px){.admin-panel-container{padding:16px}.admin-panel-card{padding:32px 24px}.admin-panel-title{font-size:28px}.admin-panel-subtitle{font-size:16px}.action-grid{gap:16px;grid-template-columns:1fr}.action-card{padding:20px}}@media (max-width:480px){.admin-panel-card{padding:24px 20px}.logo-text{font-size:32px}.admin-panel-title{font-size:24px}.admin-info{padding:20px}.action-card{padding:16px}}.manage-volunteers-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.manage-volunteers-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1200px;padding:48px;text-align:center;width:100%}.manage-volunteers-header{margin-bottom:32px}.manage-volunteers-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.manage-volunteers-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.manage-volunteers-content{background:#0000;margin-bottom:32px;text-align:left}.volunteer-controls{margin-bottom:24px}.search-filter-section{align-items:flex-start}.action-buttons{align-items:stretch;flex-direction:row;flex-wrap:nowrap;justify-content:stretch;width:100%}.add-btn{all:unset;align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;justify-content:center;min-width:0;padding:12px 16px;text-align:center;transition:all .2s ease;white-space:nowrap;width:auto}.add-btn:hover{box-shadow:0 4px 12px #22c55e4d;transform:translateY(-1px)}.blank-badge-modal{max-width:480px;position:relative}.blank-badge-header{align-items:center;display:flex;justify-content:center;margin-bottom:16px;position:relative}.blank-badge-header h3{margin:0}.blank-badge-modal .modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:0;position:absolute;right:0;top:0}.blank-badge-modal .modal-close:hover{color:#374151}.blank-badge-actions{justify-content:center}.blank-badge-hint{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px;text-align:left}.notes-modal{max-width:560px;text-align:left}.notes-modal .blank-badge-header{align-items:flex-start;gap:12px;justify-content:space-between}.notes-modal .blank-badge-header h3{flex:1 1;margin:0;text-align:left}.notes-modal .modal-close{background:none;border:none;color:#6b7280;cursor:pointer;flex:0 0 auto;font-size:28px;line-height:1;padding:0;position:static}.notes-modal .modal-close:hover{color:#374151}.notes-list{display:flex;flex-direction:column;gap:12px;margin:0 0 20px;max-height:360px;overflow-y:auto}.note-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px}.note-body{color:#1f2937;font-size:15px;line-height:1.45;margin:0 0 8px;white-space:pre-wrap;word-break:break-word}.note-meta{color:#6b7280;font-size:13px;line-height:1.4;margin:0}.notes-empty{color:#6b7280;font-size:14px;margin:0 0 20px}.notes-composer label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.notes-composer textarea{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.45;min-height:96px;padding:12px;resize:vertical;width:100%}.notes-composer textarea:focus{border-color:#22c55e;outline:none}.notes-actions{justify-content:flex-end;margin-top:12px}.notes-save{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:12px 20px}.notes-save:disabled{cursor:not-allowed;opacity:.6}.import-btn{all:unset;align-items:center;background:#6b7280;border:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;justify-content:center;min-width:0;padding:12px 16px;text-align:center;transition:all .2s ease;white-space:nowrap;width:auto}.import-btn:hover{background:#4b5563;transform:translateY(-1px)}.form-error-message{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px;text-align:left}.volunteer-form-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.form-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:1000px;overflow-y:auto;padding:32px;width:100%}.form-content h3{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px;text-align:center}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{border-color:#22c55e;outline:none}.form-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:24px}.submit-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:16px;box-shadow:0 8px 20px #22c55e4d;color:#fff;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;overflow:hidden;padding:20px 40px;position:relative;text-transform:uppercase;transition:all .3s ease}.submit-btn:hover:not(:disabled){box-shadow:0 12px 24px #22c55e66;transform:translateY(-3px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:#0000;border:2px solid #e5e7eb;border-radius:16px;color:#6b7280;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;padding:20px 40px;text-transform:uppercase;transition:all .2s ease}.cancel-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.manage-volunteers-container .volunteers-list,.manage-volunteers-content .volunteers-list,.manage-volunteers-page .volunteers-list{all:unset;background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;display:block;margin:0!important;outline:none!important;overflow:visible!important;padding:0!important;text-align:left;width:100%}.manage-volunteers-container .volunteers-list h3,.manage-volunteers-content .volunteers-list h3,.manage-volunteers-page .volunteers-list h3{background:#0000!important;border:none!important;border-radius:0!important;color:#1f2937;font-size:20px;font-weight:600;margin:0 0 16px;padding:0!important;text-align:center}.manage-volunteers-content .volunteers-list-hint{color:#6b7280;font-size:14px;margin:-8px 0 16px;text-align:center}.manage-volunteers-container .volunteers-table,.manage-volunteers-content .volunteers-table,.manage-volunteers-page .volunteers-table{all:unset!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-sizing:border-box!important;contain:layout style!important;display:flex!important;flex-direction:column!important;margin:0!important;max-height:960px!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;padding:0!important;text-align:left!important;width:100%!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-header,.manage-volunteers-container .volunteers-table .table-header,.manage-volunteers-content .volunteers-list .volunteers-table .table-header,.manage-volunteers-content .volunteers-table .table-header,.manage-volunteers-page .volunteers-list .volunteers-table .table-header,.manage-volunteers-page .volunteers-table .table-header{grid-gap:16px!important;all:unset!important;align-items:center!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;box-sizing:border-box!important;color:#374151!important;display:grid!important;flex-shrink:0!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;gap:16px!important;grid-template-columns:1.7fr 3fr 1.5fr 1fr 1fr 1fr 2fr!important;margin:0!important;padding:16px!important;text-align:center!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-rows-container,.manage-volunteers-content .volunteers-table .table-rows-container,.manage-volunteers-page .volunteers-table .table-rows-container{max-height:900px!important;overflow-x:hidden!important;overflow-y:auto!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-actions,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-email,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-hours,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-name,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-passcode,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-phone,.manage-volunteers-container .volunteers-list .volunteers-table .table-header .col-status,.manage-volunteers-container .volunteers-list .volunteers-table .table-header>div,.manage-volunteers-container .volunteers-table .table-header .col-actions,.manage-volunteers-container .volunteers-table .table-header .col-email,.manage-volunteers-container .volunteers-table .table-header .col-hours,.manage-volunteers-container .volunteers-table .table-header .col-name,.manage-volunteers-container .volunteers-table .table-header .col-passcode,.manage-volunteers-container .volunteers-table .table-header .col-phone,.manage-volunteers-container .volunteers-table .table-header .col-status,.manage-volunteers-container .volunteers-table .table-header>div,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-actions,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-email,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-hours,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-name,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-passcode,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-phone,.manage-volunteers-content .volunteers-list .volunteers-table .table-header .col-status,.manage-volunteers-content .volunteers-list .volunteers-table .table-header>div,.manage-volunteers-content .volunteers-table .table-header .col-actions,.manage-volunteers-content .volunteers-table .table-header .col-email,.manage-volunteers-content .volunteers-table .table-header .col-hours,.manage-volunteers-content .volunteers-table .table-header .col-name,.manage-volunteers-content .volunteers-table .table-header .col-passcode,.manage-volunteers-content .volunteers-table .table-header .col-phone,.manage-volunteers-content .volunteers-table .table-header .col-status,.manage-volunteers-content .volunteers-table .table-header>div,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-actions,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-email,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-hours,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-name,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-passcode,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-phone,.manage-volunteers-page .volunteers-list .volunteers-table .table-header .col-status,.manage-volunteers-page .volunteers-list .volunteers-table .table-header>div,.manage-volunteers-page .volunteers-table .table-header .col-actions,.manage-volunteers-page .volunteers-table .table-header .col-email,.manage-volunteers-page .volunteers-table .table-header .col-hours,.manage-volunteers-page .volunteers-table .table-header .col-name,.manage-volunteers-page .volunteers-table .table-header .col-passcode,.manage-volunteers-page .volunteers-table .table-header .col-phone,.manage-volunteers-page .volunteers-table .table-header .col-status,.manage-volunteers-page .volunteers-table .table-header>div{all:unset!important;color:#374151!important;display:block!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;margin:0!important;padding:0!important;text-align:center!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-container .volunteers-table .table-row,.manage-volunteers-container .volunteers-table .table-rows-container .table-row,.manage-volunteers-content .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-content .volunteers-table .table-row,.manage-volunteers-content .volunteers-table .table-rows-container .table-row,.manage-volunteers-page .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-page .volunteers-table .table-row,.manage-volunteers-page .volunteers-table .table-rows-container .table-row{grid-gap:16px!important;all:unset!important;align-items:center!important;border-bottom:1px solid #f3f4f6!important;box-sizing:border-box!important;contain:layout style!important;display:grid!important;font-family:inherit!important;font-size:14px!important;gap:16px!important;grid-auto-columns:auto!important;grid-template-columns:1.7fr 3fr 1.5fr 1fr 1fr 1fr 2fr!important;margin:0!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;padding:16px!important;text-align:left!important;width:100%!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-rows-container .table-row:hover,.manage-volunteers-container .volunteers-table .table-rows-container .table-row:hover,.manage-volunteers-content .volunteers-list .volunteers-table .table-rows-container .table-row:hover,.manage-volunteers-content .volunteers-table .table-rows-container .table-row:hover,.manage-volunteers-page .volunteers-list .volunteers-table .table-rows-container .table-row:hover,.manage-volunteers-page .volunteers-table .table-rows-container .table-row:hover{background:#f9fafb!important;grid-template-columns:1.7fr 3fr 1.5fr 1fr 1fr 1fr 2fr!important}.manage-volunteers-container .volunteers-table .table-row .col-name,.manage-volunteers-content .volunteers-table .table-row .col-name,.manage-volunteers-page .volunteers-table .table-row .col-name{word-wrap:break-word!important;all:unset!important;box-sizing:border-box!important;color:#1f2937!important;display:block!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;overflow-wrap:break-word!important;width:100%!important}.minor-badge{background:#fef3c7;color:#92400e;display:inline-block;margin-left:8px}.manage-volunteers-container .volunteers-table .table-row .col-email,.manage-volunteers-content .volunteers-table .table-row .col-email,.manage-volunteers-page .volunteers-table .table-row .col-email{word-wrap:break-word!important;all:unset!important;box-sizing:border-box!important;color:#6b7280!important;display:block!important;font-family:inherit!important;font-size:14px!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;overflow-wrap:break-word!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-phone,.manage-volunteers-content .volunteers-table .table-row .col-phone,.manage-volunteers-page .volunteers-table .table-row .col-phone{all:unset!important;box-sizing:border-box!important;color:#6b7280!important;display:block!important;font-family:inherit!important;font-size:14px!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;white-space:nowrap!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-passcode,.manage-volunteers-content .volunteers-table .table-row .col-passcode,.manage-volunteers-page .volunteers-table .table-row .col-passcode{all:unset!important;box-sizing:border-box!important;color:#1f2937!important;display:block!important;font-family:monospace!important;font-size:14px!important;font-weight:600!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;text-align:center!important;white-space:nowrap!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-status,.manage-volunteers-content .volunteers-table .table-row .col-status,.manage-volunteers-page .volunteers-table .table-row .col-status{all:unset!important;box-sizing:border-box!important;color:#6b7280!important;display:block!important;font-family:inherit!important;font-size:13px!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;text-align:center!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-hours,.manage-volunteers-content .volunteers-table .table-row .col-hours,.manage-volunteers-page .volunteers-table .table-row .col-hours{all:unset!important;box-sizing:border-box!important;color:#6b7280!important;display:block!important;font-family:inherit!important;font-size:13px!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;text-align:center!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-actions,.manage-volunteers-content .volunteers-table .table-row .col-actions,.manage-volunteers-page .volunteers-table .table-row .col-actions{all:unset!important;align-self:stretch!important;box-sizing:border-box!important;contain:layout style!important;display:flex!important;flex-direction:column!important;gap:8px!important;margin:0!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;padding:0!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-header .col-actions,.manage-volunteers-content .volunteers-table .table-header .col-actions,.manage-volunteers-page .volunteers-table .table-header .col-actions{all:unset!important;color:#374151!important;display:block!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;margin:0!important;padding:0!important;text-align:center!important;text-transform:none!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn{all:unset!important;border:none!important;border-radius:6px!important;box-sizing:border-box!important;cursor:pointer!important;display:block!important;font-family:inherit!important;font-size:12px!important;font-weight:500!important;margin:0!important;max-width:100%!important;overflow:hidden!important;padding:6px 12px!important;text-align:center!important;transition:all .2s ease!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.edit-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.edit-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.edit-btn{background:#fff!important;border:1px solid #e5e7eb!important;color:#6b7280!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.notes-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.notes-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.notes-btn{background:#eff6ff!important;border:1px solid #bfdbfe!important;color:#1d4ed8!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.notes-btn:hover,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.notes-btn:hover,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.notes-btn:hover{background:#dbeafe!important;color:#1e40af!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.print-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.print-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.print-btn{background:#fff!important;border:1px solid #e5e7eb!important;color:#6b7280!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.print-btn:hover,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.print-btn:hover,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.print-btn:hover{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.print-btn:disabled,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.print-btn:disabled,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.print-btn:disabled{cursor:not-allowed!important;opacity:.6!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.edit-btn:hover,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.edit-btn:hover,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.edit-btn:hover{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.toggle-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.toggle-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.toggle-btn{background:#fff!important;border:1px solid #e5e7eb!important;color:#6b7280!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.toggle-btn:hover,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.toggle-btn:hover,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.toggle-btn:hover{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.delete-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.delete-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.delete-btn{background:#fff!important;border:1px solid #e5e7eb!important;color:#6b7280!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn.delete-btn:hover,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn.delete-btn:hover,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn.delete-btn:hover{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.manage-volunteers-container .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled,.manage-volunteers-content .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled,.manage-volunteers-page .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled{background:#22c55e!important;border:none!important;color:#fff!important}.manage-volunteers-container .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled:hover,.manage-volunteers-content .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled:hover,.manage-volunteers-page .table-row .col-actions button.auto-checkout-btn.auto-checkout-enabled:hover{box-shadow:0 2px 8px #22c55e66!important;transform:translateY(-1px)!important}.manage-volunteers-container .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled,.manage-volunteers-content .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled,.manage-volunteers-page .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled{background:#6b7280!important;border:none!important;color:#fff!important}.manage-volunteers-container .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled:hover,.manage-volunteers-content .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled:hover,.manage-volunteers-page .table-row .col-actions button.auto-checkout-btn.auto-checkout-disabled:hover{box-shadow:0 2px 8px #6b728066!important;transform:translateY(-1px)!important}.manage-volunteers-footer{border-top:1px solid #e5e7eb;padding-top:24px}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{color:#ef4444;margin-top:4px;text-align:left}@media (max-width:768px){.manage-volunteers-container .action-buttons{flex-direction:column;flex-wrap:wrap}.manage-volunteers-container .add-btn,.manage-volunteers-container .import-btn{flex:1 1 auto;white-space:normal;width:100%}.manage-volunteers-container .volunteers-list .volunteers-table .table-header,.manage-volunteers-container .volunteers-table .table-header,.manage-volunteers-content .volunteers-list .volunteers-table .table-header,.manage-volunteers-content .volunteers-table .table-header,.manage-volunteers-page .volunteers-list .volunteers-table .table-header,.manage-volunteers-page .volunteers-table .table-header{display:none!important}.manage-volunteers-container .volunteers-table,.manage-volunteers-content .volunteers-table,.manage-volunteers-page .volunteers-table{background:#0000!important;border:none!important;max-height:none!important;overflow:visible!important}.manage-volunteers-container .volunteers-table .table-rows-container,.manage-volunteers-content .volunteers-table .table-rows-container{max-height:none!important;overflow:visible!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-container .volunteers-table .table-row,.manage-volunteers-container .volunteers-table .table-rows-container .table-row,.manage-volunteers-content .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-content .volunteers-table .table-row,.manage-volunteers-content .volunteers-table .table-rows-container .table-row,.manage-volunteers-page .volunteers-list .volunteers-table .table-rows-container .table-row,.manage-volunteers-page .volunteers-table .table-row,.manage-volunteers-page .volunteers-table .table-rows-container .table-row{align-items:stretch!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;gap:8px!important;grid-template-columns:none!important;margin:0 0 12px!important;overflow:visible!important;padding:16px!important}.manage-volunteers-container .volunteers-list .volunteers-table .table-row .col-name,.manage-volunteers-container .volunteers-table .table-row .col-name,.manage-volunteers-content .volunteers-list .volunteers-table .table-row .col-name,.manage-volunteers-content .volunteers-table .table-row .col-name,.manage-volunteers-page .volunteers-list .volunteers-table .table-row .col-name,.manage-volunteers-page .volunteers-table .table-row .col-name{border-bottom:1px solid #f3f4f6!important;color:#1f2937!important;display:block!important;font-size:17px!important;font-weight:650!important;overflow:visible!important;padding-bottom:8px!important}.manage-volunteers-container .volunteers-table .table-row .col-email,.manage-volunteers-container .volunteers-table .table-row .col-hours,.manage-volunteers-container .volunteers-table .table-row .col-passcode,.manage-volunteers-container .volunteers-table .table-row .col-phone,.manage-volunteers-container .volunteers-table .table-row .col-status,.manage-volunteers-content .volunteers-table .table-row .col-email,.manage-volunteers-content .volunteers-table .table-row .col-hours,.manage-volunteers-content .volunteers-table .table-row .col-passcode,.manage-volunteers-content .volunteers-table .table-row .col-phone,.manage-volunteers-content .volunteers-table .table-row .col-status,.manage-volunteers-page .volunteers-table .table-row .col-email,.manage-volunteers-page .volunteers-table .table-row .col-hours,.manage-volunteers-page .volunteers-table .table-row .col-passcode,.manage-volunteers-page .volunteers-table .table-row .col-phone,.manage-volunteers-page .volunteers-table .table-row .col-status{align-items:center!important;display:flex!important;gap:12px!important;justify-content:space-between!important;overflow:visible!important;text-align:right!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-email:before,.manage-volunteers-container .volunteers-table .table-row .col-hours:before,.manage-volunteers-container .volunteers-table .table-row .col-passcode:before,.manage-volunteers-container .volunteers-table .table-row .col-phone:before,.manage-volunteers-container .volunteers-table .table-row .col-status:before,.manage-volunteers-content .volunteers-table .table-row .col-email:before,.manage-volunteers-content .volunteers-table .table-row .col-hours:before,.manage-volunteers-content .volunteers-table .table-row .col-passcode:before,.manage-volunteers-content .volunteers-table .table-row .col-phone:before,.manage-volunteers-content .volunteers-table .table-row .col-status:before,.manage-volunteers-page .volunteers-table .table-row .col-email:before,.manage-volunteers-page .volunteers-table .table-row .col-hours:before,.manage-volunteers-page .volunteers-table .table-row .col-passcode:before,.manage-volunteers-page .volunteers-table .table-row .col-phone:before,.manage-volunteers-page .volunteers-table .table-row .col-status:before{color:#16a34a!important;flex:0 0 auto!important;font-weight:600!important;text-align:left!important}.manage-volunteers-container .volunteers-table .table-row .col-email:before,.manage-volunteers-content .volunteers-table .table-row .col-email:before,.manage-volunteers-page .volunteers-table .table-row .col-email:before{content:"Email"!important}.manage-volunteers-container .volunteers-table .table-row .col-phone:before,.manage-volunteers-content .volunteers-table .table-row .col-phone:before,.manage-volunteers-page .volunteers-table .table-row .col-phone:before{content:"Phone"!important}.manage-volunteers-container .volunteers-table .table-row .col-passcode:before,.manage-volunteers-content .volunteers-table .table-row .col-passcode:before,.manage-volunteers-page .volunteers-table .table-row .col-passcode:before{content:"User code"!important}.manage-volunteers-container .volunteers-table .table-row .col-status:before,.manage-volunteers-content .volunteers-table .table-row .col-status:before,.manage-volunteers-page .volunteers-table .table-row .col-status:before{content:"Status"!important}.manage-volunteers-container .volunteers-table .table-row .col-hours:before,.manage-volunteers-content .volunteers-table .table-row .col-hours:before,.manage-volunteers-page .volunteers-table .table-row .col-hours:before{content:"Hours"!important}.manage-volunteers-container .volunteers-table .table-row .col-actions,.manage-volunteers-content .volunteers-table .table-row .col-actions,.manage-volunteers-page .volunteers-table .table-row .col-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin-top:4px!important;overflow:visible!important;width:100%!important}.manage-volunteers-container .volunteers-table .table-row .col-actions .action-btn,.manage-volunteers-content .volunteers-table .table-row .col-actions .action-btn,.manage-volunteers-page .volunteers-table .table-row .col-actions .action-btn{flex:1 1 120px!important;max-width:none!important;width:auto!important}}.reports-time-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.reports-time-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1400px;padding:32px;width:100%}.reports-time-header{margin-bottom:32px;text-align:center}.reports-time-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.reports-time-subtitle{color:#6b7280;font-size:16px;margin:0}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{border-radius:16px;padding:24px;transition:all .2s ease}.stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.stat-card h3{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.stat-card p{color:#64748b;font-size:14px;font-weight:500;margin:0}.filters-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:32px;padding:24px}.filters-section h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px}.filters-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#374151;font-size:14px;font-weight:500;margin-bottom:8px}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.filter-actions{display:flex;gap:12px;justify-content:flex-end}.apply-filters-btn,.clear-filters-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.apply-filters-btn{background:#22c55e;color:#fff}.apply-filters-btn:hover{background:#16a34a;transform:translateY(-1px)}.clear-filters-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.clear-filters-btn:hover{background:#e5e7eb}.view-toggle{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:24px}.view-toggle-tabs{display:flex;gap:8px;grid-column:2;justify-content:center}.view-toggle-tabs button{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.view-toggle-tabs button.active{background:#22c55e;border-color:#22c55e;color:#fff}.view-toggle-tabs button:hover:not(.active){border-color:#d1d5db;color:#374151}.view-toggle .export-btn{background:#3b82f6;border:2px solid #3b82f6;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;grid-column:3;justify-self:end;padding:12px 24px;transition:all .2s ease}.view-toggle .export-btn:hover{background:#2563eb;border-color:#2563eb}.reports-table-section h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px}.auto-checkout-note{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 16px}.table-container{border:1px solid #e5e7eb;border-radius:12px;max-height:1176px;overflow-x:auto;overflow-y:auto}.reports-table{border-collapse:collapse;font-size:14px;width:100%}.reports-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.reports-table th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;text-align:left}.reports-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:16px 12px}.reports-table tr:hover{background:#f9fafb}.category-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.category-warehouse{background:#dbeafe;color:#1e40af}.category-front-store{background:#dcfce7;color:#166534}.category-ebay-store{background:#fef3c7;color:#92400e}.category-general{background:#f3e8ff;color:#7c3aed}.overview-section{margin-bottom:32px;text-align:left}.overview-title{color:#1f2937;font-size:22px;font-weight:700;margin:0 0 6px}.overview-scope{color:#6b7280;font-size:15px;margin:0 0 16px}.overview-blurb{color:#111827;font-size:18px;line-height:1.55;margin:0 0 24px;max-width:52rem}.overview-empty{color:#6b7280;font-size:16px;margin:12px 0 0}.overview-location-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:28px}.overview-location-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:20px 24px}.overview-location-label{color:#6b7280;font-size:14px;font-weight:600;letter-spacing:.03em;margin:0 0 6px;text-transform:uppercase}.overview-location-value{color:#1f2937;font-size:26px;font-weight:700;margin:0 0 4px}.overview-location-meta{color:#6b7280;font-size:15px;margin:0}.overview-block{margin-bottom:28px}.overview-block h4{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 12px}.overview-table-wrap{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.overview-table-scroll{max-height:420px;overflow-y:auto}.overview-table{border-collapse:collapse;font-size:14px;width:100%}.overview-table th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;text-align:left}.overview-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:16px 12px}.overview-table tbody tr:last-child td{border-bottom:none}.overview-footnote,.overview-notes{color:#6b7280;font-size:15px;line-height:1.5;margin:10px 0 0}.overview-notes{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:16px}.loading-spinner{border:4px solid #f3f4f6;margin:0 auto 16px}.reports-time-footer{border-top:1px solid #e5e7eb;padding-top:24px;text-align:center}@media (max-width:1200px){.overview-location-row{grid-template-columns:1fr}}@media (max-width:768px){.reports-time-card{padding:24px 16px}.reports-time-title{font-size:28px}.summary-stats{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.filter-actions{justify-content:center}.view-toggle{gap:12px;grid-template-columns:1fr;justify-items:center}.view-toggle .export-btn,.view-toggle-tabs{grid-column:1;justify-self:center}.view-toggle .export-btn,.view-toggle-tabs button{width:200px}.table-container{background:#0000;border:none;max-height:none;overflow:visible}.reports-table,.reports-table tbody,.reports-table td,.reports-table tr{display:block;width:100%}.reports-table thead{display:none}.reports-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin:0 0 12px;padding:16px}.reports-table td{align-items:center;border:none;display:flex;gap:12px;justify-content:space-between;padding:4px 0;text-align:right}.reports-table td:first-child{border-bottom:1px solid #f3f4f6;display:block;font-size:17px;font-weight:650;margin-bottom:4px;padding-bottom:8px;text-align:left}.reports-table td:nth-child(n+2):before{color:#16a34a;flex:0 0 auto;font-weight:600;text-align:left}.reports-table td:nth-child(2):before{content:"Category"}.reports-table td:nth-child(3):before{content:"Task"}.reports-table td:nth-child(4):before{content:"Location"}.reports-table td:nth-child(5):before{content:"Check in"}.reports-table td:nth-child(6):before{content:"Check out"}.reports-table td:nth-child(7):before{content:"Duration"}.overview-table-wrap{overflow-x:auto}}@media (max-width:480px){.reports-time-title{font-size:24px}.summary-stats{grid-template-columns:1fr}.stat-card{padding:16px}.stat-card h3{font-size:24px}.overview-location-card{padding:16px}.overview-blurb{font-size:16px}}.settings-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.settings-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:800px;padding:48px;text-align:center;width:100%}.settings-header{margin-bottom:32px}.settings-header .logo,.settings-title{text-align:center}.settings-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.settings-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.settings-content{margin-bottom:32px}.feature-placeholder{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:32px;text-align:left}.feature-placeholder h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 16px}.feature-placeholder p{color:#6b7280;font-size:16px;margin:0 0 16px}.feature-placeholder ul{color:#6b7280;font-size:14px;margin:0 0 24px;padding-left:20px}.feature-placeholder li{margin-bottom:8px}.coming-soon{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:20px;text-align:center}.coming-soon p{color:#92400e;font-size:16px;font-weight:600;margin:0}.settings-footer{border-top:1px solid #e5e7eb;padding-top:24px}@media (max-width:768px){.settings-card{padding:32px 24px}.settings-title{font-size:28px}.feature-placeholder{padding:24px}}@media (max-width:480px){.settings-card{padding:24px 16px}.settings-title{font-size:24px}.feature-placeholder{padding:20px}}.settings-card-wide{max-width:920px;text-align:left}.access-sections{display:flex;flex-direction:column;gap:28px;margin-bottom:24px}.access-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;text-align:left}.access-section h2{color:#1f2937;font-size:20px;margin:0 0 8px}.access-section h3{color:#374151;font-size:15px;margin:12px 0 8px}.access-help{color:#6b7280;font-size:14px;margin:0 0 14px}.access-inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.access-form input,.access-inline-form input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;min-width:160px;padding:10px 12px}.access-form{gap:12px;text-align:left}.access-form,.access-form label{display:flex;flex-direction:column}.access-form label{color:#374151;font-size:14px;font-weight:600;gap:6px}.access-primary-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px}.perms-save-btn{min-width:280px;transition:background .2s ease,box-shadow .2s ease}.perms-save-btn:disabled{cursor:wait;opacity:.85}.perms-save-btn.perms-save-success{background:#15803d;box-shadow:0 0 0 2px #16a34a59}.perms-save-btn.perms-save-error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 0 0 2px #dc26264d}.access-user-list{list-style:none;margin:0;padding:0}.access-user-list li{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:10px 0}.access-user-main{align-items:flex-start;display:flex;gap:10px;min-width:0}.waiver-status-icon{flex:none;height:22px;margin-top:1px;width:22px}.waiver-status-icon svg{display:block;height:22px;width:22px}.waiver-status-icon.accepted{color:#16a34a}.waiver-status-icon.pending{color:#d97706}.access-user-actions{display:flex;flex-wrap:wrap;gap:6px}.access-user-actions button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;padding:6px 10px}.access-meta{color:#6b7280;font-size:12px}.access-empty,.badge-inactive{color:#9ca3af;font-size:13px}.access-banner{background:#ecfdf5;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:14px;margin-bottom:12px;padding:10px 12px}.access-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;padding:10px 12px}.access-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.access-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;padding:24px;text-align:left;width:100%}.group-modal{max-height:min(90vh,720px);max-width:560px;overflow:auto}.group-modal h4{color:#374151;font-size:14px;margin:18px 0 8px}.group-modal .access-user-list{margin:8px 0 0}.group-results{max-height:180px;overflow:auto}.group-modal .access-user-actions button{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 14px}.group-modal .access-user-actions button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#1f2937}.group-modal .access-user-actions button:disabled{cursor:wait;opacity:.6}.access-modal h3{color:#1f2937;font-size:20px;margin:0 0 8px}.access-modal label{color:#374151;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:6px;margin-top:12px}.access-modal input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:400;padding:10px 12px}.access-modal-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.access-modal-actions button{align-items:center;align-self:center;border-radius:8px;border-style:solid;border-width:2px;box-sizing:border-box;display:inline-flex;flex:1 1;font-size:14px;font-weight:600;height:44px;justify-content:center;line-height:1;margin:0;min-width:120px;padding:0 16px}.access-modal-actions .back-button{border-color:#e5e7eb}.access-modal-actions .access-primary-btn{border:2px solid #16a34a}.perm-group{margin-bottom:12px}.perm-checks{display:flex;flex-wrap:wrap;gap:10px 16px}.perm-check{align-items:center;color:#374151;display:flex;font-size:13px;gap:6px}.supervisor-tab-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.supervisor-tab-item{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:14px 16px;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.supervisor-tab-item:hover{border-color:#d1d5db}.supervisor-tab-item.active{background:#dcfce7;border-color:#22c55e;color:#166534}.supervisor-tab-state{font-size:13px;font-weight:700;letter-spacing:.03em;opacity:.85;text-transform:uppercase}.settings-footer{display:flex;flex-wrap:wrap;gap:10px}.onboard-card{max-width:560px;padding:40px 36px;text-align:center}.onboard-form{margin-top:8px}.onboard-account{margin-bottom:4px;text-align:center}.onboard-waiver{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px;text-align:left}.onboard-waiver h2{color:#1f2937;font-size:18px;margin:0 0 12px;text-align:center}.onboard-waiver li,.onboard-waiver p{color:#4b5563;font-size:14px;line-height:1.6}.onboard-waiver ul{margin:0 0 16px;padding-left:20px}.onboard-card .onboard-check{align-items:flex-start;color:#1f2937;cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-weight:600;gap:10px;line-height:1.45;text-align:left}.onboard-card .onboard-check input[type=checkbox]{accent-color:#16a34a;cursor:pointer;flex:none;height:18px;margin:2px 0 0;min-width:18px;width:18px}.onboard-field{text-align:left}.required-asterisk{color:#ef4444;font-weight:700}.password-field{align-items:center;display:flex;position:relative}.password-field input{letter-spacing:.12em;padding-right:44px;width:100%}.password-field input[type=text]{letter-spacing:normal}.password-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:8px;width:32px}.password-toggle:focus,.password-toggle:hover{background:#f3f4f6;color:#111827}.password-toggle svg{display:block;height:20px;width:20px}.onboard-submit{font-size:16px;margin-top:4px;padding:12px 16px;width:100%}.onboard-submit:disabled{cursor:not-allowed;opacity:.55}.onboard-footer{justify-content:center;margin-top:8px;text-align:center}.onboard-login-link{display:inline-block;text-decoration:none}@media (max-width:480px){.onboard-card{padding:28px 18px}}.notifications-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.notifications-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1200px;padding:48px;text-align:center;width:100%}.notifications-header{margin-bottom:32px}.notifications-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.notifications-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.data-period-note{color:#9ca3af;font-size:14px;font-style:italic;margin:8px 0 0;text-align:center}.notifications-content{margin-bottom:32px;text-align:left}.stats-section{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:32px}.stat-card{background:#f8fafc;border:1px solid #e2e8f0}.filter-controls{margin-bottom:24px}.filter-btn{background:#f8fafc;border:1px solid #e2e8f0;color:#6b7280}.filter-btn:hover{background:#e2e8f0;color:#374151}.filter-btn.active{background:#3b82f6;border-color:#3b82f6}.notifications-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:600px;overflow-y:auto}.notification-item{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;padding:20px;transition:background-color .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f8fafc}.notification-icon{flex-shrink:0;font-size:24px;margin-right:16px;margin-top:4px}.notification-content{flex:1 1;min-width:0}.notification-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.notification-title{color:#1f2937;flex:1 1;font-size:16px;font-weight:600;margin:0}.notification-time{color:#6b7280;font-size:12px;margin-left:16px;white-space:nowrap}.notification-message{color:#4b5563;font-size:14px;line-height:1.5;margin:0 0 12px}.notification-user{color:#6b7280;font-size:13px;margin-bottom:8px}.notification-meta{align-items:center;display:flex;gap:12px}.notification-type{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.notification-type.auto_checkout{background:#dbeafe;color:#1e40af}.notification-type.reminder{background:#fef3c7;color:#92400e}.notification-type.error{background:#fee2e2;color:#991b1b}.notification-status{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.notification-status.sent{background:#d1fae5;color:#065f46}.empty-state,.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;height:32px;margin-bottom:16px;width:32px}.error-message{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:14px;font-weight:500;margin-top:16px;padding:12px 16px}.notifications-footer{border-top:1px solid #e5e7eb;padding-top:24px}@media (max-width:768px){.notifications-card{padding:32px 24px}.notifications-title{font-size:28px}.feature-placeholder{padding:24px}}@media (max-width:480px){.notifications-card{padding:24px 16px}.notifications-title{font-size:24px}.feature-placeholder{padding:20px}}.reports-directory-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.reports-directory-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1400px;padding:32px;width:100%}.reports-directory-header{margin-bottom:32px;text-align:center}.reports-directory-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.reports-directory-subtitle{color:#6b7280;font-size:16px;margin:0}.export-options{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:30px;padding:30px}.export-options h3{color:#16a34a;font-size:1.5rem;font-weight:600;margin:0 0 20px}.option-group{flex-wrap:wrap;gap:20px;margin-bottom:20px}.option-group,.option-label{align-items:center;display:flex}.option-label{color:#374151;cursor:pointer;font-size:1rem;font-weight:500;gap:8px}.option-label input[type=checkbox],.option-label input[type=radio]{accent-color:#16a34a;cursor:pointer;height:18px;width:18px}.sort-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:1rem;margin-left:10px;padding:8px 12px}.sort-select:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a;outline:none}.export-button{background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:8px;box-shadow:0 4px 12px #16a34a4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:14px 28px;transition:all .2s ease}.export-button:hover:not(:disabled){box-shadow:0 6px 16px #16a34a66;transform:translateY(-2px)}.export-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.directory-preview{margin-bottom:20px}.directory-preview h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 16px}.directory-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto;overflow:hidden;width:100%}.directory-table-inner{min-width:100%}.directory-table .table-header{grid-gap:12px;align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;font-size:14px;font-weight:600;gap:12px;grid-template-columns:1.5fr 2fr 1fr 1fr 1fr 1fr 1fr 1.5fr 1.5fr;padding:16px;text-align:center}.directory-table .table-header>div{color:#374151;font-size:14px;font-weight:600;text-align:center;white-space:nowrap}.directory-table .table-row{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;display:grid;font-size:14px;gap:12px;grid-template-columns:1.5fr 2fr 1fr 1fr 1fr 1fr 1fr 1.5fr 1.5fr;padding:16px}.directory-table .table-row:last-child{border-bottom:none}.directory-table .col-name{align-items:center;display:flex;font-weight:500;gap:8px}.directory-table .col-email,.directory-table .col-phone{color:#6b7280}.directory-table .col-passcode{color:#1f2937;font-family:monospace;font-weight:600;text-align:center}.directory-table .col-birthday,.directory-table .col-hours,.directory-table .col-status{color:#6b7280;font-size:13px;text-align:center}.directory-table .col-emergency,.directory-table .col-emergency-phone{color:#6b7280;font-size:13px}.minor-badge{font-size:.7rem}.status-badge{font-size:.8rem}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fef2f2;color:#dc2626}.directory-table .table-more{background:#f8fafc;color:#6b7280;font-style:italic;padding:15px;text-align:center;width:100%}.loading,.no-volunteers{color:#6b7280;font-size:1.1rem;padding:40px;text-align:center}.message{margin:20px 0;padding:15px 20px}.message.success{color:#16a34a}.message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.reports-directory-footer{background:#fff;border-top:1px solid #e5e7eb;padding:30px 40px;text-align:center}.back-button{background:#f8fafc;border-radius:8px;display:inline-block;font-weight:500;text-decoration:none}.back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}@media (max-width:768px){.directory-table{background:#0000;border:none;overflow:visible}.directory-table .table-header{display:none}.directory-table .table-row{align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:16px}.directory-table .col-name{border-bottom:1px solid #f3f4f6;color:#1f2937;display:flex;font-size:17px;font-weight:650;padding-bottom:8px}.directory-table .col-birthday,.directory-table .col-email,.directory-table .col-emergency,.directory-table .col-emergency-phone,.directory-table .col-hours,.directory-table .col-passcode,.directory-table .col-phone,.directory-table .col-status{align-items:center;display:flex;gap:12px;justify-content:space-between;text-align:right;width:100%}.directory-table .col-birthday:before,.directory-table .col-email:before,.directory-table .col-emergency-phone:before,.directory-table .col-emergency:before,.directory-table .col-hours:before,.directory-table .col-passcode:before,.directory-table .col-phone:before,.directory-table .col-status:before{color:#16a34a;flex:0 0 auto;font-weight:600;text-align:left}.directory-table .col-email:before{content:"Email"}.directory-table .col-phone:before{content:"Phone"}.directory-table .col-passcode:before{content:"User code"}.directory-table .col-status:before{content:"Status"}.directory-table .col-hours:before{content:"Hours"}.directory-table .col-birthday:before{content:"Birthday"}.directory-table .col-emergency:before{content:"Emergency contact"}.directory-table .col-emergency-phone:before{content:"Emergency phone"}}.calendar-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.calendar-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1100px;overflow:hidden;padding:32px;position:relative;width:100%}.calendar-card.day-open{overflow:visible}.calendar-card.day-open .calendar-month{display:none}.calendar-header{margin-bottom:24px;text-align:center}.calendar-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px}.calendar-subtitle{color:#6b7280;font-size:16px;margin:0}.calendar-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.calendar-nav button{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-weight:600;padding:8px 12px}.calendar-nav button:hover{background:#f0fdf4;border-color:#86efac}.calendar-month-label{color:#1f2937;font-size:18px;font-weight:700;min-width:160px;text-align:center}.calendar-today-btn{margin-left:4px}.calendar-legend{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 0 16px}.calendar-legend-item{align-items:center;color:#374151;display:inline-flex;font-size:14px;font-weight:600;gap:8px}.calendar-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;margin:0 0 12px;padding:12px 16px}.calendar-loading{color:#6b7280;font-size:14px;padding:8px 0 16px;text-align:center}.calendar-shell{display:flex;flex-direction:column}.calendar-weekday-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.calendar-weekday{color:#6b7280;font-size:13px;font-weight:700;padding:6px 0;text-align:center}.calendar-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.calendar-cell{align-items:flex-start;background:#fff;border:1px solid #d1d5db;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:88px;padding:10px;position:relative;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-cell.empty{background:#0000;border-color:#0000;cursor:default;min-height:88px;pointer-events:none}.calendar-cell:not(.empty):hover{border-color:#86efac;box-shadow:0 6px 16px #22c55e1f;transform:translateY(-1px)}.calendar-cell.today{border-color:#22c55e;box-shadow:inset 0 0 0 1px #22c55e}.calendar-cell.has-data{background:#f0fdf4}.cell-day-num{color:#1f2937;font-size:15px;font-weight:700}.cell-counts{align-self:flex-end;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.cell-count{align-items:center;border-radius:999px;box-sizing:border-box;display:inline-flex;font-size:13px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:0 8px}.cell-count.onsite{background:#22c55e;border:2px solid #22c55e;color:#fff}.cell-count.remote{background:#fff;border:2px solid #1f2937;color:#1f2937}.calendar-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.calendar-day-panel{background:#fff;border-radius:24px;display:flex;flex-direction:column;inset:0;pointer-events:none;position:absolute;transform:translateX(100%);transition:transform .32s ease;z-index:10}.calendar-day-panel.open{height:auto;inset:auto;min-height:0;pointer-events:auto;position:relative;transform:none}.day-panel-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:20px 24px 12px}.day-panel-header h2{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 4px}.day-panel-meta{color:#6b7280;font-size:14px;margin:0}.day-panel-close{background:#f3f4f6;border:none;border-radius:10px;color:#374151;cursor:pointer;font-size:28px;height:40px;line-height:1;width:40px}.day-panel-close:hover{background:#e5e7eb}.day-panel-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 24px 0}.day-location-filter,.day-mode-toggle{display:flex;flex-wrap:wrap;gap:6px}.day-location-filter button,.day-mode-toggle button{background:#fff;border:2px solid #e5e7eb;border-radius:999px;color:#4b5563;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.day-location-filter button.active,.day-mode-toggle button.active{background:#ecfdf5;border-color:#86efac;color:#166534}.day-auto-note{color:#6b7280;font-size:13px;margin:10px 24px 0}.day-panel-body{padding:16px 24px 32px}.day-empty{color:#9ca3af;padding:40px 16px;text-align:center}.day-session-list{list-style:none;margin:0;padding:0}.day-session-row{border-bottom:1px solid #f3f4f6;padding:12px 0}.role-group .day-session-row:last-child{border-bottom:2px solid #111827}.session-name{color:#111827;font-weight:700;margin-bottom:4px}.session-detail{color:#4b5563;font-size:14px;line-height:1.45}.duration-auto-checkout{text-decoration:underline;text-underline-offset:2px}.day-role-groups{display:flex;flex-direction:column;gap:20px}.role-group-title{align-items:center;color:#1f2937;display:flex;font-size:16px;gap:8px;margin:0 0 8px}.role-color-dot{border:1px solid #00000014;border-radius:999px;height:12px;width:12px}.role-count{color:#6b7280;font-size:13px;font-weight:600;margin-left:auto}.timeline-wrap{min-width:640px;overflow-x:auto}.timeline-header,.timeline-row{grid-gap:12px;align-items:stretch;display:grid;gap:12px;grid-template-columns:160px 1fr}.timeline-header{background:#fff;min-height:28px;padding-bottom:8px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.timeline-name-col{align-items:center;color:#111827;display:flex;font-size:13px;font-weight:700;overflow:hidden;padding-right:4px;text-overflow:ellipsis;white-space:nowrap}.timeline-header .timeline-name-col{min-height:24px}.timeline-track-col{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:36px;overflow:hidden;position:relative}.timeline-header .timeline-track-col{background:#0000;border:none;min-height:24px;overflow:visible}.timeline-swipe-hint{display:none}.timeline-hour{color:#6b7280;font-size:11px;font-weight:600;position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.timeline-gridline{background:#e5e7eb;bottom:0;pointer-events:none;position:absolute;top:0;width:1px}.timeline-row{margin-bottom:6px}.timeline-bar{align-items:center;border:1px solid #0000001f;border-radius:6px;box-sizing:border-box;display:flex;height:24px;min-width:8px;overflow:hidden;padding:0 8px;position:absolute;top:6px}.timeline-bar.open{border-style:dashed}.timeline-bar.auto-checkout{box-shadow:inset 0 -2px 0 #166534}.timeline-bar-label{color:#1f2937;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.calendar-title{font-size:24px}.calendar-card{padding:24px 16px}.calendar-cell,.calendar-cell.empty{border-radius:8px;min-height:64px;padding:6px}.cell-day-num{font-size:13px}.cell-count{font-size:11px;height:22px;min-width:22px;padding:0 5px}.cell-counts{gap:3px}.day-panel-header h2{font-size:18px}.timeline-swipe-hint{display:inline}.timeline-wrap{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto;width:100%}.timeline-header,.timeline-row{gap:0;grid-template-columns:108px 864px;grid-template-columns:108px calc(var(--timeline-hours, 12)*72px);width:-webkit-max-content;width:max-content}.timeline-name-col{background:#fff;font-size:13px;left:0;padding-right:10px;position:-webkit-sticky;position:sticky;z-index:2}.timeline-header{z-index:3}.timeline-header .timeline-name-col{z-index:4}.timeline-hour{color:#374151;font-size:12px;margin-left:4px;transform:none}}.emergency-contacts-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.emergency-contacts-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1400px;padding:48px;text-align:center;width:100%}.emergency-contacts-header{margin-bottom:32px}.emergency-contacts-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.emergency-contacts-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.emergency-contacts-content{margin-bottom:32px;text-align:left}.search-section{margin-bottom:24px}.search-controls{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.search-input{background:#fff;border-radius:12px;flex:1 1;font-size:16px;max-width:400px;transition:all .2s ease}.search-input:focus{border-color:#16a34a;box-shadow:0 0 0 3px #22c55e1a}.toggle-label,.toggle-section{align-items:center;display:flex}.toggle-label{color:#374151;cursor:pointer;font-size:16px;font-weight:500;gap:8px}.toggle-checkbox{accent-color:#16a34a;cursor:pointer;height:20px;width:20px}.toggle-text{-webkit-user-select:none;user-select:none}.volunteer-count{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;font-size:16px;font-weight:600;padding:8px 16px;text-align:center}.message{margin-bottom:20px;padding:16px}.message.success{border:1px solid #34d399}.message.error{border:1px solid #ef4444}.volunteers-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.loading,.no-volunteers{color:#6b7280;font-size:16px;padding:40px;text-align:center}.emergency-contacts-container .volunteers-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;max-height:1260px;overflow:hidden;width:100%}.emergency-contacts-container .volunteers-table .table-header{grid-gap:20px;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;flex-shrink:0;font-size:14px;font-weight:600;gap:20px;grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr;padding:16px;text-align:center;width:100%}.emergency-contacts-container .volunteers-table .table-header .col-name{display:block;text-align:center}.emergency-contacts-container .volunteers-table .table-rows-container{max-height:1200px;overflow-x:hidden;overflow-y:auto}.emergency-contacts-container .volunteers-table .table-header.show-all{grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr .8fr}.emergency-contacts-container .volunteers-table .table-row{grid-gap:20px;align-items:center;border-bottom:1px solid #e5e7eb;cursor:pointer;display:grid;font-size:14px;gap:20px;grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr;padding:16px;text-align:left;transition:all .2s ease;width:100%}.emergency-contacts-container .volunteers-table .table-row.show-all{grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr .8fr}.emergency-contacts-container .volunteers-table .table-row:hover{background:#f0fdf4;box-shadow:0 4px 12px #22c55e1a;transform:translateY(-1px)}.emergency-contacts-container .volunteers-table .table-row:last-child{border-bottom:none}.emergency-contacts-container .volunteers-table .col-name{align-items:center;color:#1f2937;display:flex;font-size:14px;font-weight:500;gap:8px;text-align:left}.emergency-contacts-container .volunteers-table .col-checkin,.emergency-contacts-container .volunteers-table .col-emergency,.emergency-contacts-container .volunteers-table .col-emergency-phone,.emergency-contacts-container .volunteers-table .col-phone,.emergency-contacts-container .volunteers-table .col-relationship{color:#6b7280;font-size:14px;text-align:center}.emergency-contacts-container .volunteers-table .col-status{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:center;text-align:center}.status-badge{border-radius:20px;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.checked-in{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.status-badge.not-checked-in{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.not-checked-in-text{color:#6b7280;font-size:14px;font-style:italic}.check-in-time{background:#d1fae5;border-radius:6px;color:#065f46;font-size:12px;font-weight:600;padding:4px 8px}.minor-badge{background:#fef2f2;border-radius:4px;color:#dc2626;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1f2937;font-size:24px;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px}.emergency-info,.volunteer-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.emergency-info h3,.volunteer-info h3{align-items:center;color:#1f2937;display:flex;font-size:20px;gap:8px;margin:0 0 16px}.emergency-info p,.volunteer-info p{color:#374151;font-size:16px;margin:8px 0}.modal-footer{border-top:1px solid #e5e7eb;padding:24px;text-align:right}.close-modal-btn{background:#0000;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.close-modal-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.emergency-contacts-footer{border-top:1px solid #e5e7eb;padding-top:24px;text-align:center}@media (max-width:1024px){.emergency-contacts-card{padding:40px}.emergency-contacts-container .volunteers-table .table-header,.emergency-contacts-container .volunteers-table .table-row{gap:15px;grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr}.emergency-contacts-container .volunteers-table .table-header.show-all,.emergency-contacts-container .volunteers-table .table-row.show-all{grid-template-columns:1.5fr 1fr 1.5fr .8fr 1fr .8fr .8fr}}@media (max-width:768px){.emergency-contacts-card{padding:32px 24px}.emergency-contacts-title{font-size:28px}.emergency-contacts-container .search-controls{align-items:stretch;flex-direction:column;gap:12px}.emergency-contacts-container .search-input{max-width:none;width:100%}.emergency-contacts-container .volunteers-table{max-height:none;overflow:visible}.emergency-contacts-container .volunteers-table .table-header{display:none}.emergency-contacts-container .volunteers-table .table-rows-container{max-height:none;overflow:visible}.emergency-contacts-container .volunteers-table .table-row,.emergency-contacts-container .volunteers-table .table-row.show-all{align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:none;cursor:pointer;display:flex;flex-direction:column;gap:8px;grid-template-columns:none;margin:0 0 12px;padding:16px;transform:none}.emergency-contacts-container .volunteers-table .col-name{border-bottom:1px solid #f3f4f6;color:#1f2937;display:block;font-size:17px;font-weight:650;padding-bottom:8px;text-align:left}.emergency-contacts-container .volunteers-table .col-checkin,.emergency-contacts-container .volunteers-table .col-emergency,.emergency-contacts-container .volunteers-table .col-emergency-phone,.emergency-contacts-container .volunteers-table .col-phone,.emergency-contacts-container .volunteers-table .col-relationship,.emergency-contacts-container .volunteers-table .col-status{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:2px 0;text-align:right}.emergency-contacts-container .volunteers-table .col-checkin:before,.emergency-contacts-container .volunteers-table .col-emergency-phone:before,.emergency-contacts-container .volunteers-table .col-emergency:before,.emergency-contacts-container .volunteers-table .col-phone:before,.emergency-contacts-container .volunteers-table .col-relationship:before,.emergency-contacts-container .volunteers-table .col-status:before{color:#16a34a;flex:0 0 auto;font-weight:600;text-align:left}.emergency-contacts-container .volunteers-table .col-phone:before{content:"Phone"}.emergency-contacts-container .volunteers-table .col-emergency:before{content:"Emergency contact"}.emergency-contacts-container .volunteers-table .col-relationship:before{content:"Relationship"}.emergency-contacts-container .volunteers-table .col-emergency-phone:before{content:"Emergency phone"}.emergency-contacts-container .volunteers-table .col-status:before{content:"Status"}.emergency-contacts-container .volunteers-table .col-checkin:before{content:"Checked in"}}@media (max-width:480px){.emergency-contacts-card{padding:24px 16px}.emergency-contacts-title{font-size:24px}.modal-content{margin:10px}.modal-body,.modal-footer,.modal-header{padding:20px}}.liability-waivers-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.liability-waivers-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:1200px;padding:48px;text-align:center;width:100%}.liability-waivers-header{margin-bottom:32px}.liability-waivers-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.liability-waivers-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.liability-waivers-content{margin-bottom:32px}.stats-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;text-align:center}.stat-number{color:#1f2937;font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{color:#6b7280;font-size:14px;font-weight:500}.waiver-controls{margin-bottom:24px;text-align:left}.search-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;text-align:left}.search-box{flex:1 1;min-width:200px}.search-input{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#22c55e;outline:none}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{background:#f9fafb;border-color:#d1d5db}.filter-btn.active{background:#22c55e;border-color:#22c55e;color:#fff}.action-buttons{display:flex;flex-wrap:wrap;gap:12px}.refresh-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.refresh-btn:hover{box-shadow:0 4px 12px #22c55e4d;transform:translateY(-1px)}.message{margin-bottom:16px}.waivers-list{text-align:center}.waivers-list h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 16px}.loading,.no-waivers{color:#6b7280;font-size:16px;padding:40px;text-align:center}.waivers-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-height:960px;overflow-x:auto;text-align:center}.waivers-table-inner{min-width:1000px}.waivers-table .table-header{grid-gap:12px;align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;display:grid;flex-shrink:0;font-size:14px;font-weight:600;gap:12px;grid-template-columns:1.5fr 2.5fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:16px;text-align:center}.waivers-table .table-rows-container{max-height:900px;overflow-y:auto}.waivers-table .table-header>div{text-align:center!important}.waivers-table .table-header .col-accepted,.waivers-table .table-header .col-active,.waivers-table .table-header .col-email,.waivers-table .table-header .col-expires,.waivers-table .table-header .col-name,.waivers-table .table-header .col-phone,.waivers-table .table-header .col-status{color:#374151!important;font-family:inherit!important;font-weight:600!important;text-align:center!important}.waivers-table .table-header .col-passcode{color:#374151!important;font-family:monospace!important;font-weight:600!important;text-align:center!important}.waivers-table .table-row{grid-gap:12px;align-items:center;border-bottom:1px solid #f3f4f6;display:grid;font-size:14px;gap:12px;grid-template-columns:1.5fr 2.5fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:16px}.waivers-table .table-row:hover{background:#f9fafb}.waivers-table .table-row.expired-row{background:#fef2f2}.waivers-table .table-row.expired-row:hover{background:#fee2e2}.waivers-table .col-name{color:#1f2937;font-weight:500;text-align:left}.waivers-table .col-email,.waivers-table .col-name{word-wrap:break-word;min-width:0;overflow-wrap:break-word}.waivers-table .col-email{color:#6b7280}.waivers-table .col-phone{color:#6b7280;min-width:0;white-space:nowrap}.waivers-table .col-passcode{color:#1f2937;font-family:monospace;font-weight:600;min-width:0;text-align:center;white-space:nowrap}.waivers-table .col-accepted,.waivers-table .col-expires{color:#6b7280;font-size:13px;min-width:0;text-align:center;white-space:nowrap}.waivers-table .col-active,.waivers-table .col-status{min-width:0}.expired-date{color:#dc2626;font-weight:600}.status-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.status-badge.not-accepted{background:#fef3c7;color:#d97706}.status-badge.current{background:#d1fae5;color:#065f46}.status-badge.expiring-soon{background:#fef3c7;color:#d97706}.status-badge.expired{background:#fee2e2;color:#dc2626}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.liability-waivers-footer{border-top:1px solid #e5e7eb;padding-top:24px}@media (max-width:768px){.liability-waivers-container{padding:16px}.liability-waivers-card{padding:24px}.stats-section{grid-template-columns:1fr}.search-filter-section{align-items:stretch;flex-direction:column}.search-box{margin-bottom:12px;min-width:0;min-width:auto}.action-buttons,.filter-buttons{justify-content:center}.waivers-table{background:#0000;border:none;max-height:none;overflow:visible}.waivers-table-inner{min-width:0}.waivers-table .table-header{display:none}.waivers-table .table-rows-container{max-height:none;overflow:visible}.waivers-table .table-row{align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:8px;grid-template-columns:none;margin:0 0 12px;padding:16px}.waivers-table .col-name{border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:17px;font-weight:650;padding-bottom:8px}.waivers-table .col-accepted,.waivers-table .col-active,.waivers-table .col-email,.waivers-table .col-expires,.waivers-table .col-passcode,.waivers-table .col-phone,.waivers-table .col-status{align-items:center;display:flex;gap:12px;justify-content:space-between;text-align:right;width:100%}.waivers-table .col-accepted:before,.waivers-table .col-active:before,.waivers-table .col-email:before,.waivers-table .col-expires:before,.waivers-table .col-passcode:before,.waivers-table .col-phone:before,.waivers-table .col-status:before{color:#16a34a;flex:0 0 auto;font-weight:600;text-align:left}.waivers-table .col-email:before{content:"Email"}.waivers-table .col-phone:before{content:"Phone"}.waivers-table .col-passcode:before{content:"User code"}.waivers-table .col-accepted:before{content:"Accepted"}.waivers-table .col-expires:before{content:"Expires"}.waivers-table .col-status:before{content:"Waiver"}.waivers-table .col-active:before{content:"Active"}}@media (max-width:480px){.liability-waivers-card{padding:16px}.liability-waivers-title{font-size:24px}.liability-waivers-subtitle{font-size:14px}}.reset-waivers-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:24px}.reset-waivers-card{background:#fff;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;margin-top:24px;max-width:720px;padding:40px;text-align:left;width:100%}.reset-waivers-card h1{color:#1f2937;font-size:32px;margin:0 0 16px}.reset-waivers-copy{color:#374151;font-size:18px;line-height:1.6;margin:0 0 24px}.reset-waivers-done{background:#ecfdf5;border:1px solid #86efac;border-radius:8px;color:#166534;margin:0 0 16px;padding:12px 14px}.reset-waivers-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;margin:0 0 16px;padding:12px 14px}.reset-waivers-back,.reset-waivers-start,.reset-warning-actions button{border-radius:12px;cursor:pointer;font-family:inherit;font-weight:700}.reset-waivers-start{background:#dc2626;border:none;color:#fff;display:block;font-size:18px;padding:16px 20px;width:100%}.reset-waivers-start:hover{background:#b91c1c}.reset-waivers-back{background:#fff;border:2px solid #e5e7eb;color:#6b7280;display:block;font-size:16px;margin-top:12px;padding:12px 20px;width:100%}.reset-warning-overlay{align-items:center;background:#7f1d1db8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.reset-warning-box{background:#fef2f2;border:6px solid #dc2626;border-radius:20px;box-shadow:0 24px 60px #7f1d1d73;max-width:760px;padding:48px 36px;text-align:center;width:100%}.reset-warning-box h2{color:#991b1b;font-size:48px;line-height:1.15;margin:0 0 20px}.reset-warning-box p{color:#7f1d1d;font-size:20px;line-height:1.5;margin:0 0 28px}.reset-warning-actions{display:flex;gap:12px}.reset-warning-actions button{background:#fff;border:2px solid #d1d5db;color:#374151;flex:1 1;font-size:18px;min-height:56px}.reset-warning-confirm{background:#dc2626!important;border-color:#991b1b!important;color:#fff!important}.reset-warning-actions button:disabled{cursor:wait;opacity:.7}@media (max-width:640px){.reset-warning-box{padding:28px 18px}.reset-warning-box h2{font-size:32px}.reset-warning-actions{flex-direction:column}}.fix-hours-container{align-items:flex-start;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:24px}.fix-hours-card{background:#fff;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;margin-top:24px;max-width:720px;padding:40px;text-align:left;width:100%}.fix-hours-card h1{color:#1f2937;font-size:32px;margin:0 0 16px}.fix-hours-copy,.fix-hours-count{color:#374151;font-size:18px;line-height:1.6;margin:0 0 16px}.fix-hours-count{font-weight:700}.fix-hours-done{background:#ecfdf5;border:1px solid #86efac;border-radius:8px;color:#166534}.fix-hours-done,.fix-hours-error{margin:0 0 16px;padding:12px 14px}.fix-hours-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.fix-hours-back,.fix-hours-start,.fix-hours-warning-actions button{border-radius:12px;cursor:pointer;font-family:inherit;font-weight:700}.fix-hours-start{background:#15803d;border:none;color:#fff;display:block;font-size:18px;padding:16px 20px;width:100%}.fix-hours-start:hover:not(:disabled){background:#166534}.fix-hours-start:disabled{background:#9ca3af;cursor:not-allowed}.fix-hours-back{background:#fff;border:2px solid #d1d5db;color:#374151;display:block;font-size:16px;margin-top:12px;padding:12px 20px;width:100%}.fix-hours-overlay{align-items:center;background:#14532db8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.fix-hours-warning{background:#fff;border:6px solid #15803d;border-radius:16px;max-width:640px;padding:32px;width:100%}.fix-hours-warning h2{color:#14532d;font-size:32px;line-height:1.2;margin:0 0 12px}.fix-hours-warning p{color:#374151;font-size:18px;line-height:1.5;margin:0 0 24px}.fix-hours-warning-actions{display:flex;gap:12px}.fix-hours-warning-actions button{background:#fff;border:2px solid #d1d5db;color:#374151;flex:1 1;font-size:16px;padding:14px 16px}.fix-hours-confirm{background:#15803d!important;border-color:#15803d!important;color:#fff!important}@media (max-width:640px){.fix-hours-card{padding:24px}.fix-hours-warning h2{font-size:24px}.fix-hours-warning-actions{flex-direction:column}}.activity-log-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.activity-log-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:920px;padding:40px;width:100%}.activity-log-header{margin-bottom:24px;text-align:center}.activity-log-header .logo{margin-bottom:16px}.activity-log-header .logo-image{height:120px!important;max-width:280px!important;object-fit:contain;width:auto!important}.activity-log-title{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.activity-log-subtitle{color:#6b7280;font-size:15px;margin:0}.activity-search{margin-bottom:16px;text-align:left}.activity-search-panel{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.activity-search-targets{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.activity-search-targets label{align-items:center;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px}.activity-search-hint{color:#6b7280;font-size:13px;margin:8px 0 10px;text-align:center}.activity-search-field{position:relative}.activity-search-field input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px;width:100%}.activity-search-field input:focus{border-color:#22c55e;outline:none}.activity-suggestions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;list-style:none;margin:6px 0 0;max-height:220px;overflow-y:auto;padding:4px}.activity-suggestions button{background:#fff;border:none;border-radius:6px;color:#1f2937;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;text-align:left;width:100%}.activity-suggestions button:hover{background:#f0fdf4}.activity-log-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;max-height:min(60vh,560px);overflow-y:auto;padding:8px;text-align:left}.activity-entry{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;overflow:hidden}.activity-entry-header{background:#fff;border:none;cursor:pointer;padding:14px 16px;text-align:left;width:100%}.activity-entry-header:disabled{cursor:default}.activity-entry-header.expanded{background:#f0fdf4}.activity-entry-meta{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px;margin-bottom:6px}.activity-when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.activity-actor{align-items:center;color:#374151;display:inline-flex;font-weight:600;gap:8px}.role-chip{background:#f3f4f6;border:1px solid #d1d5db;border-radius:999px;color:#4b5563;font-size:11px;font-weight:600;padding:2px 8px}.role-chip.role-admin,.role-chip.role-breakglass{background:#ecfdf5;border-color:#86efac;color:#166534}.role-chip.role-supervisor{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.activity-summary{color:#111827;font-size:15px;line-height:1.4;margin:0}.activity-expand-hint{color:#16a34a;display:inline-block;font-size:12px;font-weight:600;margin-top:8px}.activity-entry-body{background:#f9fafb;border-top:1px solid #e5e7eb;padding:0 16px 14px}.activity-details-list{color:#374151;font-size:14px;line-height:1.5;margin:12px 0 0;padding-left:18px}.activity-details-empty{color:#9ca3af;font-size:14px;margin:12px 0 0}.diff-from{color:#b91c1c;text-decoration:line-through}.diff-arrow{color:#9ca3af}.diff-to{color:#15803d;font-weight:600}.activity-empty,.activity-end,.activity-error,.activity-loading{color:#6b7280;font-size:14px;padding:20px;text-align:center}.activity-error{color:#b91c1c}.activity-log-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.loading-spinner{animation:activity-spin .8s linear infinite}@keyframes activity-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.activity-log-card{padding:24px 16px}.activity-log-title{font-size:24px}.activity-log-list{max-height:55vh}}.feedback-page-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.feedback-page-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:920px;padding:40px;width:100%}.feedback-page-header{margin-bottom:24px;text-align:center}.feedback-page-header .logo{margin-bottom:16px}.feedback-page-header .logo-image{height:120px!important;max-width:280px!important;object-fit:contain;width:auto!important}.feedback-page-title{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.feedback-page-subtitle{color:#6b7280;font-size:15px;margin:0}.feedback-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;max-height:min(60vh,560px);overflow-y:auto;padding:8px;text-align:left}.feedback-entry{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;padding:14px 16px}.feedback-entry-meta{align-items:baseline;color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px;margin-bottom:8px}.feedback-name{color:#111827;font-size:15px;font-weight:600}.feedback-when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feedback-message{color:#374151;font-size:15px;line-height:1.5;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.feedback-end,.feedback-status{color:#6b7280;font-size:14px;padding:20px;text-align:center}.feedback-error{color:#b91c1c}.load-more-btn{background:#fff;border:2px solid #bbf7d0;border-radius:8px;color:#166534;cursor:pointer;display:block;font-weight:600;margin:8px auto 12px;padding:8px 16px}.load-more-btn:hover{background:#f0fdf4}.feedback-page-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.loading-spinner{animation:feedback-spin .8s linear infinite;border:3px solid #dcfce7;border-top-color:#22c55e;height:40px;margin:0 auto 12px;width:40px}@keyframes feedback-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.feedback-page-card{padding:24px 16px}.feedback-page-title{font-size:24px}.feedback-list{max-height:55vh}}.update-waiver-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.update-waiver-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:800px;padding:48px;text-align:center;width:100%}.update-waiver-header{margin-bottom:32px}.logo{margin-bottom:24px}.logo-image{height:150px!important;max-height:none!important;max-width:350px!important;object-fit:contain;width:auto!important}.update-waiver-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.update-waiver-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.current-status,.update-waiver-content{margin-bottom:32px}.current-status{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:left}.current-status h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px;text-align:center}.status-info{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.status-item{display:flex;flex-direction:column;gap:4px}.status-label{color:#6b7280;font-size:14px;font-weight:500}.status-value{color:#1f2937;font-size:16px;font-weight:600}.status-value.accepted{color:#059669}.status-value.current{color:#059669;font-weight:700}.status-value.not-accepted{color:#dc2626}.status-value.expired{color:#dc2626;font-weight:700}.waiver-form{text-align:left}.form-divider{align-items:center;display:flex;margin:24px 0}.divider-line{background:#e5e7eb;flex:1 1;height:1px}.divider-text{color:#6b7280;font-size:14px;font-weight:600;padding:0 16px}.liability-waiver-section{border:1px solid #e5e7eb;border-radius:12px;margin:30px 0;overflow:hidden}.waiver-content{background:#f9fafb;border-bottom:1px solid #e5e7eb;max-height:400px;overflow-y:auto;padding:24px}.waiver-content h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px;text-align:center}.waiver-content h4{color:#374151;font-size:16px;font-weight:600;margin:20px 0 8px}.waiver-content p{color:#4b5563;font-size:14px;line-height:1.6;margin:0 0 16px}.waiver-content ul{margin:0 0 16px;padding-left:20px}.waiver-content li{color:#4b5563;font-size:14px;line-height:1.6;margin:0 0 8px}.waiver-agreement{background:#fff;padding:20px 24px}.checkbox-label,.waiver-agreement{align-items:flex-start;display:flex;gap:12px}.checkbox-label{color:#374151;cursor:pointer;font-size:14px;line-height:1.5}.waiver-checkbox{accent-color:#10b981;cursor:pointer;flex-shrink:0;height:18px;margin:2px 0 0;width:18px}.checkbox-text{color:#1f2937;font-weight:500}.checkbox-text:before{color:#ef4444;content:"*";margin-right:4px}.waiver-content::-webkit-scrollbar{width:6px}.waiver-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.waiver-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.waiver-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.submit-button{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:16px;box-shadow:0 8px 20px #22c55e4d;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;gap:8px;justify-content:center;letter-spacing:1px;margin-top:24px;min-width:200px;overflow:hidden;padding:20px 40px;position:relative;text-transform:uppercase;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 12px 24px #22c55e66;transform:translateY(-3px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.submit-button.loading{opacity:.8}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}.message{border-radius:8px;font-size:14px;margin-top:16px;padding:12px 16px;text-align:center}.message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-container p{color:#6b7280;font-size:16px;margin-top:16px}.update-waiver-footer{border-top:1px solid #e5e7eb;padding-top:24px}.back-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:16px;font-weight:600;padding:12px 24px}.back-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}@media (max-width:768px){.update-waiver-container{align-items:flex-start;padding:10px}.update-waiver-card{margin:10px 0;max-width:100%;padding:24px 20px}.status-info{grid-template-columns:1fr}.waiver-content{max-height:300px}.submit-button{font-size:16px;padding:16px 20px}}@media (max-width:480px){.update-waiver-card{border-radius:16px;padding:20px 16px}.update-waiver-title{font-size:24px}.waiver-content{max-height:250px;padding:16px}.current-status,.waiver-agreement{padding:16px}}.qr-login-container{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;justify-content:center;min-height:100vh;padding:20px}.qr-login-card{background:#fff;border:1px solid #22c55e1a;border-radius:24px;box-shadow:0 20px 40px #22c55e1a;max-width:600px;padding:48px;text-align:center;width:100%}.qr-login-header{margin-bottom:32px}.qr-login-header .logo{margin-bottom:24px}.qr-login-header .logo-image{height:150px!important;max-height:none!important;max-width:350px!important;object-fit:contain;width:auto!important}.qr-login-title{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.qr-login-subtitle{color:#6b7280;font-size:16px;margin:0;text-align:center}.qr-login-content{margin-bottom:32px;position:relative}.qr-scanner-setup{padding:40px 20px}.scanner-icon{font-size:64px;margin-bottom:24px}.qr-scanner-setup h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 16px}.qr-scanner-setup p{color:#6b7280;font-size:16px;margin:0 0 32px}.start-scan-button{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:16px;box-shadow:0 8px 20px #22c55e4d;color:#fff;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;overflow:hidden;padding:20px 40px;position:relative;text-transform:uppercase;transition:all .3s ease}.start-scan-button:hover:not(:disabled){box-shadow:0 12px 24px #22c55e66;transform:translateY(-3px)}.start-scan-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.qr-scanner-active{gap:24px}.qr-scanner-active,.scanner-container{align-items:center;display:flex;flex-direction:column}.scanner-container{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;gap:20px;max-width:500px;padding:40px;width:100%}.scanner-icon-large{font-size:80px;margin-bottom:16px}.scanner-container h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.scan-instructions{color:#6b7280;font-size:16px;margin:0;text-align:center}.scanner-input-container{max-width:300px;width:100%}.scanner-input{background:#fff;border:2px solid #d1d5db;border-radius:12px;color:#374151;font-size:18px;font-weight:500;outline:none;padding:16px;text-align:center;transition:all .2s ease;width:100%}.scanner-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.scanner-status{align-items:center;color:#059669;display:flex;font-size:14px;font-weight:500;gap:8px}.status-indicator{background:#d1d5db;border-radius:50%;height:12px;transition:all .2s ease;width:12px}.status-indicator.active{animation:pulse 2s infinite;background:#22c55e}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.qr-scanner-active.success-mode{align-items:center;animation:successFadeIn .4s ease-out;background:linear-gradient(135deg,#ecfdf5,#d1fae5 50%,#a7f3d0);border:2px solid #10b981;border-radius:16px;display:flex;justify-content:center;min-height:300px}@keyframes successFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.success-content{align-items:center;color:#065f46;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:300px;padding:40px 20px;text-align:center}.success-icon{animation:successBounce .8s ease-out;color:#10b981;filter:drop-shadow(0 2px 4px rgba(16,185,129,.3));font-size:60px;font-weight:700;margin-bottom:20px}@keyframes successBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.success-title{color:#064e3b;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1.1;margin:0 0 12px;text-shadow:0 1px 2px #064e3b1a}.success-subtitle{color:#047857;font-size:18px;font-weight:500;line-height:1.4;margin:0 0 24px;opacity:.9}.success-timer{align-items:center;display:flex;justify-content:center;margin-top:8px}.timer-circle{background:#fff9;border:3px solid #10b9814d;border-radius:50%;height:50px;overflow:hidden;position:relative;width:50px}.timer-fill{animation:timerCountdown 3s linear forwards;background:conic-gradient(from 0deg,#10b981 0deg,#10b981 1turn,#0000 1turn);border-radius:50%;height:100%;left:0;position:absolute;top:0;width:100%}@keyframes timerCountdown{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stop-scan-button{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:16px;box-shadow:0 8px 20px #ef44444d;color:#fff;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:1px;min-width:200px;overflow:hidden;padding:20px 40px;position:relative;text-transform:uppercase;transition:all .3s ease}.stop-scan-button:hover:not(:disabled){box-shadow:0 12px 24px #ef444466;transform:translateY(-3px)}.stop-scan-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.message{animation:slideIn .3s ease;border-radius:12px;font-size:16px;font-weight:500;margin-top:24px;padding:16px 24px}.message.success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.message.processing{background:#fef3c7;border:1px solid #fde68a;color:#92400e}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.qr-login-footer{text-align:center}.qr-login-footer .back-button{background:#0000;border:2px solid #e5e7eb;border-radius:12px;box-shadow:none;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transform:none;transition:all .2s ease}.qr-login-footer .back-button:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:none;color:#374151;transform:none}@media (max-width:640px){.qr-login-card{margin:10px;padding:24px}.qr-login-title{font-size:24px}.camera-container{max-width:300px}.scan-frame{height:200px;width:200px}}.button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;justify-content:center;min-height:44px;padding:12px 24px;text-decoration:none;transition:all .2s ease}.button:disabled{opacity:.6}.button.loading,.button:disabled{cursor:not-allowed}.button-primary{background-color:#007bff;color:#fff}.button-primary:hover:not(:disabled){background-color:#0056b3}.button-secondary{background-color:#6c757d;color:#fff}.button-secondary:hover:not(:disabled){background-color:#545b62}.button-danger{background-color:#dc3545;color:#fff}.button-danger:hover:not(:disabled){background-color:#c82333}.button-success{background-color:#28a745;color:#fff}.button-success:hover:not(:disabled){background-color:#1e7e34}.button-warning{background-color:#ffc107;color:#212529}.button-warning:hover:not(:disabled){background-color:#e0a800}.button-small{font-size:14px;min-height:36px;padding:8px 16px}.button-medium{font-size:16px;min-height:44px;padding:12px 24px}.button-large{font-size:18px;min-height:52px;padding:16px 32px}.loading-spinner{align-items:center;display:inline-flex;justify-content:center}.loading-spinner .spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}.loading-spinner-small .spinner{height:16px;width:16px}.loading-spinner-large .spinner{height:24px;width:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.logo{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.logo-image{width:auto}.logo-text{color:#333;font-size:24px;font-weight:700}.page-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.page-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:40px;width:100%}.page-header{margin-bottom:30px;text-align:center}.page-title{color:#333;font-size:28px;font-weight:600;margin:20px 0 10px}.page-subtitle{color:#666;font-size:16px;line-height:1.5;margin:0 0 20px}.page-content{margin-bottom:30px}.page-footer{border-top:1px solid #eee;padding-top:20px;text-align:center}.back-button{background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.back-button:hover{background-color:#f8f9fa;border-color:#adb5bd}.App{display:flex;flex-direction:column;min-height:100vh}
/*# sourceMappingURL=main.9272e326.css.map*/