:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#111827;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:#f3f4f6}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{margin:0;padding:0;width:100%}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.guest-page{min-height:100vh;position:relative}.guest-page:before{content:"";position:absolute;inset:0;background-image:url(/SDVSTCCSC_temple.jpg);background-repeat:no-repeat;background-position:center center;background-size:auto 60%;opacity:.15;pointer-events:none;z-index:0}.guest-page>*{position:relative;z-index:1}.landing-page{min-height:100vh;position:relative}.landing-page:before{content:"";position:absolute;inset:0;background-image:url(/SDVSTCCSC_temple.jpg);background-repeat:no-repeat;background-position:center center;background-size:auto 60%;opacity:.15;pointer-events:none;z-index:0}.landing-page>*{position:relative;z-index:1}.login-page{min-height:100vh;position:relative}.login-page:before{content:"";position:absolute;inset:0;background-image:url(/SDVSTCCSC_temple.jpg);background-repeat:no-repeat;background-position:center center;background-size:auto 60%;opacity:.15;pointer-events:none;z-index:0}.login-page>*{position:relative;z-index:1}.devotee-form,.service-form,.checkin-form,.donation-form{display:flex;flex-direction:column;gap:.75rem;max-width:900px}.form-row{display:flex;flex-wrap:wrap;gap:.75rem}.form-field{flex:1 1 200px;min-width:0}.form-field.small{flex:0 0 140px}.form-field.narrow{flex:0 0 160px}label{display:flex;flex-direction:column;font-size:.85rem;color:#374151;gap:.25rem}input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{padding:.4rem .5rem;border-radius:.25rem;border:1px solid #d1d5db;font-size:.9rem}textarea{resize:vertical}button{align-self:flex-start;padding:.45rem .9rem;border-radius:.375rem;border:none;background-color:#2563eb;color:#fff;font-size:.9rem;cursor:pointer}button:disabled{opacity:.7;cursor:default}.checkbox-label{flex-direction:row;align-items:center;gap:.4rem}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{border-bottom:1px solid #e5e7eb;padding:.4rem .5rem;text-align:left}thead th{background-color:#f3f4f6;font-weight:600}tbody tr:nth-child(2n){background-color:#f9fafb}.layout-root{display:flex;min-height:100vh}.layout-sidebar{width:220px;background-color:#111827;color:#fff;padding:1rem;display:flex;flex-direction:column;gap:1rem}.layout-logo{font-size:1.1rem;font-weight:600}.layout-nav{display:flex;flex-direction:column;gap:.5rem}.layout-nav-item{color:#e5e7eb;text-decoration:none;padding:.4rem .6rem;border-radius:.25rem}.layout-nav-item:hover{background-color:#374151}.layout-nav-section-title{margin-top:.5rem;font-size:.9rem;font-weight:600;color:#9ca3af}.layout-nav-subitem{color:#e5e7eb;text-decoration:none;padding:.25rem .6rem;border-radius:.25rem;font-size:.9rem;margin-left:.75rem}.layout-nav-subitem:hover{background-color:#374151}.layout-main{flex:1;display:flex;flex-direction:column;background-color:#f3f4f6;position:relative}.layout-main:before{content:"";position:absolute;inset:0;background-image:url(/SDVSTCCSC_temple.jpg);background-repeat:no-repeat;background-position:center center;background-size:auto 60%;opacity:.15;pointer-events:none;z-index:0}.layout-main>*{position:relative;z-index:1}.layout-header{padding:.75rem 1.5rem;border-bottom:1px solid #e5e7eb;background-color:#fff}.layout-header-title{margin:0;font-size:1.8rem;font-weight:600;white-space:nowrap}.layout-content{padding:1.5rem}.profile-menu-item:hover{background-color:#e5e7eb;outline:2px solid #93c5fd;outline-offset:-2px}.profile-menu-item:focus{outline:2px solid #60a5fa;outline-offset:-2px}.profile-menu-item:focus-visible{outline:3px solid #3b82f6;outline-offset:-3px}.card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:90px;width:150px}.card-title{font-size:.8rem;color:#6b7280;margin-bottom:.5rem;font-weight:600}.card-value{font-size:1.5rem;font-weight:600}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#dc3545;color:#fff;border-radius:10px;font-size:11px;font-weight:700;margin-left:8px;vertical-align:middle}.notification-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:80px;z-index:2000}.notification-panel{background:#fff;width:90%;max-width:500px;max-height:80vh;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column}.notification-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.notification-panel-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.close-button{background:transparent;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button:hover{background:#f3f4f6}.notification-panel-content{flex:1;overflow-y:auto;padding:10px}.notification-loading,.notification-empty{text-align:center;padding:40px 20px;color:#6b7280}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .2s}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#eff6ff}.notification-item.unread:hover{background:#dbeafe}.notification-item.read{opacity:.7}.notification-icon{font-size:24px;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-message{font-size:14px;color:#111827;margin-bottom:4px;line-height:1.4}.notification-timestamp{font-size:12px;color:#6b7280}.mark-read-button{background:#e5e7eb;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;font-size:16px;flex-shrink:0;transition:background .2s}.mark-read-button:hover{background:#d1d5db}@media(max-width:768px){.notification-panel-overlay{padding-top:20px}.notification-panel{width:95%;max-height:90vh}.notification-panel-header{padding:15px}.notification-panel-header h3{font-size:18px}.notification-item{padding:12px}.notification-icon{font-size:20px}.notification-message{font-size:13px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background-color:#fff;border-radius:.5rem;padding:1.5rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item strong{font-size:.85rem;color:#6b7280}.detail-item span{font-size:.95rem;color:#111827}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background-color:#e5e7eb}.timeline-item{position:relative;margin-bottom:1.5rem;display:flex;gap:1rem}.timeline-icon{position:absolute;left:-1.75rem;width:2rem;height:2rem;background-color:#fff;border:2px solid #e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.timeline-content{flex:1;padding:.75rem;background-color:#f9fafb;border-radius:.375rem;border-left:3px solid #2563eb}.desktop-table{display:block}.mobile-cards{display:none}@media(max-width:768px){.desktop-table{display:none}.mobile-cards{display:block}.modal-overlay{padding:0;align-items:flex-start}.modal-content{max-width:100%;max-height:100vh;border-radius:0;padding:1rem}.form-row{flex-direction:column}.form-field,.form-field.small,.form-field.narrow{flex:1 1 auto;width:100%}.details-grid{grid-template-columns:1fr}.timeline{padding-left:1.5rem}.timeline-icon{left:-1.5rem;width:1.5rem;height:1.5rem;font-size:.85rem}.timeline-content{padding:.5rem;font-size:.9rem}button{min-height:44px;padding:.6rem 1rem}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],select,textarea{min-height:44px;font-size:16px}.form-field{position:relative}}@media(max-width:1024px)and (min-width:769px){.details-grid{grid-template-columns:repeat(2,1fr)}.modal-content{max-width:90%}}@media(max-width:480px){.modal-content{padding:.75rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.details-grid .detail-item span[style*=padding]{font-size:.7rem;padding:.2rem .4rem}.timeline{padding-left:1rem}.timeline:before{left:.25rem}.timeline-icon{left:-1rem;width:1.25rem;height:1.25rem;font-size:.75rem}}@media print{.modal-overlay{position:static;background-color:transparent}.modal-content{box-shadow:none;max-height:none}button{display:none}.timeline:before{background-color:#000}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.modal-content{border:2px solid #000}.timeline-content{border-left-width:4px}button{border:2px solid currentColor}}@media(prefers-color-scheme:dark){.modal-overlay{background-color:#000c}.modal-content{background-color:#1f2937;color:#f9fafb}.timeline-content{background-color:#374151}.detail-item strong{color:#9ca3af}.detail-item span{color:#f9fafb}}.analytics-container{padding:20px}.analytics-filters{display:flex;gap:15px;margin-bottom:20px;align-items:flex-end}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.metric-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.metric-card.pending{border-left:4px solid #ffc107}.metric-card.approved{border-left:4px solid #28a745}.metric-card.rejected{border-left:4px solid #dc3545}.metric-card.completed{border-left:4px solid #17a2b8}.metric-card.cancelled{border-left:4px solid #6c757d}.metric-value{font-size:32px;font-weight:700;color:#333}.metric-label{font-size:14px;color:#666;margin-top:5px}.analytics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.analytics-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.analytics-card h3{margin:0 0 15px;font-size:18px;color:#333}.big-metric{font-size:48px;font-weight:700;color:#007bff;text-align:center}.chart-simple{display:flex;flex-direction:column;gap:10px}.chart-bar{display:flex;flex-direction:column;gap:5px}.chart-label{font-size:14px;font-weight:600;color:#333}.chart-bar-container{display:flex;align-items:center;gap:10px;background:#f8f9fa;border-radius:4px;padding:5px;position:relative}.chart-bar-fill{height:30px;background:linear-gradient(90deg,#007bff,#0056b3);border-radius:4px;transition:width .3s ease}.chart-value{position:absolute;right:10px;font-weight:600;color:#333}.report-container{padding:20px}.report-filters{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.report-summary{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:4px}.summary-item{font-size:14px}.report-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a}.report-table th,.report-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.report-table th{background:#f8f9fa;font-weight:600;color:#333}.report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.report-table th.sortable:hover{background:#e9ecef}.report-table tbody tr:hover{background:#f8f9fa}@media(max-width:768px){.analytics-filters,.report-filters,.workload-filters{flex-direction:column;align-items:stretch}.metrics-grid{grid-template-columns:repeat(2,1fr)}.analytics-row{grid-template-columns:1fr}.report-table,.workload-table{font-size:12px}.report-table th,.report-table td,.workload-table th,.workload-table td{padding:8px}}.calendar-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-header h2{margin:0;font-size:24px;color:#333}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#e0e0e0;border:1px solid #e0e0e0}.calendar-day-header{background-color:#f5f5f5;padding:10px;text-align:center;font-weight:700;color:#666;border:1px solid #e0e0e0}.calendar-day{background-color:#fff;min-height:120px;padding:8px;border:1px solid #e0e0e0;position:relative}.calendar-day-empty{background-color:#fafafa}.calendar-day-today{background-color:#e3f2fd;border:2px solid #2196f3}.calendar-day-number{font-weight:700;color:#333;margin-bottom:5px;font-size:14px}.calendar-events{display:flex;flex-direction:column;gap:4px}.calendar-event{background-color:#f0f7ff;border-left:3px solid #2196f3;padding:6px;font-size:11px;border-radius:3px;cursor:pointer;transition:background-color .2s}.calendar-event:hover{background-color:#e3f2fd}.calendar-event-time{font-weight:700;color:#1976d2;margin-bottom:2px}.calendar-event-title{font-weight:600;color:#333;margin-bottom:2px}.calendar-event-devotee{color:#666;font-size:10px;margin-bottom:2px}.calendar-event-priest{color:#666;font-size:10px;font-style:italic;margin-bottom:2px}.calendar-event-status{margin-top:3px}.calendar-event-status .status-badge{font-size:9px;padding:2px 6px}@media(max-width:768px){.calendar-grid{grid-template-columns:1fr}.calendar-day-header{display:none}.calendar-day{min-height:auto;border-bottom:2px solid #e0e0e0}.calendar-day-number{font-size:16px;margin-bottom:10px}.calendar-event{font-size:12px;padding:8px}.calendar-event-time{font-size:12px}.calendar-event-title{font-size:13px}.calendar-event-devotee,.calendar-event-priest{font-size:11px}.calendar-event-status .status-badge{font-size:10px;padding:3px 8px}}.calendar-controls{margin-bottom:20px}.view-mode-buttons{display:flex;gap:10px;margin-bottom:15px;justify-content:center}.view-mode-buttons .btn{min-width:80px}.calendar-day-has-events{cursor:pointer}.calendar-day-has-events:hover{background-color:#f5f5f5}.day-view{padding:20px}.day-view h3{margin-bottom:20px;color:#333;font-size:20px}.no-events{text-align:center;color:#666;padding:40px;font-size:16px}.day-events-list{display:flex;flex-direction:column;gap:15px}.day-event-card{background:#fff;border:1px solid #e0e0e0;border-left:4px solid #2196f3;border-radius:4px;padding:15px;display:flex;gap:15px;transition:box-shadow .2s}.day-event-card:hover{box-shadow:0 2px 8px #0000001a}.day-event-time{font-size:18px;font-weight:700;color:#1976d2;min-width:100px}.day-event-details{flex:1}.day-event-details h4{margin:0 0 10px;color:#333;font-size:18px}.day-event-details p{margin:5px 0;color:#666;font-size:14px}.week-view{padding:10px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.week-day{background:#fff;border:1px solid #e0e0e0;border-radius:4px;min-height:400px;display:flex;flex-direction:column}.week-day-today{background-color:#e3f2fd;border:2px solid #2196f3}.week-day-header{background:#f5f5f5;padding:10px;text-align:center;border-bottom:1px solid #e0e0e0}.week-day-name{font-weight:700;color:#666;font-size:12px;text-transform:uppercase}.week-day-number{font-size:20px;font-weight:700;color:#333;margin-top:5px}.week-events{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.week-event{background-color:#f0f7ff;border-left:3px solid #2196f3;padding:8px;font-size:11px;border-radius:3px;cursor:pointer;transition:background-color .2s}.week-event:hover{background-color:#e3f2fd}.week-event-time{font-weight:700;color:#1976d2;margin-bottom:4px;font-size:12px}.week-event-title{font-weight:600;color:#333;margin-bottom:4px;font-size:12px}.week-event-devotee{color:#666;font-size:10px;margin-bottom:4px}.week-event-priest{color:#666;font-size:10px;font-style:italic;margin-bottom:4px}.week-event-status{margin-top:4px}.week-event-status .status-badge{font-size:9px;padding:2px 6px}@media(max-width:768px){.view-mode-buttons{flex-direction:row;justify-content:center}.week-grid{grid-template-columns:1fr}.week-day{min-height:auto}.day-event-card{flex-direction:column}.day-event-time{min-width:auto}.calendar-controls{padding:10px}.calendar-header{flex-direction:column;gap:10px}.calendar-header h2{font-size:18px;text-align:center}}@media(max-width:1024px)and (min-width:769px){.week-grid{grid-template-columns:repeat(3,1fr)}}.priest-list{padding:20px}.priest-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.priest-filters{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-weight:600;font-size:14px}.filter-group input,.filter-group select{padding:8px;border:1px solid #ddd;border-radius:4px;min-width:200px}.priest-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a}.priest-table th,.priest-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.priest-table th{background:#f8f9fa;font-weight:600;color:#333}.priest-table tbody tr:hover{background:#f8f9fa}.priest-table .actions{display:flex;gap:8px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.priest-form-container{padding:20px;max-width:600px;margin:0 auto}.priest-form{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:600;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.form-group .error-message{display:block;color:#dc3545;font-size:12px;margin-top:5px}.form-group .required{color:#dc3545}.form-group .form-hint{display:block;color:#6c757d;font-size:12px;margin-top:5px;font-style:italic}.form-group input:disabled,.form-group select:disabled{background-color:#e9ecef;cursor:not-allowed}.checkbox-group label{display:flex;align-items:center;gap:8px;font-weight:400}.checkbox-group input[type=checkbox]{width:auto}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.priest-calendar{padding:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-navigation{display:flex;align-items:center;gap:20px}.calendar-legend{display:flex;gap:20px;margin-bottom:20px;padding:10px;background:#f8f9fa;border-radius:4px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px}.legend-color{width:20px;height:20px;border-radius:4px}.availability-available{background:#d4edda;border:1px solid #c3e6cb}.availability-blocked{background:#f8d7da;border:1px solid #f5c6cb}.availability-scheduled{background:#d1ecf1;border:1px solid #bee5eb}.availability-list{display:flex;flex-direction:column;gap:10px}.availability-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.availability-info{flex:1}.availability-type{font-weight:600;margin-bottom:5px}.availability-time{font-size:14px;color:#666}.availability-notes{font-size:13px;color:#888;margin-top:5px;font-style:italic}.availability-actions{display:flex;gap:8px}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.dialog-content{background:#fff;padding:30px;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.availability-form,.recurring-pattern-form{margin-top:20px}.conflicts-warning{background:#fff3cd;border:1px solid #ffc107;padding:15px;border-radius:4px;margin-bottom:15px}.conflicts-warning ul{margin:10px 0 0 20px}.days-of-week{display:flex;flex-wrap:wrap;gap:10px}.day-checkbox{display:flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-weight:400}.day-checkbox input[type=checkbox]{width:auto;margin:0}.day-checkbox:hover{background:#f8f9fa}.btn-primary,.btn-secondary,.btn-danger,.btn-warning,.btn-success,.btn-small{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-small{padding:6px 12px;font-size:12px}button:disabled{opacity:.6;cursor:not-allowed}.loading,.error,.no-data{text-align:center;padding:40px;color:#666}.error{color:#dc3545}@media(max-width:768px){.priest-list-header{flex-direction:column;align-items:flex-start;gap:10px}.priest-filters{flex-direction:column}.filter-group input,.filter-group select{min-width:100%}.priest-table{font-size:12px}.priest-table th,.priest-table td{padding:8px}.priest-table .actions{flex-direction:column;gap:4px}.dialog-content{width:95%;padding:20px}.calendar-navigation{flex-direction:column;gap:10px}.availability-item{flex-direction:column;align-items:flex-start;gap:10px}.availability-actions{width:100%;justify-content:flex-end}}.workload-dashboard{padding:20px}.workload-filters{display:flex;gap:15px;margin-bottom:20px;align-items:flex-end}.workload-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a}.workload-table th,.workload-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.workload-table th{background:#f8f9fa;font-weight:600;color:#333}.workload-table tbody tr:hover{background:#f8f9fa}.utilization-cell{display:flex;align-items:center;gap:10px}.utilization-bar{flex:1;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden}.utilization-fill{height:100%;transition:width .3s ease}.utilization-high{background:#dc3545;color:#dc3545}.utilization-normal{background:#ffc107;color:#856404}.utilization-low{background:#28a745;color:#28a745}.workload-legend{display:flex;gap:20px;margin-top:20px;padding:15px;background:#f8f9fa;border-radius:4px}.workload-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:14px}.workload-legend .legend-color{width:20px;height:20px;border-radius:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:20px}.modal-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.sync-summary{background:#f8f9fa;padding:15px;border-radius:4px;margin-bottom:20px}.sync-summary p{margin:5px 0;font-size:14px}.sync-passwords,.sync-errors{margin-top:20px}.sync-passwords h4,.sync-errors h4{margin-bottom:10px;color:#333}.password-warning{background:#fff3cd;border:1px solid #ffc107;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px;color:#856404}.password-table,.error-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}.password-table th,.password-table td,.error-table th,.error-table td{padding:10px;text-align:left;border-bottom:1px solid #eee}.password-table th,.error-table th{background:#f8f9fa;font-weight:600}.password-cell{font-family:monospace;font-size:13px;background:#f8f9fa;padding:8px;border-radius:4px}.error-message{color:#dc3545;font-size:13px}.header-actions{display:flex;gap:10px}@media(max-width:768px){.modal-content{width:95%;max-height:95vh}.password-table,.error-table{font-size:12px}.password-table th,.password-table td,.error-table th,.error-table td{padding:8px}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}}.password-modal{padding:30px;max-width:600px}.password-modal h3{margin:0 0 20px;color:#28a745;font-size:22px;display:flex;align-items:center;gap:10px}.password-info{margin-bottom:20px}.password-info .info-text{margin:10px 0;font-size:15px;line-height:1.5;color:#333}.password-display{display:flex;align-items:center;gap:10px;margin:20px 0;padding:15px;background:#f8f9fa;border:2px solid #007bff;border-radius:8px}.password-code{flex:1;font-family:Courier New,monospace;font-size:18px;font-weight:700;color:#007bff;letter-spacing:1px;padding:10px;background:#fff;border-radius:4px;word-break:break-all}.btn-copy{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s}.btn-copy:hover{background:#0056b3}.password-instructions{background:#fff3cd;border:1px solid #ffc107;padding:15px;border-radius:4px;margin-top:20px}.password-instructions h4{margin:0 0 10px;color:#856404;font-size:16px}.password-instructions ul{margin:10px 0 0 20px;padding:0}.password-instructions li{margin:8px 0;font-size:14px;color:#856404;line-height:1.5}.modal-actions{display:flex;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.modal-actions .btn-primary{padding:12px 30px;font-size:16px}@media(max-width:768px){.password-modal{padding:20px}.password-display{flex-direction:column;align-items:stretch}.btn-copy{width:100%}.password-code{font-size:16px}}.out-of-office-badge{display:inline-block;margin-left:10px;padding:4px 8px;background-color:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:4px;font-size:12px;font-weight:500}.out-of-office-section{margin-top:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.out-of-office-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.out-of-office-section h3{margin:0;font-size:20px}.periods-list{display:flex;flex-direction:column;gap:15px}.period-card{padding:15px;border:1px solid #e0e0e0;border-radius:6px;background:#f9f9f9}.period-dates{margin-bottom:8px;font-size:16px}.period-reason{margin-bottom:12px;color:#666;font-size:14px}.period-actions{display:flex;gap:10px}.no-data{text-align:center;color:#999;padding:20px;font-style:italic}.char-count{float:right;font-size:12px;color:#666;font-weight:400}
