.logout-warning-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.logout-warning-content{animation:warningSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:450px;width:90%}@keyframes warningSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.logout-warning-header{border-bottom:1px solid #f3f4f6;padding:2rem 2rem 1rem;text-align:center}.warning-icon{animation:warningPulse 2s infinite;font-size:3rem;margin-bottom:1rem}@keyframes warningPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.logout-warning-header h2{color:#dc2626;font-size:1.5rem;font-weight:600;margin:0}.logout-warning-body{padding:2rem;text-align:center}.logout-warning-body p{color:#4b5563;line-height:1.6;margin:0 0 1.5rem}.countdown-timer{background:linear-gradient(135deg,#dc2626,#ef4444);border-radius:12px;box-shadow:0 4px 12px #dc26264d;margin:1.5rem 0;padding:1.5rem}.countdown-time{color:#fff;display:block;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px #0000004d}.warning-message{color:#6b7280;font-size:.875rem;margin-bottom:0!important}.logout-warning-actions{display:flex;gap:1rem;padding:0 2rem 2rem}.logout-now-button{background-color:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.875rem 1.5rem;transition:all .2s}.logout-now-button:hover{background-color:#e5e7eb;transform:translateY(-1px)}.stay-logged-in-button{background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:8px;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;flex:2 1;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.stay-logged-in-button:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 6px 16px #10b98166;transform:translateY(-1px)}.stay-logged-in-button:active{transform:translateY(0)}@media (max-width:480px){.logout-warning-content{margin:1rem;width:95%}.logout-warning-header{padding:1.5rem 1.5rem 1rem}.logout-warning-body{padding:1.5rem}.countdown-time{font-size:2rem}.logout-warning-actions{flex-direction:column;padding:0 1.5rem 1.5rem}}.bug-report-button{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#ff6b6b,#ff5252);border:3px solid #fff;border-radius:50%;bottom:20px;box-shadow:0 4px 15px #ff525266,0 2px 8px #0003;cursor:pointer;display:flex;font-size:30px;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:9999}.bug-report-button:hover{background:linear-gradient(135deg,#ff5252,#f44);box-shadow:0 6px 20px #ff525299,0 3px 10px #0000004d;transform:scale(1.1)}.bug-report-button:active{transform:scale(.95)}@media (max-width:768px){.bug-report-button{bottom:15px;font-size:24px;height:50px;right:15px;width:50px}}.bug-report-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.bug-report-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:15px}.close-button{font-size:32px;line-height:1;transition:color .2s}.modal-body p{color:#666;font-size:16px;margin-bottom:20px}.report-options{display:flex;flex-direction:column;gap:15px}.report-option-btn{align-items:flex-start;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px solid #ddd;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;transition:all .3s ease}.report-option-btn:hover{background:linear-gradient(135deg,#fff,#f5f5f5);border-color:#ff5252;box-shadow:0 4px 12px #ff525233;transform:translateY(-2px)}.option-icon{font-size:32px}.option-title{color:#333;font-size:18px;font-weight:600}.option-description{color:#666}.red-overlay{animation:redPulse 1.5s ease-in-out infinite;-webkit-backdrop-filter:brightness(1.2) contrast(1.3) hue-rotate(-10deg);backdrop-filter:brightness(1.2) contrast(1.3) hue-rotate(-10deg);background:#ff000026;bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9998}@keyframes redPulse{0%,to{background:#ff000026}50%{background:#ff000040}}body.bug-report-active *{border-color:red!important;filter:hue-rotate(-20deg) saturate(1.5) brightness(1.1)}body.bug-report-active :hover{cursor:crosshair!important;outline:3px solid red;outline-offset:2px}.bug-control-buttons{animation:slideUpButtons .3s ease;bottom:20px;display:flex;gap:15px;left:50%;position:fixed;transform:translateX(-50%);z-index:10001}@keyframes slideUpButtons{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.bug-btn{border:none;border-radius:8px;box-shadow:0 4px 10px #0000004d;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;padding:15px 30px;text-transform:uppercase;transition:all .3s ease}.btn-stop{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-stop:hover{background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 6px 15px #e74c3c66;transform:translateY(-2px)}.btn-new{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-new:hover{background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 6px 15px #3498db66;transform:translateY(-2px)}.btn-general{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.btn-general:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 6px 15px #f39c1266;transform:translateY(-2px)}.click-instruction{animation:bounce 2s ease-in-out infinite;background:#000000e6;border-radius:25px;color:#fff;font-size:16px;font-weight:500;left:50%;padding:15px 30px;position:fixed;top:20px;transform:translateX(-50%);z-index:10001}.describe-modal{max-width:600px}.selected-element-info{background:#f8f9fa;border-left:4px solid #ff5252;border-radius:6px;color:#495057;font-size:13px;margin-bottom:15px;padding:15px}.element-detail{line-height:1.6;margin-bottom:8px}.element-detail:last-child{margin-bottom:0}.element-detail strong{color:#333;display:inline-block;min-width:80px}.attributes-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.attribute-item{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#007bff;font-family:Courier New,monospace;font-size:12px;padding:3px 8px}.bug-description-input{border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;margin-bottom:20px;padding:15px;resize:vertical;transition:border-color .3s;width:100%}.bug-description-input:focus{border-color:#ff5252;outline:none}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-submit{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 10px #4caf504d;transform:translateY(-1px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#f0f0f0;color:#333}.btn-cancel:hover{background:#e0e0e0}.success-modal{max-width:400px;text-align:center}.success-icon{animation:scaleIn .5s ease;font-size:64px;margin-bottom:20px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-modal h2{color:#4caf50;margin-bottom:10px}.success-modal p{color:#666;font-size:14px}@media (max-width:768px){.bug-report-modal{padding:20px;width:95%}.modal-header h2{font-size:20px}.report-option-btn{padding:15px}.option-title{font-size:16px}.bug-control-buttons{flex-direction:column;max-width:300px;width:90%}.bug-btn,.click-instruction{font-size:14px;padding:12px 20px}}.ooftay-logo{margin-bottom:1.5rem;text-align:center}.logo-container{align-items:center;display:flex;flex-direction:column;gap:.5rem}.logo-image{height:auto;max-width:100%;transition:transform .2s ease,filter .2s ease}.ooftay-logo.large .logo-image{max-height:80px;width:auto}.ooftay-logo.large .logo-tagline{color:#6b7280;font-size:.875rem;font-weight:400;margin-top:.25rem}.ooftay-logo.medium .logo-image{display:block;margin:0 auto;max-height:70px;width:auto}.ooftay-logo.medium .logo-tagline{color:#6b7280;font-size:.8rem;font-weight:400;margin-top:.25rem;text-align:center}.ooftay-logo.small .logo-image{max-height:40px;width:auto}.ooftay-logo.small .logo-tagline{display:none}.logo-tagline{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.1em;opacity:.8;text-transform:uppercase}.ooftay-logo:hover .logo-image{cursor:pointer;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transform:translateY(-1px) scale(1.02)}@media (max-width:480px){.ooftay-logo.large .logo-image{max-height:60px}.ooftay-logo.large .logo-tagline{font-size:.75rem}}.logo-image{opacity:1;transition:opacity .3s ease}.logo-image:not([src]){opacity:0}.modal-content{border-radius:8px;box-shadow:0 4px 20px #0000004d}.modal-header{border-bottom:1px solid #eee;padding:20px 30px}.modal-header h2{color:#333;font-size:24px}.close-button{color:#999;font-size:28px;height:30px;width:30px}.close-button:hover{color:#333}.modal-body{padding:30px}.registration-choices{display:flex;flex-direction:column;gap:15px;margin-top:20px}.choice-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:20px;text-align:left;transition:all .3s ease}.choice-card:hover{background:#e7f3ff;border-color:#007bff}.choice-card h3{color:#333;font-size:18px;margin:0 0 10px}.choice-card p{color:#666;font-size:14px;margin:0}.registration-options{display:flex;flex-direction:column;gap:15px;margin-top:20px}.registration-option{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:20px;text-align:left;transition:all .3s ease}.registration-option:hover{background:#e7f3ff;border-color:#007bff}.registration-option h3{color:#333;font-size:18px;margin:0 0 10px}.registration-option p{color:#666;font-size:14px;margin:0}.form-section{border-bottom:1px solid #e9ecef;margin-bottom:30px;padding-bottom:20px}.form-section h3{border-bottom:2px solid #007bff;font-size:18px;margin:0 0 15px;padding-bottom:8px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.modal-body form{display:flex;flex-direction:column;gap:15px}.form-row{gap:10px}.form-row input{flex:1 1}.modal-body input{border:2px solid #e9ecef;border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.modal-body input:focus{border-color:#007bff;outline:none}.modal-body input:invalid{border-color:#dc3545}.password-requirements{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.password-requirements p{color:#333;font-weight:600;margin:0 0 10px}.password-requirements ul{list-style:none;margin:0;padding-left:20px}.password-requirements li{color:#dc3545;margin-bottom:5px;position:relative}.password-requirements li:before{content:"✗";font-weight:700;left:-20px;position:absolute}.password-requirements li.valid{color:#28a745}.password-requirements li.valid:before{content:"✓"}.modal-actions{gap:15px;margin-top:20px}.modal-actions button{border-radius:6px;font-size:16px;min-width:120px;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary:hover:not(:disabled){background:#0056b3}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}.form-actions{gap:15px;justify-content:flex-end;margin-top:20px}.form-actions button{border:none;border-radius:6px;cursor:pointer;font-size:16px;min-width:120px;padding:12px 24px;transition:all .3s ease}.form-actions button[type=button]{background:#6c757d;color:#fff}.form-actions button[type=button]:hover:not(:disabled){background:#5a6268}.form-actions button[type=submit]{background:#007bff;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#0056b3}.form-actions button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;margin-top:10px;padding:12px}.success-message{padding:20px 0;text-align:center}.success-message h3{color:#28a745;font-size:24px;margin-bottom:20px}.success-message p{color:#666;line-height:1.6;margin-bottom:15px}.success-button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px 30px;transition:background-color .3s ease}.success-button:hover{background:#218838}@media (max-width:600px){.modal-content{margin:10px;width:95%}.modal-body,.modal-header{padding:20px}.form-actions,.form-row{flex-direction:column}.form-actions button{width:100%}.registration-options{gap:10px}.registration-option{padding:15px}}.site-info-loading{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;font-style:italic;margin:10px 0;padding:12px;text-align:center}.site-info-display{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin:10px 0;overflow:hidden}.site-info-header{background:#28a745;color:#fff;font-weight:600;gap:8px;padding:10px 15px}.checkmark,.site-info-header{align-items:center;display:flex}.checkmark{background:#fff;border-radius:50%;color:#28a745;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.site-details{padding:15px}.site-details p{color:#155724;font-size:14px;margin:5px 0}.site-details strong{color:#0f2419}input.validated{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}input.auto-filled{background-color:#f8f9fa;border-color:#6c757d;color:#495057}input[readonly].auto-filled{background-color:#e9ecef;cursor:not-allowed}.invitation-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin:15px 0;padding:15px}.invitation-success p{color:#155724;margin:8px 0}.pending-approval{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin:15px 0;padding:15px}.pending-approval p{color:#856404;margin:8px 0}.admin-success{background-color:#cce5ff;border:1px solid #99d6ff;border-radius:6px;margin:15px 0;padding:15px}.admin-success p{color:#004085;margin:8px 0}.phone-input-container{position:relative;width:100%}.phone-input-wrapper{background:#fff;border:1px solid #ddd;border-radius:8px;display:flex;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.phone-input-wrapper:focus-within{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.country-selector{align-items:center;background:#f8f9fa;border-right:1px solid #ddd;cursor:pointer;display:flex;min-width:80px;padding:12px 8px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.country-selector:hover{background:#e9ecef}.country-flag{font-size:18px;margin-right:4px}.country-code{color:#333;font-size:14px;font-weight:500;margin-right:4px}.dropdown-arrow{color:#666;font-size:10px}.country-selector:hover .dropdown-arrow{transform:translateY(-1px)}.phone-number-input{background:#0000;border:none;flex:1 1;font-size:16px;outline:none;padding:12px}.phone-number-input::placeholder{color:#999}.country-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.country-search{border-bottom:1px solid #eee;padding:8px}.country-search input{border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;padding:8px 12px;width:100%}.country-search input:focus{border-color:#4caf50}.country-list{max-height:240px;overflow-y:auto}.country-option{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;padding:10px 12px;transition:background-color .2s ease}.country-option:hover{background:#f8f9fa}.country-option.selected{background:#e3f2fd;color:#1976d2;font-weight:500}.country-option .country-flag{font-size:16px;margin-right:8px}.country-option .country-name{flex:1 1;font-size:14px}.country-option .country-dial-code{color:#666;font-size:13px;font-weight:500;min-width:50px;text-align:right}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.country-dropdown{max-height:250px}.country-option{padding:12px}.country-flag{font-size:16px!important}.phone-number-input{font-size:16px}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.country-selector:active .dropdown-arrow{animation:bounce .6s}.country-list::-webkit-scrollbar{width:6px}.country-list::-webkit-scrollbar-track{background:#f1f1f1}.country-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.country-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.language-selector{display:inline-block;position:relative}.language-dropdown{position:relative}.language-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;min-width:120px;padding:.5rem .75rem;transition:all .2s}.language-button:focus,.language-button:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.language-button:focus{outline:none}.language-flag{font-size:1.1rem}.language-name{flex:1 1;text-align:left}.language-arrow{color:#6b7280;font-size:.75rem;transition:transform .2s}.language-dropdown:hover .language-arrow{transform:rotate(180deg)}.language-menu{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 10px 25px #00000026;left:0;max-height:350px;opacity:0;overflow-y:auto;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .2s;visibility:hidden;z-index:1000}.language-dropdown:hover .language-menu{opacity:1;transform:translateY(0);visibility:visible}.language-menu-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:.75rem;padding:.5rem .75rem;text-align:center}.language-menu-header small{align-items:center;display:flex;gap:.25rem;justify-content:center}.language-separator{margin:.25rem 0}.language-separator hr{border:none;border-top:1px solid #e5e7eb;margin:0}.language-option{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;text-align:left;transition:background-color .2s;width:100%}.language-option:hover{background-color:#f3f4f6}.language-option.active{background-color:#eff6ff;color:#3b82f6}.language-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.language-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.language-check{color:#10b981;font-weight:700;margin-left:auto}@media (max-width:480px){.language-button{font-size:.8rem;min-width:100px;padding:.4rem .6rem}.language-option{font-size:.8rem;padding:.6rem}.language-menu{max-height:200px}.language-selector.welcome-language .language-button{font-size:.75rem;min-width:90px;padding:.3rem .5rem}.language-selector.welcome-language .language-menu{min-width:120px}}.language-selector.login-language{position:absolute;right:1rem;top:1rem}.language-selector.login-language .language-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #fff3}.language-selector.login-language .language-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3}.language-selector.header-language{margin-left:auto}.language-selector.header-language .language-button{background:#0000;border:1px solid #ffffff4d;color:#fff}.language-selector.header-language .language-arrow{color:#ffffffb3}.language-selector.header-language .language-button:hover{background:#ffffff1a;border-color:#ffffff80}.language-selector.welcome-language{position:relative}.language-selector.welcome-language .language-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#495057;font-size:.85rem;min-width:110px;padding:.4rem .6rem}.language-selector.welcome-language .language-button:hover{background:#e9ecef;border-color:#adb5bd;box-shadow:0 2px 6px #00000026}.language-selector.welcome-language .language-menu{background:#fff;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 4px 12px #00000026;left:auto;min-width:140px;right:0}.login-container{align-items:center;background-color:#f3f4f6;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.login-screen{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:400px;padding:2rem;width:100%}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.form-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.login-button,.submit-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s}.login-button:hover:not(:disabled),.submit-button:hover:not(:disabled){background-color:#2563eb}.login-button:disabled,.submit-button:disabled{background-color:#9ca3af;cursor:not-allowed}.toggle-button{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}.toggle-button:hover:not(:disabled){background-color:#4b5563}.toggle-button:disabled{background-color:#9ca3af;cursor:not-allowed}.login-links{margin:1rem 0;text-align:center}.forgot-password-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;text-decoration:underline;transition:color .2s}.forgot-password-link:hover{color:#2563eb}.modal-overlay{background-color:#00000080}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.modal-close{align-items:center;color:#6b7280;display:flex;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.modal-close:hover{background-color:#f3f4f6}.modal-body{padding:1.5rem}.modal-body p{color:#6b7280;line-height:1.5;margin:0 0 1rem}.message{border-radius:6px;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.message.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.modal-actions{gap:.5rem;margin-top:1.5rem}.cancel-button{background-color:#f3f4f6;border:none;font-size:.875rem;transition:background-color .2s}.cancel-button:hover{background-color:#e5e7eb}.activation-content{padding:1rem 0;text-align:center}.activation-processing{padding:2rem 0}.spinner{border:3px solid #f3f3f3;border-top-color:#3b82f6;height:40px;margin:0 auto 1rem;width:40px}.activation-error,.activation-success{padding:2rem 0}.error-icon,.success-icon{font-size:3rem;margin-bottom:1rem}.success-message{color:#059669;font-weight:500}.error-message{background:none;border:none;padding:0}.activation-actions{align-items:center;display:flex;flex-direction:column;gap:.5rem}.personal-details-overlay{z-index:2000}.personal-details-modal{max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.personal-details-modal .modal-header{border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.personal-details-modal .modal-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.first-login-message{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.first-login-message p{color:#92400e;font-weight:500;margin:0}.personal-details-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-section h3{border-bottom:1px solid #d1d5db;color:#374151;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{gap:.5rem}.form-group label span.required{color:#dc2626}.form-input{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .2s}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:required{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23dc2626'%3E%3Ctext x='14' y='12' font-size='12' text-anchor='end'%3E*%3C/text%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;padding-right:2.5rem}.form-input:invalid{background-color:#fef2f2;border-color:#fca5a5}.form-input:valid{border-color:#86efac}.form-input select{cursor:pointer}.error-message{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626}.error-message,.success-message{font-size:.9rem;margin-bottom:1rem;padding:.75rem}.success-message{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#166534}.modal-actions{border-top:1px solid #e5e7eb}.cancel-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.cancel-button:hover{background:#e5e7eb;border-color:#9ca3af}.submit-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.submit-button:hover{background:#2563eb}.submit-button:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.personal-details-modal{max-height:95vh;width:95%}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.personal-details-modal:focus-within .form-input:focus{z-index:1}.form-group label:after{color:#dc2626;content:" *";font-weight:700}.form-group.optional label:after{content:""}.personal-details-form.loading{opacity:.7;pointer-events:none}.personal-details-overlay{animation:fadeIn .2s ease-out}.personal-details-modal{animation:slideIn .3s ease-out}.create-group-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.create-group-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.create-group-modal .modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.create-group-modal .modal-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.create-group-modal .modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;line-height:1;transition:all .2s;width:40px}.create-group-modal .modal-close-btn:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.create-group-modal .modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.create-group-modal .modal-body{padding:1.5rem}.create-group-modal .info-banner{background:linear-gradient(135deg,#667eea15,#764ba215);border-left:4px solid #667eea;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.create-group-modal .info-banner p{color:#333;font-size:.95rem;margin:.5rem 0}.create-group-modal .info-banner p:first-child{margin-top:0}.create-group-modal .info-banner p:last-child{margin-bottom:0}.create-group-modal .error-message{align-items:flex-start;background:#fff5f5;border:1px solid #feb2b2;border-left:4px solid #f56565;border-radius:6px;color:#c53030;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.create-group-modal .error-icon{flex-shrink:0;font-size:1.25rem}.create-group-modal .form-group{margin-bottom:1.5rem}.create-group-modal .form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.create-group-modal .form-group .required{color:#f56565}.create-group-modal .form-group input,.create-group-modal .form-group textarea{border:2px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.create-group-modal .form-group input:focus,.create-group-modal .form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-group-modal .form-group input:disabled,.create-group-modal .form-group textarea:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.create-group-modal .form-group textarea{min-height:80px;resize:vertical}.create-group-modal .form-hint{color:#718096;display:block;font-size:.85rem;font-style:italic;margin-top:.5rem}.create-group-modal .modal-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem}.create-group-modal .btn-primary,.create-group-modal .btn-secondary{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.create-group-modal .btn-secondary{background:#e2e8f0;color:#4a5568}.create-group-modal .btn-secondary:hover:not(:disabled){background:#cbd5e0}.create-group-modal .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.create-group-modal .btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.create-group-modal .btn-primary:disabled,.create-group-modal .btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.create-group-modal .info-footer{background:#f7fafc;border-radius:6px;margin-top:1.5rem;padding:1rem}.create-group-modal .info-footer p{color:#333;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.create-group-modal .info-footer ul{margin:0;padding-left:1.5rem}.create-group-modal .info-footer li{color:#4a5568;font-size:.9rem;margin:.5rem 0}@media (max-width:640px){.create-group-overlay{padding:.5rem}.create-group-modal{max-height:95vh}.create-group-modal .modal-header h2{font-size:1.25rem}.create-group-modal .modal-body{padding:1rem}.create-group-modal .modal-actions{flex-direction:column}.create-group-modal .info-footer{font-size:.85rem}.create-group-modal .info-footer ul{padding-left:1.25rem}}.group-switcher,.group-switcher-button{position:relative;z-index:9999}.group-switcher-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;cursor:pointer;max-width:400px;min-width:280px;padding:.75rem 1rem;transition:all .2s ease;width:100%}.group-switcher-button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f93);box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.group-switcher-button:disabled{cursor:not-allowed;opacity:.6}.current-group-info{align-items:center;color:#fff!important;display:flex;gap:.75rem}.group-icon{color:#fff;font-size:1.5rem}.group-details{align-items:flex-start;color:#fff;display:flex;flex:1 1;flex-direction:column;gap:.25rem}.group-switcher .group-name{color:#fff!important;font-size:.95rem;font-weight:600;text-align:left}.dropdown-arrow{color:#fff;font-size:.75rem;margin-left:.5rem;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.group-switcher .role-badge{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.125rem .5rem;text-transform:uppercase}.group-switcher .role-badge.admin{background:#ffffff40;border:1px solid #ffffff80;color:#fff}.group-switcher .role-badge.user{background:#ffffff26;border:1px solid #ffffff4d;color:#ffffffe6}.group-switcher .role-badge.siteadmin{background:#ffd7004d;border:1px solid #ffd70099;color:gold}.group-switcher .role-badge.ooftayadmin{background:#f003;border:1px solid #ff000080;color:#ff6b6b}.group-switcher-backdrop{background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.group-switcher-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000026;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:10000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;padding:1rem}.dropdown-header h4{color:#2c3e50;font-size:1rem;margin:0 0 .25rem}.dropdown-header p{color:#6c757d;font-size:.85rem;margin:0}.group-list{padding:.5rem}.group-item{background:#fff;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;margin-bottom:.5rem;padding:.75rem;text-align:left;transition:all .2s ease;width:100%}.group-item:hover:not(:disabled):not(.current){background:#f8f9fa;border-color:#667eea;transform:translateX(4px)}.group-item.current{background:linear-gradient(135deg,#e8f0ff,#f0e8ff);border-color:#667eea;cursor:default}.group-item:disabled{cursor:not-allowed;opacity:.6}.group-item-content{display:flex;flex-direction:column;gap:.5rem}.group-item-header{align-items:center;display:flex;justify-content:space-between}.group-item-name{color:#2c3e50;font-size:.95rem;font-weight:600}.current-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .5rem}.group-item-meta{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.group-code{color:#6c757d;font-family:Courier New,monospace;font-size:.8rem}.group-item .role-badge{background:#e9ecef;border:1px solid #dee2e6;color:#495057}.group-item .role-badge.admin{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.group-item .role-badge.siteadmin{background:linear-gradient(135deg,gold,#ffed4e);border:none;color:#6c5000}.group-item .role-badge.ooftayadmin{background:linear-gradient(135deg,#ff6b6b,#ff8787);border:none;color:#fff}@media (max-width:640px){.group-switcher-button{max-width:100%}.group-switcher-dropdown{left:-1rem;max-height:70vh;right:-1rem}.group-item-name,.group-name{font-size:.9rem}}.user-oncall-statistics{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.statistics-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.header-title{gap:.75rem}.header-title h2{color:#2c3e50;font-size:1.5rem}.statistics-filters{gap:1rem}.filter-group label{color:#6c757d;gap:.25rem}.form-select{border:1px solid #d1d5db;border-radius:4px}.btn-primary{border-radius:4px;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-primary:disabled{background:#6c757d}.btn-sm{font-size:.875rem;padding:.375rem .75rem}.error-container,.loading-container,.no-data-container{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{height:2rem;width:2rem}.error-container{color:#dc3545}.no-data-container{color:#6c757d}.no-data-container h3{color:#495057;margin:1rem 0 .5rem}.statistics-content{gap:2rem}.personal-overview h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.overview-cards{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{box-shadow:0 2px 4px #0000001a;gap:1rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,#fff,#f8f9ff);border-left:4px solid #007bff}.stat-icon{background:#e7f3ff;color:#007bff;height:48px;width:48px}.stat-number{color:#2c3e50;font-size:1.75rem;margin-bottom:.25rem}.stat-label{color:#6c757d;font-size:.9rem;font-weight:600;margin-bottom:.125rem}.stat-sublabel{color:#adb5bd;font-size:.8rem}.performance-insights h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.insights-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.insight-item{border-bottom:1px solid #e9ecef;gap:.75rem;padding:.75rem 0}.insight-item:last-child{border-bottom:none}.insight-item.insight-success{color:#28a745}.insight-item.insight-warning{color:#ffc107}.insight-item.insight-info{color:#17a2b8}.insight-item.insight-neutral{color:#6c757d}.insight-text{font-size:.95rem;line-height:1.4}.schedule-breakdown h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.schedule-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.schedule-card{background:#fff;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.schedule-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.schedule-header{border-bottom:1px solid #e9ecef;padding:1.5rem 1.5rem 1rem}.schedule-name{color:#2c3e50;font-size:1.125rem;font-weight:600;margin:0}.schedule-badges{display:flex;gap:.5rem}.participation-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.participation-badge.level-1{background:#f8d7da;color:#721c24}.participation-badge.level-2{background:#fff3cd;color:#856404}.participation-badge.level-3{background:#d1ecf1;color:#0c5460}.participation-badge.level-4{background:#d4edda;color:#155724}.participation-badge.level-5{background:#d1f2eb;color:#00695c}.fulfillment-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.fulfillment-badge.excellent{background:#d4edda;color:#155724}.fulfillment-badge.good{background:#d1ecf1;color:#0c5460}.fulfillment-badge.warning{background:#fff3cd;color:#856404}.fulfillment-badge.poor{background:#f8d7da;color:#721c24}.schedule-content{padding:1.5rem}.participation-description{margin-bottom:1rem}.role-metrics{margin-bottom:1.5rem}.metric-row{display:flex;justify-content:space-between;margin-bottom:1rem}.metric-item{align-items:center;display:flex;flex-direction:column}.metric-label{color:#6c757d;font-size:.8rem;margin-bottom:.25rem}.metric-value{color:#2c3e50;font-size:1.25rem}.role-progress{margin-top:1rem}.progress-bar{background:#e9ecef;margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#007bff,#28a745);transition:width .3s ease}.progress-text{color:#6c757d;font-size:.85rem;text-align:center}.schedule-details{margin-bottom:1rem}.detail-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.detail-item{align-items:center;background:#f8f9fa;border-radius:4px;padding:.5rem;text-align:center}.detail-label{color:#6c757d;font-size:.75rem;margin-bottom:.25rem}.detail-value{color:#495057;font-size:.9rem;font-weight:600}.trend-item .detail-value{align-items:center;display:flex;gap:.25rem}.trend-improving{color:#28a745}.trend-stable{color:#6c757d}.trend-declining{color:#dc3545}.schedule-dates{color:#6c757d;font-size:.85rem;text-align:center}.absence-info{background:#f8f9fa;border-left:3px solid #fd7e14;border-radius:6px;margin-top:1rem;padding:1rem}.absence-title{align-items:center;color:#2c3e50;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.absence-details{display:flex;flex-direction:column;gap:.5rem}.absence-item{align-items:center;display:flex;font-size:.85rem;justify-content:space-between;padding:.375rem 0}.absence-label{color:#6c757d;font-weight:500}.absence-value{color:#495057;font-weight:600}.absence-item.compensation-required .absence-value{color:#dc3545}.absence-item.no-compensation .absence-value{color:#28a745}.absence-impact{background:#ffc1071a;border-left:2px solid #ffc107;border-radius:4px;margin-top:.5rem;padding:.5rem}.absence-impact small{color:#856404;font-size:.8rem;line-height:1.3}.assignment-distribution h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.distribution-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.distribution-card{background:#fff;box-shadow:0 2px 4px #0000001a;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.distribution-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{color:#6c757d;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;margin-bottom:1rem}.card-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.distribution-value{color:#2c3e50;font-size:2rem;font-weight:700}.distribution-percentage{color:#6c757d;font-size:.9rem;font-weight:500}.help-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.help-section h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.help-content{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.help-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;padding:1rem}.help-item strong{color:#2c3e50;display:block;margin-bottom:.5rem}@media (max-width:768px){.user-oncall-statistics{padding:1rem}.statistics-header{align-items:stretch;flex-direction:column;gap:1rem}.statistics-filters{flex-wrap:wrap;justify-content:center}.overview-cards,.schedule-cards{grid-template-columns:1fr}.schedule-header{align-items:stretch;flex-direction:column;gap:1rem}.schedule-badges{justify-content:center}.metric-row{flex-direction:column;gap:1rem}.detail-row{grid-template-columns:repeat(2,1fr)}.distribution-grid,.help-content{grid-template-columns:1fr}}@media (max-width:480px){.user-oncall-statistics{padding:.5rem}.statistics-header{padding:1rem}.header-title h2{font-size:1.25rem}.stat-card{padding:1rem}.stat-number{font-size:1.5rem}.schedule-card{margin-bottom:1rem}.schedule-content{padding:1rem}.detail-row{grid-template-columns:1fr}}.user-working-week-container{max-width:100%;overflow-x:auto;padding:20px}.feature-disabled-message,.loading-state,.no-reference-message{padding:40px 20px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;margin:0 auto 20px}.disabled-notice,.no-reference-notice{color:#666;font-size:16px;font-weight:500;margin:15px 0}.disabled-info,.no-reference-info{color:#999;font-size:14px;margin:10px 0}.working-week-header{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.header-content h3{color:#333;font-size:20px;margin:0 0 10px}.header-description{color:#666;font-size:14px;line-height:1.6;margin:10px 0}.legend{gap:20px;margin-top:20px}.legend-block{border:2px solid #0000;border-radius:4px;height:20px;width:30px}.legend-block.work-block.active{background:#4caf50;border-color:#388e3c}.legend-block.work-block.inactive{background:#c8e6c9;border-color:#a5d6a7;opacity:1}.legend-block.oncall-block.active{background:#ffc107;border-color:#ffa000}.legend-block.oncall-block.inactive{background:#fff9c4;border-color:#fff59d;opacity:1}.legend-item span{color:#555;font-size:13px}.reference-week-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:20px;padding:15px}.reference-week-info h4{color:#1565c0;font-size:16px;margin:0 0 5px}.reference-week-info p{color:#555;font-size:14px;margin:5px 0}.multi-week-notice{color:#1976d2!important;font-weight:500;margin-bottom:10px}.current-rotation-info{background:#e3f2fd;border-left:3px solid #2196f3;border-radius:4px;margin-top:10px;padding:10px 15px}.current-rotation-info p{color:#333;font-size:14px;margin:5px 0}.rotation-current strong,.rotation-start strong{color:#1565c0}.week-pattern{margin-bottom:30px}.week-label{border-bottom:2px solid #ddd;color:#333;font-size:18px;margin:0 0 15px;padding-bottom:10px}.days-grid{grid-gap:10px;gap:10px;min-height:500px}@media (max-width:1200px){.days-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width:768px){.days-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.days-grid{grid-template-columns:1fr}}.day-column{border-radius:8px}.day-column.disabled-day{background:#f5f5f5;opacity:.7}.day-header{background:#007bff;font-size:14px;padding:10px}.disabled-day .day-header{background:#9e9e9e}.day-content{height:450px;padding:5px;position:relative}.no-work-day{color:#999;font-size:14px;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.time-blocks-container{height:100%;position:relative;width:100%}.time-block{border:2px solid #0000;border-radius:6px;box-sizing:border-box;margin-right:2px;padding:4px 6px;position:relative;z-index:1}.time-block:hover{transform:scale(1.02)}.time-block.work-block.active{background:#4caf50;border-color:#388e3c;color:#fff}.time-block.work-block.inactive{background:#c8e6c9;border-color:#a5d6a7;color:#2e7d32}.time-block.oncall-block.active{background:#ffc107;border-color:#ffa000;color:#5d4037}.time-block.oncall-block.inactive{background:#fff9c4;border-color:#fff59d;color:#f57f17}.block-content{align-items:center;height:100%}.block-time{font-size:11px;font-weight:600;line-height:1.3;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.working-week-actions{border-top:2px solid #ddd;margin-top:30px;padding-top:20px;text-align:center}.save-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.save-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}@media (max-width:768px){.user-working-week-container{padding:10px}.working-week-header{padding:15px}.legend{gap:10px}.days-grid{gap:8px}.day-content{height:350px}}.user-config-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.config-modal-content{animation:configSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:95vw}.config-modal-content.loading{align-items:center;height:300px;justify-content:center;text-align:center}@keyframes configSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.loading-spinner{border-top-color:#007bff}.config-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:2rem}.config-header h2{font-size:1.5rem;font-weight:600;margin:0}.close-btn{border-radius:50%;color:#fff;font-size:2rem;height:48px;opacity:.8;padding:.5rem;transition:all .2s ease;width:48px}.close-btn:hover{background:#ffffff1a;opacity:1}.config-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:0 2rem}.tab-btn{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .2s ease}.tab-btn:hover{background:#007bff0d;color:#495057}.tab-btn.active{background:#fff;border-bottom-color:#007bff;color:#007bff}.config-content{flex:1 1;overflow-y:auto;padding:2rem}.config-section{border-bottom:1px solid #e9ecef;margin-bottom:2.5rem;padding-bottom:2rem}.config-section:last-child{border-bottom:none}.config-section h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 1rem}.config-section h4{color:#495057;font-size:1.1rem;font-weight:600;margin:1.5rem 0 1rem}.section-description{line-height:1.5;margin-bottom:1.5rem}.consecutive-days-config{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.preference-options{margin-bottom:1.5rem}.radio-option{border:2px solid #e9ecef;border-radius:8px;gap:.75rem;padding:1rem}.radio-option:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.radio-option input[type=radio]:checked+.radio-label,.radio-option input[type=radio]:checked+.radio-label strong{color:#007bff}.radio-option input[type=radio]{margin:.2rem 0 0}.radio-label{flex-direction:column;gap:.25rem}.radio-label strong{color:#2c3e50;font-weight:600}.radio-label small{color:#6c757d;font-size:.85rem}.max-consecutive-config{background:#fff;border:1px solid #007bff;border-left-width:4px;border-radius:6px;padding:1rem}.max-consecutive-config label{color:#495057;display:flex;flex-direction:column;font-weight:500;gap:.5rem}.consecutive-input{padding:.5rem}.consecutive-input:focus{border-color:#007bff}.preferred-days{margin-bottom:2rem}.day-checkboxes{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem}.day-checkbox{background:#f8f9fa;border:1px solid #e9ecef;font-weight:500;padding:.75rem;transition:all .2s ease}.day-checkbox:hover{background:#e3f2fd;border-color:#007bff}.day-checkbox input[type=checkbox]:checked+span{color:#007bff}.time-preferences{margin-bottom:2rem}.time-checkboxes{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.time-checkbox{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:.75rem;padding:.75rem;transition:all .2s ease}.time-checkbox:hover{background:#e3f2fd;border-color:#007bff}.time-checkbox input[type=checkbox]:checked+span{color:#007bff}.time-checkbox input[type=checkbox]{margin:0}.blocked-dates-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.blocked-date-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:1rem;padding:1rem}.date-inputs{align-items:center;display:flex;flex:1 1;gap:.75rem}.date-inputs input[type=date]{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem}.date-inputs input[type=date]:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.date-inputs span{color:#6c757d;font-size:.9rem;font-weight:500}.reason-input{border:1px solid #ced4da;border-radius:4px;flex:1 1;font-size:.9rem;padding:.5rem}.reason-input:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.remove-date-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.remove-date-btn:hover{background:#c82333}.add-blocked-date-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.add-blocked-date-btn:hover{background:#218838}.calendar-config{max-width:600px}.setting-row{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.setting-row label{color:#495057;cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:.5rem}.setting-row input[type=checkbox]{margin-right:.75rem;width:auto}.setting-row select{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem}.setting-row select:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.setting-row input[type=number]{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem;width:100px}.setting-row input[type=number]:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.notifications-config{max-width:600px}.statistics-config{margin:0;padding:0}.statistics-config .user-oncall-statistics{background:#0000;min-height:auto;padding:0}.statistics-config .statistics-header{background:#0000;border-bottom:1px solid #e9ecef;box-shadow:none;margin-bottom:1rem}.statistics-config .statistics-content{gap:1.5rem}.config-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:2rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.config-modal-content{max-height:95vh;width:98vw}.config-content,.config-footer,.config-header{padding:1rem}.config-tabs{overflow-x:auto;padding:0 1rem}.tab-btn{font-size:.85rem;padding:.75rem 1rem;white-space:nowrap}.day-checkboxes{grid-template-columns:repeat(2,1fr)}.blocked-date-item{align-items:stretch;flex-direction:column;gap:.75rem}.date-inputs{justify-content:space-between}.config-footer{flex-direction:column}.config-footer button{width:100%}}@media (prefers-color-scheme:dark){.config-modal-content{background:#2c3e50;color:#ecf0f1}.config-section{border-bottom-color:#34495e}.blocked-date-item,.consecutive-days-config,.day-checkbox,.radio-option,.setting-row,.time-checkbox{background:#34495e;border-color:#4a5568}.config-footer{background:#34495e;border-top-color:#4a5568}}.oncall-notification-preferences{display:flex;flex-direction:column;gap:1.5rem}.notification-prefs-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.notification-prefs-header h4{font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.notification-prefs-header p{font-size:.85rem;line-height:1.4;margin:0;opacity:.9}.alert{margin-bottom:1rem}.schedule-preferences-list{display:flex;flex-direction:column;gap:1.5rem}.schedule-preference-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.schedule-card-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:1.25rem}.schedule-card-header h5{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.schedule-card-header p{color:#666;font-size:.85rem;margin:0}.preference-options{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.preference-item{align-items:flex-start;background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.preference-item:hover{background:#f5f5f5;border-color:#e0e0e0}.preference-item.global-optout{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-color:#ee5a52;color:#fff}.preference-item.global-optout .preference-header p,.preference-item.global-optout .preference-header strong{color:#fff}.preference-item.disabled{background:#f8f9fa;border-color:#e9ecef;opacity:.6}.preference-header{align-items:flex-start;display:flex;flex:1 1;gap:.75rem}.preference-header strong{color:#333;display:block;font-size:.95rem;margin-bottom:.25rem}.preference-header p{color:#666;font-size:.8rem;line-height:1.4;margin:0}.toggle-switch input[type=checkbox]{border-radius:12px;height:24px;margin:0;width:44px}.toggle-switch input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle-switch input[type=checkbox]:before{height:20px;width:20px}.toggle-switch input[type=checkbox]:checked:before{transform:translateX(20px)}.preference-card-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:1rem 1.25rem;text-align:right}.btn{font-size:.85rem;padding:.6rem 1.2rem}.spinner{height:14px;width:14px}.notification-prefs-footer{margin-top:1rem}.info-note{align-items:flex-start;background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;color:#1565c0;display:flex;font-size:.85rem;gap:.5rem;padding:1rem}.info-note p{line-height:1.4;margin:0}.no-schedules-notification{color:#6c757d;padding:3rem;text-align:center}.no-schedules-notification h4{color:#495057;margin:1rem 0 .5rem}.no-schedules-notification p{margin:0}.loading-notification-prefs{color:#6c757d;padding:3rem;text-align:center}.loading-notification-prefs .loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:32px;margin:0 auto 1rem;width:32px}@media (max-width:768px){.preference-item{align-items:flex-start;flex-direction:column;gap:1rem}.preference-header{flex-direction:column;gap:.5rem}.toggle-switch{align-self:flex-end}.preference-card-footer{text-align:center}.btn{justify-content:center;width:100%}}.app-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;max-width:220px;min-width:180px;padding:1.5rem;transition:all .3s ease}.app-card.inactive{filter:grayscale(100%);opacity:.6}.app-card.active:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.app-icon-container{align-items:center;border-radius:20px;display:flex;height:120px;justify-content:center;margin-bottom:1rem;overflow:hidden;width:120px}.app-card.active .app-icon-container{background:linear-gradient(135deg,#667eea,#764ba2)}.app-card.inactive .app-icon-container{background:#e0e0e0}.app-icon{height:100%;object-fit:cover;width:100%}.app-icon-placeholder{filter:grayscale(100%);font-size:4rem}.app-card.active .app-icon-placeholder{filter:none}.app-name{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .5rem;text-align:center}.app-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.85rem;line-height:1.4;margin:0 0 1rem;min-height:2.8rem;overflow:hidden;text-align:center}.app-actions{display:flex;gap:.5rem;justify-content:center;width:100%}.app-btn{all:unset;align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;padding:.5rem 1rem;transition:all .2s ease}.activate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%}.activate-btn:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.config-btn,.open-btn{background:#fff;border:2px solid #667eea;color:#667eea;flex:1 1;height:44px;min-width:44px;padding:.5rem}.open-btn.full-width{flex:1 1 100%}.config-btn:hover,.open-btn:hover{background:#667eea;color:#fff}.config-btn svg,.open-btn svg{display:block}.welcome-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;min-height:100vh;padding:1rem}.welcome-content{margin:0 auto;max-width:900px}.welcome-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-bottom:2px solid #eee;border-radius:12px;box-shadow:0 4px 6px #00000012;display:flex;flex-direction:column;margin-bottom:2rem;padding:1.5rem;position:relative;z-index:100}.welcome-header:before{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:12px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.language-selector-container{position:absolute;right:1rem;top:1rem;z-index:10}.logo-container-wrapper{padding-top:.5rem;text-align:center;width:100%}.welcome-greeting{color:#4a5568;font-size:1.1rem;font-weight:500;margin:1rem 0 0}.cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card,.cards-grid{position:relative;z-index:1}.card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-2px)}.admin-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-card:hover{box-shadow:0 8px 25px #667eea4d}@media (max-width:768px){.welcome-container{padding:.5rem}.welcome-header{margin-bottom:1.5rem;padding:1rem}.language-selector-container{right:.5rem;top:.5rem}.cards-grid{gap:1rem;grid-template-columns:1fr}.card{padding:1rem}.welcome-greeting{font-size:1rem}}@media (max-width:480px){.welcome-header{padding:.75rem}.logo-container-wrapper{padding-top:.25rem}.welcome-greeting{font-size:.9rem;margin:.5rem 0 0}}.debug-panel{background:#f8f9fa;min-height:calc(100vh - 60px);padding:20px}.debug-panel-loading{color:#666;font-size:18px;padding:40px;text-align:center}.debug-panel-header{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.debug-panel-header h2{color:#333;font-size:28px;margin:0 0 20px}.tab-buttons{display:flex;gap:10px}.tab-button{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.tab-button:hover{border-color:#ff5252;color:#ff5252}.tab-button.active{background:linear-gradient(135deg,#ff6b6b,#ff5252);border-color:#ff5252;color:#fff}.debug-users-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.section-header{margin-bottom:20px}.section-header h3{color:#333;font-size:20px;margin:0 0 10px}.section-description{color:#666}.users-list-container{border:1px solid #e0e0e0;border-radius:6px;max-height:400px;overflow-y:auto}.debug-panel .users-table{border-collapse:collapse;width:100%}.debug-panel .users-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.debug-panel .users-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:11px;font-weight:600;height:24px!important;line-height:1.1!important;max-height:24px!important;padding:2px 6px!important;text-align:left;text-transform:uppercase}.debug-panel .users-table tbody tr{border-bottom:1px solid #f0f0f0;height:24px!important;max-height:24px!important;transition:background .2s}.debug-panel .users-table tbody tr:hover{background:#f8f9fa;height:24px!important;max-height:24px!important}.debug-panel .users-table tbody tr.debug-enabled{background:#fff3e0;height:24px!important;max-height:24px!important}.debug-panel .users-table tbody tr.debug-enabled:hover{background:#ffe0b2;height:24px!important;max-height:24px!important}.debug-panel .users-table td{box-sizing:border-box!important;color:#333!important;font-size:12px!important;height:24px!important;line-height:1.1!important;max-height:24px!important;min-height:24px!important;overflow:hidden!important;padding:1px 6px!important;vertical-align:middle!important}.debug-panel .debug-checkbox{cursor:pointer;height:14px;margin:0;padding:0;vertical-align:middle;width:14px}.debug-panel .email-cell{color:#666!important}.debug-panel .date-cell,.debug-panel .email-cell{box-sizing:border-box!important;display:table-cell!important;font-size:11px!important;height:24px!important;line-height:1.1!important;max-height:24px!important;min-height:24px!important;overflow:hidden!important;padding:1px 6px!important;text-overflow:ellipsis!important;vertical-align:middle!important;white-space:nowrap!important}.debug-panel .date-cell{color:#999!important}.debug-bugs-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.bug-filters{display:flex;gap:10px;margin-top:15px}.filter-btn{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{border-color:#ff5252;color:#ff5252}.filter-btn.active{background:#ff5252;border-color:#ff5252;color:#fff}.bugs-list-container{border:1px solid #e0e0e0;border-radius:6px;margin-top:20px;overflow-x:auto}.no-bugs{color:#999;font-size:16px;padding:40px;text-align:center}.bugs-table{border-collapse:collapse;min-width:1000px;width:100%}.bugs-table thead{background:#f8f9fa}.bugs-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:13px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.bugs-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.bugs-table tbody tr:hover{background:#f8f9fa}.bugs-table td{color:#333;font-size:13px;padding:12px}.bug-id{color:#ff5252;font-weight:600}.user-info{flex-direction:column;gap:4px}.user-name{font-weight:500}.user-role{color:#999}.bug-type-badge,.user-role{font-size:11px;text-transform:uppercase}.bug-type-badge{border-radius:4px;display:inline-block;font-weight:600;padding:4px 8px}.type-bug{background:#ffebee;color:#c62828}.type-comment{background:#e3f2fd;color:#1565c0}.type-suggestion{background:#f3e5f5;color:#6a1b9a}.bug-description{color:#666;max-width:300px}.bug-url{max-width:150px;overflow:hidden;text-overflow:ellipsis}.bug-date,.bug-url{color:#999;font-size:12px;white-space:nowrap}.status-badge{border-radius:4px;font-size:11px}.status-open{background:#ffebee;color:#c62828}.status-in_progress{background:#fff3e0;color:#ef6c00}.status-done{background:#e8f5e9;color:#2e7d32}.status-archived{background:#f5f5f5;color:#757575}.view-btn{background:#ff5252;border-radius:4px;font-size:12px;padding:6px 12px}.view-btn:hover{background:#f44}.bug-details-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.bug-details-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.bug-details-header{align-items:center;background:#fff;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.bug-details-header h3{color:#333;font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:32px}.close-btn:hover{color:#333}.bug-details-body{padding:20px}.detail-section{margin-bottom:25px}.detail-section h4{border-bottom:1px solid #e0e0e0;color:#666;font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:8px;text-transform:uppercase}.detail-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item.full-width{grid-column:1/-1}.detail-label{color:#999;font-size:12px;font-weight:600;text-transform:uppercase}.detail-value{color:#333;font-size:14px}.detail-value.url{color:#1976d2;word-break:break-all}.detail-value.code{background:#f5f5f5;border-radius:4px;font-family:Courier New,monospace;font-size:12px;padding:4px 8px}.description-text{background:#f8f9fa;border-radius:6px;color:#333;font-size:14px;line-height:1.6;padding:15px;white-space:pre-wrap}.bug-screenshot{border-radius:6px;box-shadow:0 2px 8px #0000001a;width:100%}.admin-notes-input{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.admin-notes-input:focus{border-color:#ff5252;outline:none}.bug-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.action-btn{font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-done{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-done:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px)}.btn-archive{background:linear-gradient(135deg,#757575,#616161);color:#fff}.btn-archive:hover{background:linear-gradient(135deg,#616161,#424242);transform:translateY(-1px)}.btn-reopen{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-reopen:hover{background:linear-gradient(135deg,#f57c00,#ef6c00);transform:translateY(-1px)}@media (max-width:768px){.debug-panel{padding:10px}.tab-buttons{flex-direction:column}.bug-filters{flex-wrap:wrap}.detail-grid{grid-template-columns:1fr}.bug-actions{flex-direction:column}}.bug-element{font-family:Courier New,monospace;font-size:12px;max-width:200px}.element-preview{background:#f8f9fa;color:#495057;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.attributes-display,.element-preview{border:1px solid #dee2e6;border-radius:4px}.attributes-display{background:#fff;margin-top:8px;padding:10px}.attribute-row{font-family:Courier New,monospace;font-size:13px;padding:4px 0}.attribute-row code{background:#e9ecef;border-radius:3px;color:#007bff;font-weight:600;padding:2px 6px}.context-text{background:#f8f9fa;border-left:3px solid #6c757d;color:#6c757d;display:block;font-style:italic;margin-top:4px;max-height:100px;overflow-y:auto;padding:8px}.admin-container{background-color:#f5f5f5;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;min-height:100vh;overflow:visible}.admin-container .admin-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 2px 10px #0000001a;color:#fff!important;flex-shrink:0;overflow:visible;padding:2rem;position:relative;z-index:1500}.header-content{z-index:100}.header-left{align-items:center;display:flex;gap:1rem}.header-right{position:relative;z-index:100}.admin-container .back-button{align-items:center;background:#ffffff26!important;border:1px solid #ffffff4d!important;border-radius:8px;color:#fff!important;cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .2s ease}.back-button:hover{background:#ffffff40;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.admin-container .header-info h1{color:#fff!important;font-size:1.8rem;font-weight:600;margin:0 0 .25rem}.admin-container .header-info p{color:#fff!important;font-size:.95rem;margin:0;opacity:.9}.header-stats{align-items:center;display:flex;gap:2rem}.admin-container .stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a!important;border:1px solid #fff3!important;border-radius:12px;padding:1rem 1.5rem;text-align:center;transition:all .2s ease}.stat-item:hover{background:#ffffff26;transform:translateY(-2px)}.admin-container .stat-value{color:#fff!important;display:block;font-size:1.8rem;font-weight:700;line-height:1}.admin-container .stat-label{color:#fff!important;display:block;font-size:.8rem;letter-spacing:.5px;margin-top:.25rem;opacity:.9;text-transform:uppercase}.admin-header h1{font-size:1.8rem;font-weight:600;margin:0}.back-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.back-btn:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.admin-nav{background:#fff;border-bottom:1px solid #e1e5e9;display:flex;flex-shrink:0;gap:0;padding:0 2rem;position:relative;z-index:1}.admin-nav button,.nav-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .2s ease}.nav-tab:hover{background:#f8fafc;border-bottom-color:#e2e8f0;color:#475569}.nav-tab.active{background:#fafaff;border-bottom-color:#6366f1;color:#6366f1;font-weight:600}.main-dashboard-btn{background:linear-gradient(135deg,#28a745,#20c997)!important;border-bottom:3px solid #1e7e34!important;border-radius:6px 6px 0 0!important;color:#fff!important;margin-right:1rem}.main-dashboard-btn:hover{background:linear-gradient(135deg,#218838,#1c9c87)!important;transform:translateY(-1px)}.admin-nav button:hover{background:#f8fafc;color:#475569}.admin-nav button.active{background:#fafaff;border-bottom-color:#6366f1;color:#6366f1}.admin-content{margin:0 auto;max-width:1400px;overflow-y:auto;padding:2rem;width:100%;z-index:1}.loading{color:#64748b;font-size:1.1rem;padding:4rem;text-align:center}.dashboard-tab h2{color:#1e293b;margin-bottom:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.stat-card h3{color:#475569;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.stat-number{color:#1e293b;line-height:1;margin-bottom:.5rem}.stat-detail{color:#64748b;font-size:.9rem}.role-breakdown div{margin-bottom:.25rem}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.tab-header h2{color:#1e293b;margin:0}.search-box input{border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;width:300px}.search-box input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.sites-table-container,.users-table-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:hidden;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.sites-table-container::-webkit-scrollbar,.users-table-container::-webkit-scrollbar{height:8px}.sites-table-container::-webkit-scrollbar-track,.users-table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.sites-table-container::-webkit-scrollbar-thumb,.users-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sites-table-container::-webkit-scrollbar-thumb:hover,.users-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sites-table,.users-table{border-collapse:collapse;font-size:.9rem;min-width:800px;width:100%}.sites-table td,.sites-table th,.users-table td,.users-table th{border-bottom:1px solid #f1f5f9;padding:.5rem 1rem;text-align:left;vertical-align:middle}.sites-table th,.users-table th{background:#f8fafc;color:#475569;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sites-table tr:hover,.users-table tr:hover{background:#fafafa}.sites-table tr.inactive,.users-table tr.inactive{opacity:.6}.role-badge{letter-spacing:.5px;padding:.25rem .75rem}.role-badge.ooftayadmin{background:#fef3c7;color:#92400e}.role-badge.siteadmin{background:#ddd6fe;color:#6b21a8}.role-badge.user{background:#d1fae5;color:#065f46}.role-badge.super-user{background:#e0e7ff;color:#3730a3}.status-badge{border-radius:20px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.actions{gap:.5rem}.actions button{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.toggle-btn{background:#3b82f6;color:#fff}.toggle-btn:hover{background:#2563eb;transform:translateY(-1px)}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626;transform:translateY(-1px)}.view-btn{background:#64748b;color:#fff}.view-btn:hover{background:#475569;transform:translateY(-1px)}.resend-btn{background:#f59e0b;font-size:.8rem}.resend-btn:hover{background:#d97706;transform:translateY(-1px)}.modal{box-shadow:0 25px 50px -12px #00000040;max-height:80vh;padding:2rem}.modal h3{color:#1e293b;margin:0 0 1.5rem}.modal p{color:#64748b;line-height:1.5;margin-bottom:1.5rem}.modal p.warning{background:#fef2f2;border-left:4px solid #dc2626;border-radius:8px;color:#dc2626;font-weight:500;padding:1rem}.site-details,.user-details{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1.5rem}.site-details div,.user-details div{border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.5rem 0}.site-details div:last-child,.user-details div:last-child{border-bottom:none}.site-details strong,.user-details strong{color:#475569;min-width:120px}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-delete-btn{background:#ef4444}.confirm-delete-btn:hover{background:#dc2626}.cancel-btn{background:#f1f5f9;color:#64748b}.cancel-btn:hover{background:#e2e8f0}code{background:#f1f5f9;border-radius:4px;color:#374151;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:.85rem;padding:.25rem .5rem}@media (max-width:768px){.admin-header{padding:1.5rem 1rem}.header-content{flex-direction:column;gap:1.5rem;text-align:center}.header-left{flex-direction:column;gap:1rem}.header-stats{flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:center}.stat-item{min-width:80px;padding:.75rem 1rem}.stat-value{font-size:1.4rem}.stat-label{font-size:.7rem}.admin-nav{overflow-x:auto;padding:0 1rem}.admin-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.tab-header{align-items:stretch;flex-direction:column;gap:1rem}.search-box input{width:100%}.sites-table-container,.users-table-container{overflow-x:auto}.sites-table,.users-table{min-width:800px}.actions{flex-direction:column}.modal{margin:1rem;width:calc(100% - 2rem)}}@media (max-width:480px){.admin-header h1{font-size:1.4rem}.stat-number{font-size:2rem}.modal{padding:1.5rem}.site-details div,.user-details div{flex-direction:column;gap:.25rem}.site-details strong,.user-details strong{min-width:auto}}.reset-password-btn{background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin:0 .25rem;padding:.5rem .75rem;transition:all .2s ease}.reset-password-btn:hover{background:#d97706;transform:translateY(-1px)}.promote-btn{background:#8b5cf6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin:0 .25rem;padding:.5rem .75rem;transition:all .2s ease}.promote-btn:hover{background:#7c3aed;transform:translateY(-1px)}.management-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.management-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem;transition:all .2s ease}.management-card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-2px)}.management-card h3{color:#1f2937;font-size:1.1rem;margin:0 0 .5rem}.management-card p{color:#6b7280;line-height:1.5;margin:0 0 1.5rem}.primary-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.primary-btn:hover{background:#2563eb;transform:translateY(-1px)}.primary-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.secondary-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.secondary-btn:hover{background:#4b5563;transform:translateY(-1px)}.site-code-display{margin-top:1rem;text-align:center}.site-code-display code{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:1.2rem;font-weight:700;letter-spacing:2px;padding:.75rem 1.5rem}.action-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;margin:.25rem 0;padding:.5rem 1rem;transition:all .2s ease;width:100%}.action-btn:hover{background:#059669;transform:translateY(-1px)}.form-group{margin-bottom:1rem}.form-group label{color:#374151}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.actions{display:flex;flex-wrap:wrap;gap:.25rem}.actions button{flex:1 1;min-width:80px;white-space:nowrap}.action-buttons{align-items:center;display:flex;gap:.5rem}.action-buttons .btn-small{all:unset;align-items:center;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.action-buttons .btn-small svg{stroke:#fff;color:#fff;display:block}.action-buttons .btn-primary{background:#3b82f6}.action-buttons .btn-primary:hover{background:#2563eb}.action-buttons .btn-secondary{background:#4b5563}.action-buttons .btn-secondary:hover{background:#374151}.action-buttons .btn-danger{background:#ef4444}.action-buttons .btn-danger:hover{background:#dc2626}.user-name{margin:0}.user-name strong{color:#1f2937;font-size:.9rem;font-weight:600}.group-name{color:#6b7280;font-size:.85rem}.role-restriction-note{color:#f59e0b;display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.role-select-container{align-items:center;display:flex;gap:.75rem}.role-select-container select{flex:1 1}.btn-configure{background:#8b5cf6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:background-color .2s;white-space:nowrap}.btn-configure:hover{background:#7c3aed}.super-user-config{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1.5rem}.super-user-config h4{color:#3730a3;font-size:1.1rem;margin:0 0 1rem}.config-section{margin-bottom:1.5rem}.config-section:last-child{margin-bottom:0}.config-section h5{color:#475569;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.date-range{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.75rem}.checkbox-label{margin-bottom:.5rem}.permissions-note{color:#6b7280;font-size:.85rem;font-style:italic;margin-bottom:1rem}.permissions-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.permission-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s}.permission-item:hover{background:#f1f5f9;border-color:#cbd5e1}.permission-item input[type=checkbox]{margin:0}.permission-item span{color:#374151;font-size:.85rem}.group-stats{display:flex;flex-wrap:wrap;gap:1rem}.group-stats span{color:#6b7280;font-size:.85rem}@media (max-width:768px){.actions{flex-direction:column}.actions button{margin:.1rem 0;width:100%}.management-cards{grid-template-columns:1fr}}.role-change-modal{max-width:500px;width:90%}.role-change-details{margin:1.5rem 0}.role-change-details>div{margin:.8rem 0;padding:.5rem 0}.current-role{background-color:#e3f2fd;border-radius:4px;color:#1565c0;font-weight:600;padding:.3rem .6rem}.role-selection{margin:1.5rem 0}.role-selection label{color:#333;display:block;margin-bottom:.8rem}.role-dropdown{background-color:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.8rem;transition:border-color .3s ease;width:100%}.role-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.role-dropdown option{font-size:.95rem;padding:.5rem}.role-preview{background-color:#fff3e0;border:1px solid #ffb74d;border-radius:6px;color:#e65100;font-weight:600;margin-top:1rem;padding:1rem;text-align:center}.confirm-btn{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s ease}.confirm-btn:hover:not(:disabled){background-color:#45a049}.confirm-btn:disabled{background-color:#ccc;cursor:not-allowed}.cancel-btn{background-color:#f44336;border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s ease}.cancel-btn:hover{background-color:#d32f2f}.bulk-actions-bar{background:#f8fafc;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.bulk-selection-info{align-items:center;color:#475569;display:flex;font-weight:500;gap:1rem}.bulk-actions{gap:.5rem}.bulk-select-all-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.bulk-select-all-btn:hover{background:#5b5fc7;transform:translateY(-1px)}.bulk-delete-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.bulk-delete-btn:hover{background:#dc2626;transform:translateY(-1px)}.bulk-delete-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.selection-checkbox{accent-color:#6366f1;cursor:pointer;height:16px;width:16px}.selection-column{text-align:center;width:50px}.delete-modal{max-width:600px;width:90%}.delete-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:1rem 0}.delete-warning p{color:#dc2626;font-weight:500;margin:.5rem 0}.users-to-delete{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.users-to-delete h4{color:#374151;font-size:.9rem;margin:0 0 .5rem}.users-to-delete ul{background:#f9fafb;border-radius:4px;list-style:none;margin:0;max-height:150px;overflow-y:auto;padding:.5rem}.users-to-delete li{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.85rem;padding:.25rem 0}.users-to-delete li:last-child{border-bottom:none}.confirm-delete-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-delete-btn:hover{background:#b91c1c;transform:translateY(-1px)}.assign-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;margin:0 .25rem;padding:.4rem .8rem;transition:all .2s ease}.assign-btn:hover{background:#059669;transform:translateY(-1px)}.site-assignment-modal{max-width:500px;width:90%}.site-assignment-details{margin:1.5rem 0}.site-assignment-details>div{margin:.8rem 0;padding:.5rem 0}.site-selection{margin:1.5rem 0}.site-selection label{color:#333;display:block;font-weight:600;margin-bottom:.8rem}.site-dropdown{background-color:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.8rem;transition:border-color .3s ease;width:100%}.site-dropdown:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.assignment-preview{background-color:#ecfdf5;border:1px solid #34d399;border-radius:6px;color:#047857;font-weight:600;margin-top:1rem;padding:1rem;text-align:center}.role-badge.secretarial{background:#fef3e2;color:#b45309}@media (max-width:768px){.bulk-actions-bar{align-items:stretch;flex-direction:column;gap:1rem}.bulk-actions,.bulk-selection-info{justify-content:center}.selection-column{width:40px}}.licensing-tab{margin:0 auto;max-width:1200px;padding:20px}.licensing-tab .header{margin-bottom:30px}.licensing-tab .header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.licensing-tab .back-to-dashboard-btn{background:#fff;border:1px solid #007bff;border-radius:4px;color:#007bff;cursor:pointer;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.licensing-tab .back-to-dashboard-btn:hover{background:#007bff;color:#fff}.licensing-content{display:flex;flex-direction:column;gap:2rem}.sites-licensing-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.manage-license-btn{background:#007bff;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s}.manage-license-btn:hover{background:#0056b3}.licensing-actions{display:flex;justify-content:center;padding:1rem}.license-status{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.license-status.active{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.license-status.inactive{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.license-status.trial{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.license-status.expired{background:#f5c6cb;border:1px solid #f1b0b7;color:#721c24}.license-modal{max-width:600px;min-width:500px}.license-form{margin:1.5rem 0}.license-form .form-group{margin-bottom:1rem}.license-form label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.license-form input,.license-form select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.75rem;transition:border-color .2s ease;width:100%}.license-form input:focus,.license-form select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.license-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:1.5rem;padding:1rem}.license-preview h4{color:#333;font-size:1rem;margin:0 0 .75rem}.license-preview ul{list-style-type:disc;margin:0;padding-left:1.25rem}.license-preview li{color:#555;margin-bottom:.25rem}.manage-license-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .2s ease}.manage-license-btn:hover{background:#218838}.manage-license-btn:disabled{background:#6c757d;cursor:not-allowed}.settings-tab{padding:2rem}.settings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.settings-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:all .2s ease}.settings-card.clickable{cursor:pointer;transition:all .2s ease}.settings-card.clickable:hover{border-color:#667eea;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.settings-card h3{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.settings-card p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.billing-tab{margin:0 auto;max-width:1000px}.billing-form{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem}.form-section{border-bottom:1px solid #eee;margin-bottom:2.5rem;padding-bottom:2rem}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.form-grid{grid-gap:1.5rem;align-items:start;gap:1.5rem;grid-template-columns:1fr 1fr}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border-radius:8px;font-size:.9rem;padding:.75rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.checkbox-group{display:flex;flex-direction:column;gap:1rem}.checkbox-item{border-radius:8px;padding:.75rem;transition:background-color .2s ease}.checkbox-item:hover{background-color:#f8f9fa}.checkbox-item input[type=checkbox]{height:18px;width:18px}.checkbox-item span{font-size:.9rem;font-weight:500}.peppol-details{grid-gap:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:1rem 0 1rem 2.25rem;padding:1.5rem}.form-actions{border-top:1px solid #eee;gap:1rem;justify-content:flex-start;margin-top:2rem;padding-top:2rem}.invoices-tab{margin:0 auto;max-width:1200px}.invoices-filters{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem}.filter-group{gap:.5rem}.filter-group label{color:#333;font-size:.9rem}.filter-group select{border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:120px;padding:.5rem .75rem}.invoices-list{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:hidden}.invoices-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 120px 100px 100px 200px}.invoice-header{color:#333;display:contents;font-size:.9rem;font-weight:600}.invoice-header>span{background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:1rem}.invoice-row{display:contents}.invoice-row>div,.invoice-row>span{align-items:center;border-bottom:1px solid #eee;display:flex;font-size:.9rem;padding:1rem}.invoice-row:hover>div,.invoice-row:hover>span{background-color:#f8f9fa}.invoice-actions{display:flex;gap:.5rem}.status-paid{color:#28a745;font-weight:500}.status-pending{color:#ffc107;font-weight:500}.status-overdue{color:#dc3545;font-weight:500}.empty-state h3{color:#333}.empty-state p{color:#666}@media (max-width:768px){.form-grid,.peppol-details{grid-template-columns:1fr}.peppol-details{margin-left:1rem}.invoices-filters{align-items:stretch;flex-direction:column;gap:1rem}.invoices-grid{gap:0;grid-template-columns:1fr}.invoice-header{display:none}.invoice-row{border-bottom:1px solid #eee;display:block;padding:1rem}.invoice-row>div,.invoice-row>span{border:none;display:block;padding:.25rem 0}.invoice-row>span:before{color:#333;content:attr(data-label) ": ";font-weight:600}}.oncall-tab{padding:1rem}.oncall-content{display:flex;flex-direction:column;gap:2rem}.oncall-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.oncall-section .section-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.oncall-section .section-header h3{color:#495057;font-size:1.25rem;margin:0}.oncall-section .section-header p{color:#6c757d;font-size:.9rem;margin:0}.no-access-message{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:3rem;text-align:center}.no-access-message h3{color:#dc3545;margin-bottom:1rem}.no-access-message p{color:#6c757d;margin-bottom:1rem}.create-schedule-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.create-schedule-form .form-group{margin-bottom:1rem}.create-schedule-form .form-group:last-child{margin-bottom:0}.create-schedule-form label{color:#495057;display:block;font-weight:600;margin-bottom:.5rem}.create-schedule-form input,.create-schedule-form textarea{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.create-schedule-form input:focus,.create-schedule-form textarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.create-schedule-form .form-actions{display:flex;gap:1rem;margin-top:1rem}.schedules-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.schedule-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s ease}.schedule-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.schedule-header{margin-bottom:.5rem}.schedule-header h4{color:#495057;font-size:1.1rem}.schedule-description{color:#6c757d;font-size:.9rem;margin-bottom:.75rem}.schedule-stats{color:#6c757d;font-size:.85rem}.user-assignment-table{overflow-x:auto}.assignment-table{background:#fff;border-collapse:collapse;width:100%}.assignment-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#495057;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.assignment-table td{border-bottom:1px solid #e9ecef;padding:1rem;vertical-align:middle}.assignment-table tr:hover{background:#f8f9fa}.assignment-cell{min-width:120px;text-align:center}.checkbox-item{gap:.5rem;justify-content:center;margin:0}.checkbox-item input[type=checkbox]{cursor:pointer}.checkbox-item span{color:#6c757d;font-size:.85rem;white-space:nowrap}.license-info{grid-gap:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.license-info .info-item{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.license-info .info-item label{color:#495057;font-weight:600}.license-info .info-item span{color:#6c757d;font-weight:500}@media (max-width:768px){.oncall-section .section-header{align-items:flex-start;flex-direction:column;gap:1rem}.schedules-grid{grid-template-columns:1fr}.assignment-table{font-size:.85rem}.assignment-table td,.assignment-table th{padding:.75rem .5rem}.license-info{grid-template-columns:1fr}.header-actions{justify-content:flex-start;width:100%}.create-schedule-form .form-actions{flex-direction:column}}.edit-user-modal{max-width:600px;width:90vw}.edit-user-form{display:flex;flex-direction:column;gap:1.5rem}.edit-user-form .form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.edit-user-form .form-group{display:flex;flex-direction:column;gap:.5rem}.edit-user-form .form-group label{color:#495057;font-size:.9rem;font-weight:600}.edit-user-form .form-group input,.edit-user-form .form-group select{border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;transition:all .2s ease}.edit-user-form .form-group input:focus,.edit-user-form .form-group select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.edit-user-form .checkbox-group{align-items:center;justify-content:center}.edit-user-form .checkbox-group .checkbox-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;margin:0;padding:.5rem;transition:background-color .2s ease}.edit-user-form .checkbox-group .checkbox-item:hover{background-color:#f8f9fa}.edit-user-form .checkbox-group .checkbox-item input[type=checkbox]{cursor:pointer;height:auto;margin:0;width:auto}.edit-user-form .checkbox-group .checkbox-item span{color:#495057;font-weight:500}.edit-user-form .modal-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.edit-user-form .primary-btn,.edit-user-form .secondary-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.edit-user-form .primary-btn{background:#007bff;color:#fff}.edit-user-form .primary-btn:hover{background:#0056b3;box-shadow:0 2px 4px #007bff4d;transform:translateY(-1px)}.edit-user-form .secondary-btn{background:#6c757d;color:#fff}.edit-user-form .secondary-btn:hover{background:#545b62;box-shadow:0 2px 4px #6c757d4d;transform:translateY(-1px)}@media (max-width:768px){.edit-user-form .form-grid{grid-template-columns:1fr}.edit-user-form .modal-actions{flex-direction:column}.edit-user-form .primary-btn,.edit-user-form .secondary-btn{width:100%}}.subscription-section{padding:1.5rem}.subscription-tiers{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:2rem 0}.tier-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.tier-card:hover{border-color:#667eea;box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.tier-card.selected{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-color:#667eea;box-shadow:0 4px 15px #667eea33}.tier-card.popular{border-color:#28a745}.popular-badge{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d;color:#fff;font-size:.75rem;font-weight:600;padding:4px 40px;position:absolute;right:-30px;top:12px;transform:rotate(45deg)}.tier-header{border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:1rem;text-align:center}.tier-header h5{color:#333;font-size:1.5rem;margin:0 0 1rem}.tier-pricing{align-items:baseline;display:flex;gap:.25rem;justify-content:center}.tier-pricing .price{color:#667eea;font-size:2rem;font-weight:700}.tier-pricing .period{color:#666;font-size:1rem}.tier-pricing-yearly{align-items:center;color:#666;display:flex;flex-direction:column;font-size:.9rem;margin-top:.5rem}.tier-pricing-yearly .savings{color:#28a745;font-size:.85rem;font-weight:600}.tier-description{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:1rem;text-align:center}.tier-limits{background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-around;margin:1rem 0;padding:.75rem}.tier-limits .limit-item{font-size:.85rem;text-align:center}.tier-limits .limit-item strong{color:#667eea;display:block;margin-bottom:.25rem}.tier-features{list-style:none;margin:1rem 0;padding:0}.tier-features li{border-bottom:1px solid #f0f0f0;color:#444;font-size:.9rem;padding:.5rem 0}.tier-features li:last-child{border-bottom:none}.selected-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.subscription-actions{background:#f8f9fa;border-radius:12px;margin-top:2rem;padding:1.5rem}.current-plan-summary{margin-bottom:1.5rem}.current-plan-summary h5{color:#333;font-size:1.25rem;margin:0 0 .5rem}.current-plan-summary p{color:#666;line-height:1.6;margin:0}.upgrade-btn{align-items:center;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:1rem;width:100%}.billing-note{font-size:.85rem;margin:0}.billing-note,.no-tiers{color:#666;text-align:center}.no-tiers{padding:3rem}.app-administration .apps-overview{margin-bottom:2rem}.app-administration .overview-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.app-administration .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.app-administration .stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.app-administration .stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.app-administration .stat-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.app-administration .stat-number{color:#1e293b;font-size:1.75rem;font-weight:700;line-height:1}.app-administration .stat-label{color:#64748b!important;font-size:.875rem;font-weight:500;letter-spacing:.3px;text-transform:capitalize}.wizard-config-tab{padding:2rem}.wizard-config-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.wizard-config-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:all .2s ease}.wizard-config-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.wizard-config-card h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.wizard-config-card p{color:#64748b;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.wizard-status{margin-bottom:1rem}.status-badge{display:inline-block;font-size:.75rem}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.wizard-config-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.wizard-config-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.analytics-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:1.5rem;text-align:center}.analytics-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.analytics-label{font-size:1rem;font-weight:600;margin-bottom:.25rem;opacity:.95}.analytics-sublabel{font-size:.75rem;opacity:.8}.invitation-manager{margin:0 auto;max-width:1400px;padding:20px}.invitation-manager.loading{color:#666;font-size:16px;padding:40px;text-align:center}.invitation-header{margin-bottom:30px}.header-content{margin-bottom:20px}.header-content h2{color:#333;font-size:24px;margin:0}.invite-user-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background-color .2s}.invite-user-btn:hover{background:#1976d2}.invitation-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;text-align:center}.stat-card.pending{border-left:4px solid #ff9800}.stat-card.registered{border-left:4px solid #4caf50}.stat-card.expired{border-left:4px solid #f44336}.stat-number{color:#333;font-size:28px;margin-bottom:5px}.stat-label{color:#666;letter-spacing:.5px;text-transform:uppercase}.invitation-controls{background:#f8f9fa;border-radius:6px;gap:20px;margin-bottom:20px;padding:15px}.filters,.invitation-controls{align-items:center;display:flex}.filters{gap:10px}.filters label{color:#333;font-weight:600}.filters select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px}.search{flex:1 1;max-width:300px}.search input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.bulk-actions-bar{background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;margin-bottom:15px;padding:12px 20px}.bulk-selection span{color:#1976d2;font-weight:600}.bulk-actions{gap:10px}.bulk-cancel-btn,.bulk-resend-btn,.deselect-all-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.bulk-resend-btn{background:#4caf50;color:#fff}.bulk-resend-btn:hover{background:#45a049}.bulk-cancel-btn{background:#f44336;color:#fff}.bulk-cancel-btn:hover{background:#da190b}.deselect-all-btn{background:#6c757d;color:#fff}.deselect-all-btn:hover{background:#545b62}.selection-controls{border-bottom:1px solid #eee;margin-bottom:15px;padding:10px 0}.selection-controls label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:600;gap:8px}.selection-controls input[type=checkbox]{transform:scale(1.1)}.invitations-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.invitations-table{border-collapse:collapse;width:100%}.invitations-table th{background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#333;font-size:14px;font-weight:600;padding:15px 12px;text-align:left}.invitations-table td{border-bottom:1px solid #f0f0f0;padding:12px;vertical-align:top}.invitation-row:hover{background:#f8f9fa}.invitation-row.expired{background:#fff5f5}.invitation-row.registered{background:#f0fff0}.email-cell{min-width:200px}.email-container{display:flex;flex-direction:column;gap:4px}.email{color:#333;font-weight:600}.user-registered{color:#4caf50;font-size:12px;font-weight:600}.date-cell{font-size:14px;min-width:120px}.date-cell small{color:#666;font-size:12px}.expired-text{color:#f44336;font-weight:600}.not-registered{color:#999;font-style:italic}.status-badge{font-size:12px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-registered{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-expired{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-cancelled{background:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.actions-cell{min-width:150px}.actions-cell button{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;margin:2px;padding:6px 10px}.resend-btn{background:#4caf50;color:#fff}.resend-btn:hover{background:#45a049}.cancel-btn{background:#f44336;color:#fff}.cancel-btn:hover{background:#da190b}.registered-text{color:#4caf50;font-size:12px;font-weight:600}.cancelled-text{color:#666;font-size:12px;font-weight:600}.no-invitations{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;padding:60px 20px;text-align:center}.no-invitations p{font-size:16px;margin:10px 0}.invite-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.invite-modal h3{color:#333;font-size:20px;margin:0 0 20px}.invite-form{margin-bottom:25px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333;outline:none}.invite-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:15px;padding:15px}.invite-preview h4{color:#333;font-size:14px;margin:0 0 10px}.preview-content p{color:#555;font-size:13px;margin:8px 0}.preview-content strong{color:#333}.modal-actions{border-top:1px solid #eee;gap:10px;justify-content:flex-end;padding-top:20px}.send-invite-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.send-invite-btn:hover:not(:disabled){background:#1976d2}.send-invite-btn:disabled{background:#ccc;cursor:not-allowed}.modal-actions .cancel-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.modal-actions .cancel-btn:hover{background:#545b62}@media (max-width:768px){.invitation-manager{padding:10px}.header-content,.invitation-controls{align-items:stretch;flex-direction:column;gap:15px}.search{max-width:none}.invitation-stats{grid-template-columns:repeat(2,1fr)}.bulk-actions-bar{flex-direction:column;gap:10px}.invitations-table-container{overflow-x:auto}.invitations-table{min-width:800px}.invite-modal{padding:20px;width:95%}}@media (max-width:480px){.invitation-stats{grid-template-columns:1fr}.bulk-actions{flex-direction:column;width:100%}.bulk-actions button{width:100%}}.oncall-app{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;-webkit-user-select:none;user-select:none}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 20px #0000001a;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{max-width:1400px}.home-btn{background:none;border:none;border-radius:8px;color:#666;padding:.5rem;transition:all .2s}.home-btn:hover{background:#0000001a;transform:translateY(-1px)}.header-title{flex:1 1;text-align:center}.header-title h1{color:#333;font-size:1.8rem}.header-title p{color:#666;font-size:.9rem;margin:.25rem 0 0}.schedule-selector{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.schedule-selector label{color:#666;font-size:.9rem;font-weight:500}.schedule-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.25rem .5rem}.user-info{color:#333;gap:1rem}.config-btn{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.config-btn:hover{background:#0000001a;color:#333;transform:translateY(-1px)}.save-status{align-items:center;background:#e9ecef;border-radius:8px;color:#666;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.save-status.saving{background:#ffc107;color:#000}.save-status.has-changes{background:#17a2b8;color:#fff}.save-status.saved{background:#28a745;color:#fff}.spinning{animation:spin 1s linear infinite}.scheduler-controls{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:1.5rem 2rem}.view-modes{background:#ffffffe6;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:.25rem}.view-btn,.view-modes{display:flex;gap:.5rem}.view-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.view-btn.active,.view-btn:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.navigation-controls{background:#ffffffe6;border-radius:12px;box-shadow:0 2px 8px #0000001a;gap:1rem;padding:.5rem}.nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.nav-btn:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.today-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.today-btn:hover{background:#218838;transform:translateY(-1px)}.current-period{color:#333;font-size:1rem;min-width:200px;text-align:center}.availability-painter{align-items:center;background:#ffffffe6;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:.5rem 1rem}.availability-painter label{color:#333;font-size:.9rem;font-weight:500}.painter-buttons{display:flex;gap:.5rem}.painter-btn{border:2px solid #0000;border-radius:8px;color:#333;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;position:relative;transition:all .2s}.painter-btn.active{border-color:#333;box-shadow:0 2px 8px #0003;transform:scale(1.05)}.painter-btn:hover{transform:translateY(-1px)}.legend{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;margin:0 auto;max-width:1400px;padding:0 2rem 1rem}.legend-item{background:#ffffffe6;border-radius:8px;color:#333;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.legend-color{border:1px solid #0000001a;border-radius:4px}.scheduler-main{background:#fffffff2;border-radius:16px 16px 0 0;margin:0 auto;max-width:1400px;min-height:600px;padding:0 2rem 2rem}.month-view{padding:1.5rem}.calendar-grid{background:#dee2e6;border-radius:12px;box-shadow:0 4px 16px #0000001a}.day-header{background:#6c757d;font-size:.9rem;padding:1rem}.date-cell{align-items:flex-start;background:#fff;border:2px solid #0000;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:.5rem;position:relative;transition:all .2s}.date-cell:hover{border-color:#667eea;box-shadow:0 4px 16px #00000026;transform:scale(1.02);z-index:10}.date-cell.dragging{transform:scale(.98)}.date-cell.today{border-color:#28a745;border-width:3px}.date-cell.other-month-date{opacity:.4}.date-cell.inactive-day{background:#f8f9fa!important;cursor:not-allowed}.date-cell.inactive-day:hover{border-color:#0000;transform:none}.date-number{color:#333}.availability-indicator{font-size:1.2rem;position:absolute;right:.5rem;top:.5rem}.week-view{padding:1.5rem}.week-grid{grid-gap:1px;background:#dee2e6;border-radius:12px;box-shadow:0 4px 16px #0000001a;display:grid;gap:1px;grid-template-columns:80px repeat(7,1fr);overflow:hidden}.time-header{font-size:.9rem;font-weight:600}.time-header,.week-grid .day-header{background:#6c757d;color:#fff;padding:1rem;text-align:center}.day-name{font-size:.9rem}.day-date{font-size:1.1rem;margin-top:.25rem}.time-slot{background:#f8f9fa;border-right:1px solid #dee2e6;color:#666;font-size:.8rem;padding:.5rem;text-align:center}.week-cell{background:#fff;border:1px solid #0000;cursor:pointer;height:60px;transition:all .2s}.week-cell:hover{border-color:#667eea;transform:scale(1.02);z-index:10}.week-cell.today{border-color:#28a745;border-width:2px}.day-view{padding:1.5rem}.day-header-large{margin-bottom:2rem;position:relative;text-align:center}.day-header-large h2{color:#333;font-size:1.8rem;margin:0}.today-badge{background:#28a745;border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem;position:absolute;right:50%;top:-.5rem;transform:translateX(50%)}.no-coverage-message{color:#666;padding:3rem;text-align:center}.no-coverage-message svg{color:#ccc;margin-bottom:1rem}.day-availability{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.availability-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:1.5rem}.availability-card h3{color:#333;font-size:1.2rem;margin:0 0 1rem}.availability-display{align-items:center;border-radius:12px;color:#333;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.availability-icon{font-size:2rem}.availability-text strong{display:block;font-size:1.1rem;margin-bottom:.5rem}.availability-text p{font-size:.9rem;margin:0;opacity:.8}.availability-actions{display:flex;gap:.5rem}.availability-btn{border:2px solid #0000;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem;transition:all .2s}.availability-btn.active{border-color:#333;transform:scale(1.05)}.availability-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.day-timeline{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;padding:1.5rem}.day-timeline h4{color:#333;margin:0 0 1rem}.timeline-grid{grid-gap:1px;background:#dee2e6;border-radius:8px;display:grid;gap:1px;max-height:400px;overflow:hidden;overflow-y:auto}.timeline-hour{background:#fff;display:grid;grid-template-columns:80px 1fr}.timeline-time{background:#f8f9fa;border-right:1px solid #dee2e6;color:#666;font-size:.8rem;padding:.75rem;text-align:center}.timeline-bar{height:40px;opacity:.7}.loading{font-size:1.2rem}.no-schedules-message{align-items:center;color:#fff;display:flex;justify-content:center;min-height:60vh}.message-content{background:#fffffff2;border-radius:16px;color:#333;max-width:600px;padding:3rem;text-align:center}.message-content h2{color:#333;margin:0 0 1rem}.message-content p{line-height:1.6;margin:1rem 0}.message-content ul{margin:1rem 0;text-align:left}.btn-primary{border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover{background:#5a67d8;transform:translateY(-2px)}@media (max-width:1200px){.scheduler-controls{flex-direction:column;gap:1rem}.day-availability{gap:1.5rem;grid-template-columns:1fr}}@media (max-width:768px){.header-content{padding:0 1rem}.legend,.scheduler-controls,.scheduler-main{padding-left:1rem;padding-right:1rem}.calendar-grid{gap:0}.date-cell{min-height:80px;padding:.25rem}.legend{gap:1rem}.legend-item{flex-direction:column;gap:.25rem;text-align:center}}@media (max-width:480px){.header-title h1{font-size:1.4rem}.availability-painter,.navigation-controls,.view-modes{justify-content:space-between;width:100%}.painter-buttons{flex-wrap:wrap;gap:.25rem}.painter-btn{flex:1 1;min-width:80px}}.date-cell.rest-day{background-image:linear-gradient(45deg,#0000 40%,#6c757d1a 0,#6c757d1a 60%,#0000 0);position:relative}.rest-day-indicator{font-size:12px;opacity:.7;position:absolute;right:2px;top:2px;z-index:1}.calendar-grid{background:#e9ecef;border-radius:8px;display:grid!important}.calendar-grid[data-columns="5"]{grid-template-columns:repeat(5,1fr)!important}.calendar-grid[data-columns="6"]{grid-template-columns:repeat(6,1fr)!important}.calendar-grid[data-columns="7"]{grid-template-columns:repeat(7,1fr)!important}.date-cell.rest-day .date-number{color:#6c757d;font-style:italic}.date-cell.rest-day:not(.inactive-day){background-blend-mode:multiply}.admin-date-cell.holiday{background-image:linear-gradient(45deg,#0000 40%,#ffc10733 0,#ffc10733 60%,#0000 0);position:relative}.admin-week-day.holiday{background-image:linear-gradient(45deg,#0000 40%,#ffc10726 0,#ffc10726 60%,#0000 0);position:relative}.holiday-indicator{font-size:14px;opacity:.8;position:absolute;right:20px;top:2px;z-index:1}.admin-date-cell.holiday .date-number,.admin-week-day.holiday .day-date{color:#e67e22;font-weight:600}.calendar-options-notice{align-items:center;background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;color:#0056b3;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:8px 12px}.calendar-options-notice .info-icon{color:#007bff;flex-shrink:0}.calendar-controls-redesigned{border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;margin:20px 0;padding:16px 0}.view-and-navigation{align-items:center;display:flex;gap:0;justify-content:flex-start}.view-buttons-new{background:#fffffff2;border:1px solid #667eea1a;border-radius:10px;box-shadow:0 2px 12px #00000014;display:flex;gap:0;padding:4px}.view-btn-new{align-items:center;background:#0000;border:none;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:14px;font-weight:600;padding:10px 20px;position:relative;transition:all .3s ease;white-space:nowrap}.view-btn-new:hover{background:#667eea1a;color:#667eea;transform:translateY(-1px)}.view-btn-new.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-1px)}.navigation-section{align-items:center;display:flex;margin-left:24px}.vertical-separator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1px;height:32px;margin-right:20px;opacity:.6;width:2px}.navigation-controls-new{align-items:center;background:#fffffff2;border:1px solid #667eea1a;border-radius:10px;box-shadow:0 2px 12px #00000014;display:flex;gap:8px;padding:6px}.nav-btn-new{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;transition:all .3s ease;width:44px}.nav-btn-new:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 16px #667eea40;color:#fff;transform:translateY(-2px) scale(1.05)}.nav-btn-new:active{transform:translateY(0) scale(.98)}.nav-next,.nav-prev{font-weight:700}.nav-next:hover,.nav-prev:hover{background:linear-gradient(135deg,#667eea,#764ba2)}.today-btn-new{background:#0000;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;margin:0 4px;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.today-btn-new:hover{background:#667eea1a;color:#5a67d8;transform:translateY(-1px)}.today-btn-new:active{transform:translateY(0)}.calendar-header-content{align-items:center;display:flex;flex:1 1;gap:0;margin-top:4px}.calendar-header-content h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.schedule-selector{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#667eea14,#764ba214);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667eea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:none;border-radius:8px;box-shadow:0 2px 8px #667eea1a;color:#333;cursor:pointer;font-family:inherit;font-size:1.25rem;font-weight:600;min-width:180px;padding:4px 32px 4px 8px;transition:all .3s ease}.schedule-selector:hover{background:linear-gradient(135deg,#667eea1f,#764ba21f);box-shadow:0 4px 16px #667eea33;color:#667eea;transform:translateY(-1px)}.schedule-selector:focus{background:linear-gradient(135deg,#667eea26,#764ba226);box-shadow:0 4px 20px #667eea40;color:#667eea;outline:none;transform:translateY(-1px)}.schedule-selector:active{box-shadow:0 2px 12px #667eea26;transform:translateY(0)}.schedule-selector option{background:#fff;border:none;color:#333;font-size:14px;font-weight:500;padding:12px 16px}.schedule-selector option:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#667eea}.spin{animation:spin 1s linear infinite}.statistics-manager{background:var(--bg-primary);min-height:100vh;padding:24px}.statistics-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px}.header-title{align-items:center;color:var(--text-primary);display:flex;gap:12px}.header-title h2{font-size:24px;font-weight:600;margin:0}.statistics-filters{align-items:center;display:flex;gap:20px}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;font-weight:500;gap:4px;white-space:nowrap}.form-select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:14px;min-width:140px;padding:8px 12px}.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a;outline:none}.btn-sm{font-size:14px;padding:8px 16px}.error-container,.loading-container{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-top-color:var(--primary-color);margin-bottom:16px}.statistics-content{display:flex;flex-direction:column;gap:32px}.stats-overview h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.overview-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:16px;padding:20px;transition:all .2s ease}.stat-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.stat-card.highlight{background:linear-gradient(135deg,var(--primary-color),#4f46e5);border-color:var(--primary-color);color:#fff}.stat-icon{background:#3b82f61a;border-radius:8px;color:var(--primary-color);height:40px;width:40px}.stat-card.highlight .stat-icon{background:#fff3;color:#fff}.stat-info{flex:1 1}.stat-number{color:inherit;font-size:24px;line-height:1.2}.stat-label{font-size:14px;font-weight:500;margin-top:4px;opacity:.8}.schedule-statistics h3,.statistics-insights h3,.user-statistics h3,.workload-distribution h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.schedule-stats-table,.user-stats-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.schedule-stats-table table,.user-stats-table table{border-collapse:collapse;width:100%}.schedule-stats-table th,.user-stats-table th{background:var(--bg-tertiary);font-weight:600;text-align:left}.schedule-stats-table td,.schedule-stats-table th,.user-stats-table td,.user-stats-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px;padding:12px 16px}.schedule-stats-table tbody tr:last-child td,.user-stats-table tbody tr:last-child td{border-bottom:none}.schedule-stats-table tbody tr:hover,.user-stats-table tbody tr:hover{background:var(--bg-tertiary)}.schedule-name,.user-name{color:var(--text-primary);font-weight:500}.assignments-count{color:var(--primary-color);font-weight:600}.coverage-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.coverage-badge.good{background:#22c55e1a;color:#16a34a}.coverage-badge.warning{background:#f59e0b1a;color:#d97706}.coverage-badge.poor{background:#ef44441a;color:#dc2626}.participation-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.participation-badge.level-3{background:#f59e0b1a;color:#d97706}.participation-badge.level-4{background:#3b82f61a;color:#2563eb}.participation-badge.level-5{background:#22c55e1a;color:#16a34a}.fulfillment-rate.good{color:#16a34a;font-weight:600}.fulfillment-rate.warning{color:#d97706;font-weight:600}.fulfillment-rate.poor{color:#dc2626;font-weight:600}.workload-bar{background:var(--bg-tertiary);border-radius:10px;height:20px;overflow:hidden;position:relative;width:80px}.workload-fill{background:linear-gradient(90deg,#16a34a,#22c55e);height:100%;transition:width .3s ease}.workload-text{color:var(--text-primary);font-size:11px;font-weight:500;left:50%;position:absolute;text-shadow:0 1px 2px #0000001a;top:50%;transform:translate(-50%,-50%)}.distribution-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.distribution-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.card-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;font-weight:600;gap:8px;padding:16px 20px}.card-content{padding:20px}.range-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.range-info:last-child{margin-bottom:0}.range-label{color:var(--text-secondary);font-size:14px}.range-value{color:var(--text-primary);font-size:14px;font-weight:600}.fairness-score{flex-direction:column;text-align:center}.fairness-score,.score-circle{align-items:center;display:flex}.score-circle{background:linear-gradient(135deg,var(--primary-color),#4f46e5);border-radius:50%;height:80px;justify-content:center;margin-bottom:12px;position:relative;width:80px}.score-number{color:#fff;font-size:24px;font-weight:700}.score-total{color:#fffc;font-size:14px}.score-description{color:var(--text-secondary);font-size:14px;font-weight:500}.insights-list{display:flex;flex-direction:column;gap:16px}.insight-item{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:8px;display:flex;gap:12px;padding:16px}.insight-item svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.insight-text{color:var(--text-primary);font-size:14px;line-height:1.5}.insight-text strong{color:var(--primary-color);font-weight:600}.workload-visualization{margin-bottom:32px}.workload-chart .chart-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:24px}.workload-bars{align-items:flex-end;display:flex;gap:8px;height:200px;justify-content:center;margin-bottom:20px;padding:0 16px}.workload-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:60px}.workload-bar-wrapper{align-items:flex-end;border-radius:4px 4px 0 0;display:flex;height:160px;overflow:hidden;position:relative;width:32px}.workload-bar-fill{background:linear-gradient(180deg,#ef4444,#f97316 40%,#22c55e);border-radius:4px 4px 0 0;cursor:pointer;min-height:4px;transition:height .6s ease;width:100%}.workload-bar-fill:hover{opacity:.8}.workload-bar-label{align-items:center;display:flex;flex-direction:column;margin-top:8px;text-align:center}.user-initials{align-items:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);display:flex;font-size:10px;font-weight:600;height:24px;justify-content:center;margin-bottom:4px;width:24px}.assignment-count{color:var(--text-primary);font-weight:500}.chart-legend{display:flex;gap:20px;justify-content:center;margin-top:16px}.legend-color.workload-low{background:#22c55e}.legend-color.workload-medium{background:#f97316}.legend-color.workload-high{background:#ef4444}.coverage-timeline{margin-bottom:32px}.coverage-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.coverage-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.coverage-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.coverage-header h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.coverage-percentage{border-radius:4px;font-size:14px;font-weight:600;padding:4px 8px}.coverage-percentage.excellent{background:#22c55e1a;color:#16a34a}.coverage-percentage.good{background:#f59e0b1a;color:#d97706}.coverage-percentage.poor{background:#ef44441a;color:#dc2626}.coverage-progress{margin-bottom:16px}.progress-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:4px;height:100%;transition:width .6s ease}.coverage-details{color:var(--text-secondary);font-size:12px}.coverage-stats{display:flex;gap:16px;justify-content:space-between}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:var(--text-secondary);font-size:11px;margin-bottom:2px}.stat-value{color:var(--text-primary);font-size:14px;font-weight:600}@media (max-width:1024px){.statistics-header{align-items:flex-start;flex-direction:column;gap:16px}.statistics-filters{flex-wrap:wrap;gap:12px}.overview-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.distribution-cards{grid-template-columns:1fr}.workload-bars{gap:6px}.workload-bar-container{max-width:50px}.workload-bar-wrapper{width:28px}.coverage-grid{grid-template-columns:1fr}}.timeline-summary{margin-bottom:32px}.timeline-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:16px}.timeline-card{background:var(--bg-secondary);border-left:4px solid;border-radius:12px;padding:20px;transition:transform .2s ease}.timeline-card:hover{transform:translateY(-2px)}.timeline-previous{border-left-color:#9ca3af}.timeline-current{border-left-color:#10b981}.timeline-upcoming{border-left-color:#3b82f6}.timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.timeline-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.schedule-count{background:var(--primary-color);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:4px 12px}.timeline-stats{display:flex;flex-direction:column;gap:8px}.timeline-stat{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.timeline-stat .stat-label{color:var(--text-secondary);font-size:14px}.timeline-stat .stat-value{color:var(--text-primary);font-size:14px;font-weight:600}.schedule-row{transition:background-color .2s ease}.schedule-row:hover{background-color:var(--bg-hover)}.schedule-info{display:flex;flex-direction:column;gap:4px}.schedule-description{color:var(--text-secondary);font-size:12px;font-style:italic}.timeline-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.timeline-badge.timeline-previous{background:#f3f4f6;color:#6b7280}.timeline-badge.timeline-current{background:#d1fae5;color:#065f46}.timeline-badge.timeline-upcoming{background:#dbeafe;color:#1e40af}.schedule-status{display:flex;flex-direction:column;gap:2px}.date-info{color:var(--text-secondary);font-size:11px}.user-info{gap:12px}.user-initials-button{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:36px;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:36px}.user-initials-button:hover{background:var(--primary-color-dark);transform:scale(1.05)}.user-full-name{color:var(--text-primary);font-weight:500}.user-initials.clickable{cursor:pointer;transition:all .2s ease}.user-initials.clickable:hover{background:var(--primary-color-dark);transform:scale(1.05)}.personal-stats-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}.personal-stats-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.personal-stats-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding:24px 24px 0}.personal-stats-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.personal-stats-body{padding:0 24px 24px}.personal-overview{margin-bottom:24px}.personal-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:16px}.personal-card{background:var(--bg-secondary);border-radius:8px;padding:16px;text-align:center}.personal-card .card-title{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.personal-card .card-value{color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:4px}.personal-card .card-value.trend-increasing{color:#10b981}.personal-card .card-value.trend-decreasing{color:#ef4444}.personal-card .card-value.trend-stable{color:var(--text-primary)}.personal-card .card-subtitle{color:var(--text-secondary);font-size:11px}.personal-lifecycle,.personal-schedule-participation{margin-bottom:20px}.personal-lifecycle h4,.personal-schedule-participation h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.lifecycle-list,.participation-list{display:flex;flex-direction:column;gap:12px}.lifecycle-item,.participation-item{background:var(--bg-secondary);border-radius:8px;padding:12px}.participation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.participation-header strong{color:var(--text-primary)}.assignment-count{background:var(--primary-color);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:2px 8px}.lifecycle-dates,.participation-dates{color:var(--text-secondary);display:flex;font-size:12px;gap:16px}.lifecycle-schedule{color:var(--text-primary);font-weight:500;margin-bottom:4px}@media (max-width:768px){.statistics-manager{padding:16px}.overview-cards{grid-template-columns:1fr}.schedule-stats-table,.user-stats-table{overflow-x:auto}.schedule-stats-table table,.user-stats-table table{min-width:600px}.workload-bars{gap:4px;padding:0 8px}.workload-bar-container{max-width:40px}.workload-bar-wrapper{height:120px;width:24px}.chart-legend{align-items:center;flex-direction:column;gap:8px}.timeline-cards{grid-template-columns:1fr}.personal-cards{grid-template-columns:repeat(2,1fr)}.personal-stats-modal{padding:10px}.personal-stats-content{max-height:90vh}}.statistics-calendar-view{background:var(--bg-secondary);border-radius:12px;margin-top:24px;padding:24px}.calendar-controls{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.navigation-controls{align-items:center;display:flex;gap:16px}.nav-button{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.current-period{color:var(--text-primary);font-size:16px;font-weight:600;gap:8px}.calendar-info,.current-period{align-items:center;display:flex}.calendar-info{gap:16px}.info-item{font-size:14px;gap:6px}.calendar-loading,.info-item{align-items:center;color:var(--text-secondary)}.calendar-loading{display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.calendar-loading .loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:32px;margin-bottom:16px;width:32px}.multi-month-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.statistics-calendar-month{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.month-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:16px}.month-header h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0;text-align:center}.weekdays-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:repeat(7,1fr)}.weekday-header{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}.calendar-day{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);min-height:60px;padding:6px;transition:background-color .2s ease}.calendar-day:hover{background-color:var(--bg-hover)}.calendar-day.other-month{background-color:var(--bg-tertiary);color:var(--text-disabled)}.calendar-day.today{background-color:#3b82f61a;border-color:var(--primary-color)}.calendar-day.has-assignments{background-color:#10b9810d}.calendar-day.today.has-assignments{background-color:#3b82f626}.day-number{color:var(--text-primary);font-size:14px;margin-bottom:4px}.calendar-day.other-month .day-number{color:var(--text-disabled)}.calendar-day.today .day-number{color:var(--primary-color);font-weight:700}.day-assignments{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2px}.assignment-initials{background:var(--primary-color);border-radius:3px;color:#fff;cursor:pointer;font-size:10px;font-weight:600;min-width:20px;padding:2px 4px;text-align:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.assignment-initials:hover{background:var(--primary-color-dark);transform:scale(1.05)}.assignment-overflow{background:var(--text-secondary);border-radius:3px;color:#fff;font-size:9px;font-weight:600;min-width:20px;padding:2px 4px;text-align:center}.calendar-legend{border-top:1px solid var(--border-color);gap:24px;justify-content:center;padding-top:16px}.legend-item{color:var(--text-secondary);font-size:14px;gap:8px}.legend-color{border:1px solid var(--border-color)}.today-color{background-color:#3b82f61a;border-color:var(--primary-color)}.has-assignments-color{background-color:#10b9810d;border-color:#10b981}.legend-initials{background:var(--primary-color);border-radius:3px;color:#fff;font-size:10px;font-weight:600;min-width:20px;padding:2px 4px;text-align:center}@media (max-width:1200px){.multi-month-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.statistics-calendar-view{padding:16px}.multi-month-grid{gap:16px;grid-template-columns:1fr}.calendar-controls{align-items:stretch;flex-direction:column;gap:16px}.calendar-info,.navigation-controls{justify-content:center}.current-period span{font-size:14px}.calendar-day{min-height:50px;padding:4px}.day-number{font-size:12px}.assignment-initials,.assignment-overflow{font-size:9px;padding:1px 2px}.calendar-legend{gap:16px}.legend-item{font-size:12px}}@media (max-width:480px){.weekday-header{font-size:10px;padding:8px 4px}.calendar-day{min-height:40px;padding:2px}.day-number{font-size:11px}.assignment-initials,.assignment-overflow{font-size:8px;min-width:16px;padding:1px}}.schedule-distribution{height:100%;overflow-y:auto;padding:1.5rem}.distribution-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem}.distribution-header .header-content{align-items:flex-start;display:flex;justify-content:space-between}.distribution-header .header-info h2{align-items:center;color:#333;display:flex;gap:.5rem;margin:0 0 .5rem}.distribution-header .header-info p{color:#666;margin:0}.error-banner,.refresh-btn{align-items:center;display:flex;gap:.5rem}.error-banner{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;margin-bottom:1.5rem;padding:.75rem 1rem}.distribution-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr;height:calc(100vh - 250px)}.schedule-selector h3{color:#333;margin:0 0 1rem}.schedule-list{display:flex;flex-direction:column;gap:.5rem}.schedule-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:1rem;text-align:left;transition:all .2s}.schedule-item:hover{background:#e3f2fd;border-color:#1976d2}.schedule-item.active{background:#1976d2;border-color:#1565c0;color:#fff}.schedule-item-content h4{font-size:1rem;margin:0 0 .5rem}.schedule-item-content p{font-size:.875rem;margin:0 0 .5rem;opacity:.8}.algorithm-tag{background:#fff3;border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.schedule-item.active .algorithm-tag{background:#ffffff4d}.distribution-details{overflow-y:auto;padding-right:.5rem}.details-header h3{color:#333;font-size:1.25rem;margin:0 0 1.5rem}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.detail-card.full-width{grid-column:1/-1}.detail-card h4{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1rem}.detail-card h5{color:#555;font-size:.95rem;margin:1rem 0 .5rem}.criteria-list{list-style:none;margin:0;padding:0}.criteria-list li{border-bottom:1px solid #f0f0f0;padding:.5rem 0 .5rem 1.5rem;position:relative}.criteria-list li:before{color:#4caf50;content:"✓";font-weight:700;left:0;position:absolute}.criteria-list li:last-child{border-bottom:none}.parameter-grid{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.param-item{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.param-label{color:#555;font-weight:600}.param-value{color:#333;font-weight:500}.constraints-section ul{margin:.5rem 0 0;padding-left:1.5rem}.constraints-section li{color:#666;margin-bottom:.25rem}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.metric-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;text-align:center}.metric-value{color:#1976d2;display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.metric-label{color:#666;display:block;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.assignments-table{overflow-x:auto}.assignments-table table{border-collapse:collapse;margin-top:.5rem;width:100%}.assignments-table th{background:#f8f9fa;border:1px solid #e0e0e0;color:#555;font-size:.9rem;font-weight:600;padding:.75rem;text-align:left}.assignments-table td{border:1px solid #e0e0e0;color:#333;padding:.75rem}.assignments-table tbody tr:nth-child(2n){background:#f8f9fa}.assignments-table tbody tr:hover{background:#e3f2fd}.empty-state{color:#666;padding:4rem 2rem}.empty-state svg{margin-bottom:1rem;opacity:.3}.empty-state h3{color:#555;margin:0 0 .5rem}.empty-state p{font-size:.95rem}.loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#1976d2;height:40px;margin-bottom:1rem;width:40px}.config-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:1.5rem}.config-tab{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;color:#666;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.config-tab:hover{background:#f5f5f5;color:#333}.config-tab.active{background:#e3f2fd;border-bottom-color:#1976d2;color:#1976d2}.week-config-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.day-config-line{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.day-checkbox input[type=checkbox]{height:16px;width:16px}.day-name{color:#333;letter-spacing:.5px;text-transform:uppercase}.day-intervals{display:flex;flex-direction:column;gap:.75rem}.interval-config{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.interval-config.next-day{background:#fff8e1;border-left:4px solid #ff9800}.time-inputs{align-items:center;display:flex;flex:1 1;gap:1rem}.time-input-group{align-items:center;gap:.5rem}.time-input-group label{font-size:.875rem;min-width:40px}.time-input-group input[type=time]{border:1px solid #ccc;border-radius:4px;font-size:.875rem;padding:.375rem .5rem}.next-day-checkbox,.next-day-checkbox label{align-items:center;display:flex}.next-day-checkbox label{color:#666;cursor:pointer;font-size:.875rem;gap:.375rem}.next-day-checkbox input[type=checkbox]{height:14px;width:14px}.interval-actions{display:flex;gap:.5rem}.btn-add-interval,.btn-remove-interval{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:32px;justify-content:center;width:32px}.btn-add-interval{background:#4caf50;color:#fff}.btn-add-interval:hover{background:#45a049}.btn-remove-interval{background:#f44336;color:#fff}.btn-remove-interval:hover{background:#d32f2f}.week-preview{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:2rem;padding:1rem}.week-preview h5{color:#333;font-size:1rem;margin:0 0 1rem}.standard-week-section{margin-bottom:2rem}.day-lines{display:flex;flex-direction:column;gap:1rem}.day-line{align-items:center;border-bottom:1px solid #eee;display:flex;gap:1.5rem;padding:.75rem .5rem}.intervals-list{display:flex;flex-direction:column;gap:.5rem}.interval-row{align-items:center;display:flex;gap:.5rem}.btn-interval-add{background:#4caf50;font-size:1.2rem;height:28px;margin-top:.5rem;width:28px}.btn-interval-add,.btn-interval-remove{border:none;border-radius:50%;color:#fff;cursor:pointer}.btn-interval-remove{background:#e74c3c;font-size:1rem;height:24px;width:24px}.interval-row input[type=time]{width:90px}.interval-row .checkbox-label{margin-left:.5rem}.interval-row .checkbox-label input{margin-right:.25rem}.interval-row span{color:#333;font-size:.95rem}.day-line.weekend{background:#fff5f5}.day-line.weekday{background:#f5faff}.overlap-cell{background:#ff9800!important;border:1px solid #ffa726}.oncall-admin{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.admin-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #fff3;box-shadow:0 8px 32px #0000001a,0 0 0 1px #fff3;overflow:hidden;padding:1.5rem 0;position:relative}.admin-header:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem;position:relative;z-index:1}.header-content,.home-btn{align-items:center;display:flex}.home-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#333;cursor:pointer;padding:.75rem;transition:all .3s ease}.home-btn:hover{background:#fff3;border-color:#ffffff4d;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.header-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2c3e50,#34495e);background-clip:text;-webkit-background-clip:text;color:#2c3e50;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0;text-shadow:0 2px 4px #0000001a}.header-title p{font-size:1rem;margin:.5rem 0 0;opacity:.8}.header-title p,.user-info{color:#576574;font-weight:500}.user-info{align-items:center;display:flex;font-size:.95rem;gap:.75rem}.role-badge{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #fff3;border-radius:20px;box-shadow:0 4px 12px #667eea4d;color:#fff;font-size:.85rem;padding:.5rem 1rem}.admin-layout{border-radius:0 0 20px 20px;box-shadow:0 -1px 0 #ffffff1a,0 8px 32px #00000014,0 0 0 1px #ffffff1a;display:flex;min-height:calc(100vh - 200px);overflow:hidden}.admin-sidebar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border-right:1px solid #ffffff26;flex-shrink:0;overflow:hidden;position:relative;width:280px}.admin-sidebar:before{background:linear-gradient(180deg,#ffffff14,#ffffff05);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.sidebar-content{flex-direction:column;gap:.75rem;padding:2rem 1.5rem;z-index:1}.sidebar-btn,.sidebar-content{display:flex;position:relative}.sidebar-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;color:#fffc;cursor:pointer;font-size:.95rem;font-weight:600;gap:1rem;letter-spacing:.02em;overflow:hidden;padding:1rem 1.5rem;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.sidebar-btn:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.sidebar-btn:hover:before{opacity:1}.sidebar-btn:hover{background:#ffffff26;border-color:#ffffff40;box-shadow:0 8px 25px #00000026;color:#fff;transform:translateX(5px)}.sidebar-btn.active{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-color:#ffffff4d;box-shadow:0 8px 32px #0000001f,0 0 0 1px #ffffff1a;color:#2c3e50;transform:translateX(2px)}.sidebar-btn.active:before{background:linear-gradient(135deg,#667eea1a,#764ba20d);opacity:1}.sidebar-btn span{font-weight:inherit}.admin-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;flex:1 1;overflow:auto;padding:2.5rem;position:relative}.admin-content:before{background:radial-gradient(circle at 20% 20%,#667eea08 0,#0000 50%),radial-gradient(circle at 80% 80%,#764ba208 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.overview-content{grid-gap:2rem;display:grid;gap:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffc;border-radius:20px;box-shadow:0 8px 32px #00000014,0 0 0 1px #fff3;display:flex;gap:1.5rem;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.stat-card:hover:before{opacity:1}.stat-card:hover{box-shadow:0 20px 40px #0000001f,0 0 0 1px #ffffff4d;transform:translateY(-8px) scale(1.02)}.stat-icon{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 25px #667eea4d,0 0 0 1px #fff3;color:#fff;display:flex;justify-content:center;padding:1.25rem}.stat-info h3{color:#2c3e50;font-size:.95rem;font-weight:600;letter-spacing:.02em;margin:0 0 .5rem;opacity:.8}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.recent-activity{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffc;border-radius:20px;box-shadow:0 8px 32px #00000014,0 0 0 1px #fff3;overflow:hidden;padding:2rem;position:relative}.recent-activity:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.recent-activity h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem;position:relative;z-index:1}.activity-list{grid-gap:1rem;display:grid;gap:1rem;position:relative;z-index:1}.activity-item{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#f8f9fa99;border:1px solid #fff3;border-radius:12px;display:flex;gap:1.5rem;padding:1.25rem;transition:all .3s ease}.activity-item:hover{background:#667eea0d;border-color:#667eea33;transform:translateX(5px)}.activity-time{color:#667eea;font-size:.85rem;font-weight:600;letter-spacing:.02em;min-width:80px;text-transform:uppercase}.users-content{grid-gap:1.5rem;display:grid;gap:1.5rem}.section-header{align-items:center;border-bottom:2px solid #667eea1a;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;position:relative}.section-header:after{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:60px}.section-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.btn-primary{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 15px #667eea4d,0 0 0 1px #ffffff1a;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.02em;overflow:hidden;padding:.875rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.btn-primary:hover:before{opacity:1}.btn-primary:hover{box-shadow:0 12px 25px #667eea66,0 0 0 1px #fff3;transform:translateY(-3px) scale(1.02)}.users-table{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffc;border-radius:20px;box-shadow:0 8px 32px #00000014,0 0 0 1px #fff3;overflow:hidden;position:relative}.users-table:before{background:linear-gradient(135deg,#ffffff0d,#ffffff05);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.users-table table{border-collapse:collapse;position:relative;width:100%;z-index:1}.users-table td,.users-table th{border-bottom:1px solid #0000000d;padding:1.25rem}.users-table th{background:#f8f9facc;border-bottom:1px solid #0000001a;color:#2c3e50;font-size:.9rem;letter-spacing:.02em;text-transform:uppercase}.users-table th,.users-table tr:hover{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.users-table tr:hover{background:#667eea0d}.status-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.status-active{background:#d4edda;color:#155724}.status-limited{background:#fff3cd;color:#856404}.status-unavailable{background:#f8d7da;color:#721c24}.status-inactive{background:#e2e3e5;color:#495057}.btn-small{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin-right:.5rem;padding:.25rem .75rem;transition:background-color .2s}.btn-small:hover{background:#5a6268}.schedules-content{grid-gap:1.5rem;display:grid;gap:1.5rem}.schedules-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.schedule-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffc;border-radius:20px;box-shadow:0 8px 32px #00000014,0 0 0 1px #fff3;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-card:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.schedule-card:hover:before{opacity:1}.schedule-card:hover{box-shadow:0 20px 40px #0000001f,0 0 0 1px #ffffff4d;transform:translateY(-8px) scale(1.02)}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;position:relative;z-index:1}.schedule-header h4{color:#2c3e50;margin:0}.schedule-actions{gap:.5rem;margin-top:1rem}.loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:1.3rem;font-weight:600;height:100vh;justify-content:center;position:relative}.loading:before{animation:spin 1s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#fff;content:"";height:60px;margin-right:1rem;position:absolute;width:60px}.license-card{border-left:4px solid #28a745}.license-status.active{color:#28a745;font-weight:700}.license-status.inactive{color:#dc3545;font-weight:700}.license-summary{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:1rem;padding:.5rem 1rem}.license-info{color:#495057;font-size:.9rem;font-weight:600}.license-details{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem}.license-item{font-size:.9rem;margin-bottom:.5rem}.license-item:last-child{margin-bottom:0}.license-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;margin-top:1rem;padding:1rem}.license-warning p{font-weight:500;margin:0}.no-license{color:#6c757d;font-style:italic;margin:0}.access-badge{border-radius:15px;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.access-badge.granted{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.access-badge.denied{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.btn-toggle{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-toggle.grant{background:#28a745;color:#fff}.btn-toggle.grant:hover:not(:disabled){background:#218838}.btn-toggle.revoke{background:#dc3545;color:#fff}.btn-toggle.revoke:hover:not(:disabled){background:#c82333}.btn-toggle:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.role-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.role-badge.user{background:#e3f2fd;color:#1976d2}.role-badge.siteadmin{background:#f3e5f5;color:#7b1fa2}.role-badge.ooftayadmin{background:#fff3e0;color:#f57c00}.bulk-actions-bar{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem;padding:1rem}.bulk-actions-bar,.bulk-selection{align-items:center;display:flex;gap:1rem}.selection-count{background:#007bff;border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.bulk-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn-bulk{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-bulk:disabled{cursor:not-allowed;opacity:.6}.btn-grant{background:#28a745;color:#fff}.btn-grant:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn-revoke{background:#dc3545;color:#fff}.btn-revoke:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.users-table tr.selected{background-color:#007bff1a;border-left:3px solid #007bff}.users-table tr.selected:hover{background-color:#007bff26}.users-table td:first-child,.users-table th:first-child{padding:.75rem .5rem;text-align:center}.users-table input[type=checkbox]{cursor:pointer;height:16px;width:16px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-large{max-width:700px}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:all .2s}.modal-close:hover{background:#f8f9fa;color:#333}.modal-content{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem}.form-group input,.form-group textarea{border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:1rem}.modal-actions .btn{border-radius:6px;box-sizing:border-box;transition:all .2s ease}.copy-actions .btn-outline-primary{background:#0000;border:1px solid #667eea;color:#667eea}.copy-actions .btn-outline-primary:hover{background:#667eea;border-color:#667eea;color:#fff}.copy-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.copy-actions .btn{align-items:center;display:flex;font-size:.875rem;font-weight:500;height:40px;justify-content:center;min-width:140px;padding:.5rem 1rem;text-align:center;white-space:nowrap}.main-actions{align-items:center;display:flex;gap:1rem;justify-content:flex-end;margin-left:auto;min-height:44px}.main-actions>*{margin:0!important;vertical-align:initial!important}.main-actions .btn{align-items:center!important;box-sizing:border-box!important;display:flex!important;font-size:.9rem!important;font-weight:500!important;height:44px!important;justify-content:center!important;line-height:1.2!important;min-width:120px;padding:.75rem 1.5rem!important;text-align:center}.copy-actions .dropdown-toggle{font-size:.875rem;padding:.5rem 1rem}.copy-actions .dropdown-menu{max-height:300px;overflow-y:auto}.copy-actions .dropdown-item{font-size:.875rem;padding:.5rem 1rem}.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.modal-actions .btn-primary,.modal-actions .btn-secondary{align-items:center!important;box-sizing:border-box!important;display:flex!important;font-size:.9rem!important;font-weight:500!important;height:44px!important;justify-content:center!important;line-height:1.2!important;margin:0!important;min-width:120px;padding:.75rem 1.5rem!important;position:relative!important;top:0!important;transform:none!important;vertical-align:top!important}.modal-actions .btn-primary{border-radius:6px!important}.modal-actions .btn-primary:after,.modal-actions .btn-primary:before{display:none!important}.btn-secondary:hover{background:#5a6268}.user-checkboxes{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;max-height:300px;overflow-y:auto;padding:1rem}.checkbox-item{align-items:center;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 0;transition:background-color .2s}.checkbox-item:last-child{border-bottom:none}.checkbox-item:hover{background:#667eea0d}.checkbox-item input[type=checkbox]{margin:0;width:auto}.checkbox-item span{color:#333;font-size:.95rem}.no-schedules{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#666;padding:3rem 1rem;text-align:center}.no-schedules p{font-size:1.1rem;margin:0}@media (max-width:1024px){.admin-sidebar{width:250px}.sidebar-content{padding:1.5rem 1rem}}@media (max-width:768px){.admin-content,.header-content{padding-left:1rem;padding-right:1rem}.admin-layout{flex-direction:column}.admin-sidebar{border-bottom:1px solid #ffffff26;border-right:none;width:100%}.sidebar-content{flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:1rem}.sidebar-btn{flex:1 1;font-size:.85rem;gap:.5rem;min-width:120px;padding:.75rem}.sidebar-btn span{display:none}.sidebar-btn:hover{transform:translateX(0) scale(1.05)}.sidebar-btn.active{transform:translateX(0) scale(1.02)}.schedules-grid,.stats-grid{grid-template-columns:1fr}.users-table{overflow-x:auto}.bulk-actions-bar{align-items:stretch;flex-direction:column;text-align:center}.bulk-actions{justify-content:center}.btn-bulk{flex:1 1;min-width:120px}.section-header{gap:1rem}.license-summary,.section-header{align-items:stretch;flex-direction:column}.license-summary{text-align:center}.modal{margin:1rem;width:95%}.modal-content,.modal-header{padding:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.schedule-users-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:1rem 0;overflow:hidden;width:100%}.schedule-users-table td,.schedule-users-table th{border-bottom:1px solid #eee;padding:.75rem;text-align:left}.schedule-users-table th{background:#f8f9fa;color:#555;font-size:.9rem;font-weight:600}.schedule-users-table tbody tr:hover{background:#f5f5f5}.schedule-users-table tbody tr.selected{background:#e3f2fd}.schedule-users-table tbody tr.selected:hover{background:#bbdefb}.btn-assign{background:#4caf50;border:none;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.btn-assign:hover{background:#45a049}.btn-remove{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.btn-remove:hover{background:#da190b}.modal-large .schedule-users-table{font-size:.875rem}.modal-large .schedule-users-table td,.modal-large .schedule-users-table th{padding:.5rem}@media (max-width:768px){.schedule-users-table{font-size:.8rem}.schedule-users-table td,.schedule-users-table th{padding:.4rem}.schedule-users-table td:nth-child(3),.schedule-users-table th:nth-child(3){display:none}}.schedule-card.inactive{border-left:4px solid #ff9800;opacity:.7}.btn-warning,.status-badge.status-inactive{background:#ff9800;color:#fff}.btn-warning:hover{background:#f57c00}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#45a049}.btn-danger{background:#f44336}.btn-danger:hover{background:#da190b}.schedule-holidays{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.holiday-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.holiday-header h5{color:#666;font-size:.9rem;margin:0}.holidays-preview{margin-top:.5rem}.holidays-list{display:flex;flex-direction:column;gap:.25rem}.holiday-item{align-items:center;display:flex;font-size:.8rem;gap:.5rem}.holiday-color{border-radius:50%;flex-shrink:0;height:8px;width:8px}.holiday-date{font-size:.75rem}.delete-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;margin-bottom:1rem;padding:1rem}.delete-warning h4{color:#856404;font-size:1rem;margin:0 0 .5rem}.delete-warning p{color:#856404;margin:.25rem 0}.delete-warning ul{color:#856404;margin:.5rem 0 0 1rem}.delete-warning strong{color:#721c24}.btn-danger:disabled{background:#ccc;cursor:not-allowed}.btn-danger:disabled:hover{background:#ccc}.modal-calendar{height:90vh;max-height:800px;max-width:1200px;width:95vw}.calendar-content{display:flex;flex-direction:column;height:100%}.calendar-navigation{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem 0}.btn-nav{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.btn-nav:hover:not(:disabled){background:#1976d2}.btn-nav:disabled{background:#ccc;cursor:not-allowed}.calendar-legend{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.legend-color{border:1px solid #ddd;border-radius:2px;height:12px;width:12px}.legend-color.status-normal{background:#fff}.legend-color.status-no-role{background:#f5f5f5}.legend-color.status-warning{background:#ffc107}.legend-color.status-critical{background:#f44336}.legend-color.status-holiday{background:#2196f3}.calendar-months{display:flex;flex:1 1;gap:1rem;overflow:auto}.calendar-month{flex:1 1;min-width:280px}.calendar-month-header{margin-bottom:.5rem;text-align:center}.calendar-month-header h4{color:#333;font-size:1.1rem;font-weight:600;margin:0}.calendar-grid{grid-gap:1px;background:#ddd;border:1px solid #ddd;border-radius:4px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day-header{background:#f8f9fa;color:#666;font-size:.8rem;font-weight:600;padding:.5rem;text-align:center}.calendar-day{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:center;min-height:35px;position:relative;transition:all .2s}.calendar-day:hover{background:#f0f0f0}.calendar-day.other-month{background:#fafafa;color:#ccc}.calendar-day.today{background:#e3f2fd;font-weight:700}.calendar-day.today .day-number{color:#1976d2}.calendar-day.status-normal{background:#fff}.calendar-day.status-no-role{background:#f5f5f5;color:#999}.calendar-day.status-warning{background:#fff3cd;color:#856404}.calendar-day.status-critical{background:#f8d7da;color:#721c24}.calendar-day.status-holiday{background:#e3f2fd;border-color:#2196f3;color:#1976d2;font-weight:600}.day-number{font-size:.9rem;font-weight:500}.calendar-loading{color:#666;padding:2rem;text-align:center}@media (max-width:1024px){.calendar-months{flex-direction:column;gap:1.5rem}.calendar-month{min-width:0;min-width:auto}.modal-calendar{height:95vh;width:98vw}.calendar-legend{gap:.5rem;justify-content:center}.legend-item{font-size:.75rem}}@media (max-width:768px){.calendar-navigation{flex-direction:column;gap:1rem}.calendar-day{font-size:.8rem;min-height:30px}.calendar-day-header{font-size:.7rem;padding:.25rem}}.modal-config{height:90vh;max-height:700px;max-width:1000px;width:95vw}.config-content{display:flex;flex-direction:column;height:100%}.config-intro{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1rem}.config-intro h4{color:#333;font-size:1.2rem;margin:0 0 .5rem}.config-intro p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.config-loading{color:#666;padding:2rem;text-align:center}.week-planner{flex:1 1;overflow:auto}.planner-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.planner-header h5{color:#333;font-size:1.1rem;margin:0}.planner-legend{align-items:center;display:flex;gap:1rem}.legend-dot{border-radius:50%;height:8px;width:8px}.legend-dot.active{background:#4caf50}.legend-dot.inactive{background:#ccc}.days-config{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.day-config{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem;transition:border-color .2s}.day-config:has(.day-checkbox input:checked){background:#f0fff0;border-color:#4caf50}.day-header{margin-bottom:.75rem}.day-checkbox input[type=checkbox]{transform:scale(1.1)}.day-name{font-size:1rem}.day-times{grid-gap:1rem;align-items:center;gap:1rem;grid-template-columns:auto auto 1fr;margin-left:1.5rem}.time-input{width:120px}.time-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.weekly-schedule-grid{margin:1rem 0}.schedule-header{margin-bottom:1rem;text-align:center}.schedule-header h4{color:#333;font-size:1.2rem;font-weight:600;letter-spacing:1px;margin:0 0 .25rem}.schedule-subtitle{color:#666;font-size:.85rem;font-style:italic;margin:0}.grid-container{grid-gap:1px;background:#ccc;border:2px solid #333;border-radius:8px;display:grid;gap:1px;grid-template-columns:80px repeat(7,1fr);margin-bottom:1rem;max-height:300px;overflow:hidden;overflow-y:auto}.time-header-cell{background:#2c3e50}.day-header-cell,.time-header-cell{align-items:center;color:#fff;display:flex;font-size:.8rem;font-weight:700;justify-content:center;padding:.75rem .5rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.day-header-cell.weekday{background:#007bff}.day-header-cell.weekend{background:#dc3545}.time-label-cell{align-items:center;background:#ecf0f1;border-right:2px solid #bdc3c7;color:#2c3e50;display:flex;flex-direction:column;font-size:.65rem;justify-content:center;min-height:30px;padding:.25rem;position:relative;text-align:center}.time-main{font-weight:600;margin-bottom:.25rem}.quarter-indicators{display:flex;gap:2px;margin-top:.25rem}.quarter-dot{background:#7f8c8d;border-radius:50%;height:3px;width:3px}.schedule-hour-cell{grid-gap:1px;background:#fff;cursor:default;display:grid;gap:1px;grid-template-columns:repeat(4,1fr);min-height:30px;padding:1px}.schedule-hour-cell.sunday-cell{border-left:2px solid #dc3545}.quarter-cell{background:#f8f9fa;border-radius:2px;cursor:pointer;min-height:8px;position:relative;transition:background-color .2s ease}.quarter-cell.display-only{cursor:default;min-height:6px}.quarter-cell:hover:after{background-color:#000000e6;border-radius:4px;box-shadow:0 2px 8px #0003;color:#fff;content:attr(data-time-label);font-size:10px;font-weight:500;left:50%;padding:4px 8px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%);white-space:nowrap;z-index:1000}.quarter-cell.display-only:hover:after{display:none}.quarter-cell.active.weekday{background:#007bff;border:1px solid #0056b3}.quarter-cell.active.weekend{background:#dc3545;border:1px solid #c82333}.quarter-cell.active.morning-continuation.weekday{background:linear-gradient(45deg,#007bff 50%,#6c757d 0);border:1px solid #0056b3}.quarter-cell.active.morning-continuation.weekend{background:linear-gradient(45deg,#dc3545 50%,#6c757d 0);border:1px solid #c82333}.quarter-cell:not(.active).weekday:hover{background:#e3f2fd;border:1px solid #90caf9}.quarter-cell:not(.active).weekend:hover{background:#ffebee;border:1px solid #ef9a9a}.quarter-cell.display-only:not(.active):hover{background:#f8f9fa;border:none}.time-controls{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.time-controls-header h5{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 .5rem}.time-controls-header p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.time-inputs-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.day-time-control{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:1rem;transition:border-color .2s}.day-time-control.weekday{border-left:4px solid #007bff}.day-time-control.weekend{border-left:4px solid #dc3545}.day-header-control{margin-bottom:.75rem}.day-checkbox{color:#333;font-size:1rem;font-weight:600;gap:.5rem}.placeholder-tab{align-items:center;display:flex;justify-content:center;min-height:400px;padding:2rem}.placeholder-content{color:#666;max-width:500px;text-align:center}.placeholder-content svg{color:#ccc;margin-bottom:1.5rem}.placeholder-content h3{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.placeholder-content p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.coming-soon{animation:pulse 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:1px;padding:.75rem 2rem;text-transform:uppercase}@keyframes pulse{0%{box-shadow:0 4px 15px #667eea4d;transform:scale(1)}to{box-shadow:0 8px 25px #667eea80;transform:scale(1.05)}}.day-checkbox input[type=checkbox]{transform:scale(1.2)}.day-times{grid-gap:.75rem;align-items:end;display:grid;gap:.75rem;grid-template-columns:1fr 1fr auto}.time-input-group{display:flex;flex-direction:column;gap:.25rem}.time-input-group label{color:#666;font-size:.8rem;font-weight:500}.time-input{border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:.9rem;padding:.5rem}.time-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.next-day-option{align-items:center;display:flex;padding-top:1rem}.checkbox-label{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#666;font-size:.85rem;padding:.5rem .75rem;transition:all .2s}.checkbox-label:hover{background:#e9ecef;border-color:#007bff}.schedule-options{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-top:1rem;padding:1rem}.schedule-selection{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-left:1.5rem;margin-top:.5rem;padding:.5rem}.schedule-selection label{color:#495057;display:block;font-size:.85rem;font-weight:500;margin-bottom:.3rem}.schedule-select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;font-size:.9rem;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.schedule-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.schedule-select:disabled{background-color:#e9ecef;opacity:.6}.restriction-description{color:#6c757d;font-size:.8rem;font-style:italic;line-height:1.3;margin:.2rem 0 .5rem 1.5rem}.priority-badge.fill-gaps-role{border:2px dashed #fff9!important;font-weight:600;position:relative}.priority-badge.fill-gaps-role:before{border:1px solid #0003;border-radius:inherit;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px}.consecutive-days-policy{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-top:1rem;padding:1rem}.consecutive-days-policy label{color:#495057;display:block;font-weight:600;margin-bottom:.5rem}.policy-select{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;font-size:.9rem;margin-bottom:.75rem;padding:.5rem .75rem;width:100%}.policy-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.max-consecutive-input{margin-top:.75rem}.max-consecutive-input label{font-size:.85rem;margin-bottom:.25rem}.consecutive-input{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.375rem .5rem;width:80px}.consecutive-input:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.policy-explanation{margin-top:.75rem}.policy-explanation small{background:#fff;border-left:3px solid #007bff;border-radius:4px;color:#6c757d;display:block;font-style:italic;line-height:1.4;padding:.5rem}.option-row{margin-bottom:1rem}.option-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.option-checkbox input[type=checkbox]{margin:0;transform:scale(1.1)}.schedule-legend{align-items:center;border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;padding-top:.5rem}.legend-item{font-size:.8rem;gap:.25rem}.legend-sample.active-quarter{background:#007bff;border-color:#0056b3}.legend-sample.active-quarter.weekend{background:#dc3545;border-color:#c82333}.legend-sample.morning-continuation{background:linear-gradient(45deg,#007bff 50%,#6c757d 0);border-color:#0056b3}.legend-sample.inactive-quarter{background:#f8f9fa}.legend-sample.quarter-grid{background:linear-gradient(90deg,#007bff 50%,#f8f9fa 0);background-size:8px 12px}.config-presets{background:#e8f4fd;border:1px solid #007bff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.config-presets h6{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.preset-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.btn-preset{background:#fff;border:2px solid #007bff;border-radius:6px;color:#007bff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.75rem 1rem;transition:all .2s;white-space:nowrap}.btn-preset:hover{background:#007bff;box-shadow:0 4px 12px #007bff4d;color:#fff;transform:translateY(-1px)}@media (max-width:768px){.modal-config{height:95vh;width:98vw}.day-times{gap:.75rem;grid-template-columns:1fr;margin-left:1rem}.time-input-group{align-items:center;flex-direction:row;gap:.5rem}.time-input{width:100px}.planner-header,.preset-buttons{flex-direction:column}.planner-header{align-items:flex-start;gap:.5rem}.grid-container{gap:.5px;grid-template-columns:80px repeat(7,1fr);max-height:300px}.time-label-cell{font-size:.6rem;min-height:30px;padding:.25rem}.time-main{margin-bottom:.1rem}.quarter-indicators{margin-top:.1rem}.quarter-dot{height:2px;width:2px}.day-header-cell{font-size:.7rem;padding:.5rem .25rem}.schedule-hour-cell{min-height:30px}.quarter-cell{min-height:6px}.time-controls{padding:.75rem}.time-inputs-grid{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.time-input-small{font-size:.75rem;width:50px}.schedule-options{padding:.75rem}.option-checkbox{font-size:.8rem}.schedule-legend{gap:.5rem}.legend-item{font-size:.75rem}}.modal-large{max-height:90vh;max-width:90vw;overflow-y:auto;width:1000px}.holiday-intro{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:16px}.holiday-intro p{color:#495057;font-size:14px;margin:0}.holiday-section{border-bottom:1px solid #e9ecef;margin-bottom:32px;padding-bottom:24px}.holiday-section:last-child{border-bottom:none;margin-bottom:0}.holiday-section h4{color:#495057;font-size:18px;font-weight:600;margin:0 0 8px}.holiday-section h5{color:#495057;font-size:16px;font-weight:500;margin:0 0 16px}.holiday-section>p{color:#6c757d;font-size:14px;margin:0 0 20px}.holiday-calendars-grid{display:flex;flex-direction:column;gap:24px}.international-holidays,.local-holidays{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:20px}.local-holidays{background:#f8f9fa;border-color:#28a745}.calendars-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.calendar-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:16px;transition:all .2s ease}.calendar-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.calendar-card.recommended{background:#f8fff9;border-color:#28a745}.calendar-card.recommended:hover{border-color:#20c997;box-shadow:0 2px 8px #28a74526}.calendar-info h6{color:#495057;font-size:14px;font-weight:600;margin:0 0 8px}.calendar-info p{color:#6c757d;font-size:13px;line-height:1.4;margin:0 0 12px}.country-code,.holiday-count{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;font-size:12px;margin-bottom:8px;margin-right:8px;padding:4px 8px}.calendar-card.recommended .holiday-count{background:#d4edda;color:#155724}.btn-assign{background:#007bff;border:1px solid #007bff;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin-top:auto;padding:8px 16px;transition:all .2s ease}.btn-assign:hover{background:#0056b3;border-color:#0056b3}.calendar-card.recommended .btn-assign{background:#28a745;border-color:#28a745}.calendar-card.recommended .btn-assign:hover{background:#218838;border-color:#218838}.loading-calendars{color:#6c757d;padding:40px;text-align:center}.custom-holiday-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-group{flex:1 1}.form-group label{font-size:13px;font-weight:500;margin-bottom:4px}.form-group input,.form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group input[type=color]{cursor:pointer;height:38px;padding:2px;width:60px}.form-actions{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.current-holidays-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:16px}.holiday-preview-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:8px 12px}.holiday-color-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.holiday-name{color:#495057;flex:1 1;font-weight:500}.holiday-date{color:#6c757d;font-family:monospace}.holiday-source{background:#e9ecef;border-radius:4px;color:#495057;font-size:11px;padding:2px 6px;text-transform:uppercase}.recommendations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:16px}.recommendation-card{background:#f8fff9;border:2px solid #28a745;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:16px}.rec-info h6{color:#155724;font-weight:600;margin:0 0 8px}.btn-assign.recommended{background:#28a745;border-color:#28a745;margin-top:12px}.btn-assign.recommended:hover{background:#218838;border-color:#218838}.country-selection-row{align-items:flex-start;display:flex;gap:24px}.country-dropdown{flex:1 1;min-width:200px}.country-dropdown label{color:#495057;display:block;font-weight:500;margin-bottom:8px}.country-dropdown select{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.country-holidays{flex:2 1}.holiday-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.holiday-preview h6{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.holiday-list-preview{margin-top:12px}.holidays-count{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:12px;font-weight:500;margin-bottom:12px;padding:4px 8px}.holiday-items{margin-bottom:16px}.holiday-preview-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;font-size:13px;gap:12px;padding:6px 0}.holiday-preview-item:last-child{border-bottom:none}.more-holidays{color:#6c757d;font-size:12px;font-style:italic;padding:6px 0}.form-group select{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}@media (max-width:768px){.country-selection-row{flex-direction:column;gap:16px}.recommendations-grid{grid-template-columns:1fr}}.btn-yellow{background:linear-gradient(135deg,#ffc107,#ff8f00);border:1px solid #ffc107;color:#212529;font-weight:600}.btn-yellow:hover{background:linear-gradient(135deg,#e0a800,#f57c00);border-color:#e0a800;transform:translateY(-1px)}.holiday-year-modal{max-height:90vh;max-width:900px;overflow-y:auto}.holiday-year-content{padding:1rem 0}.year-selector{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.year-selector label{color:#333;font-weight:600}.year-dropdown{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:border-color .2s}.year-dropdown:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.holiday-info-banner{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.holiday-info-banner p{color:#1565c0;line-height:1.5;margin:0}.yearly-holidays-list h4{border-bottom:2px solid #ddd;color:#333;margin-bottom:1rem;padding-bottom:.5rem}.holidays-grid{display:flex;flex-direction:column;gap:.75rem}.holiday-year-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.holiday-year-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000001a}.holiday-info{align-items:center;display:flex;flex:1 1;gap:1rem}.holiday-color-indicator{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;flex-shrink:0;height:16px;width:16px}.holiday-details{flex:1 1}.holiday-name{color:#333;display:block;font-size:1rem;margin-bottom:.25rem}.holiday-meta{align-items:center;display:flex;gap:1rem;margin-bottom:.25rem}.holiday-date{color:#666;font-size:.9rem}.holiday-type{border-radius:12px;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.holiday-type.bank{background:#e3f2fd;color:#1976d2}.holiday-type.custom{background:#f3e5f5;color:#7b1fa2}.holiday-description{font-size:.9rem;font-style:italic}.holiday-actions{flex-shrink:0}.no-holidays-message{background:#f8f9fa;border-radius:8px;color:#666;padding:2rem;text-align:center}.no-holidays-message p{margin:.5rem 0}.rules-config{max-height:70vh;overflow-y:auto}.rules-content{display:flex;flex-direction:column;gap:2rem}.rule-section{background:#f8f9fa;border-left:4px solid #1976d2;border-radius:8px;padding:1.5rem}.rule-section h5{color:#1976d2;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.rule-group{margin-bottom:1rem}.rule-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.rule-group input[type=checkbox]{margin-right:.5rem;transform:scale(1.2)}.rule-group select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.9rem;max-width:300px;padding:.5rem;width:100%}.rule-group select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d233;outline:none}.day-groups{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.day-group{margin-bottom:1rem}.day-group:last-child{margin-bottom:0}.day-group>label{color:#1976d2;display:block;font-weight:600;margin-bottom:.5rem}.day-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.day-checkbox{background:#f0f0f0;border-radius:6px;font-size:.85rem;padding:.25rem .5rem}.day-checkbox:hover{background:#e0e0e0}.day-checkbox input[type=checkbox]{margin-left:0;margin-right:.25rem;transform:scale(1)}.btn-icon{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;justify-content:center;margin-left:.5rem;padding:.75rem;transition:all .2s ease}.btn-icon:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.btn-icon.configure{background:#e3f2fd;border-color:#bbdefb;color:#1976d2}.btn-icon.configure:hover{background:#bbdefb;border-color:#90caf9;color:#0d47a1}.btn-icon.danger{background:#ffebee;border-color:#ffcdd2;color:#d32f2f}.btn-icon.danger:hover{background:#ffcdd2;border-color:#ef9a9a;color:#b71c1c}.schedule-actions{align-items:center;display:flex}.schedule-actions .btn-icon:first-child{margin-left:0}.admin-calendar-grid{grid-gap:1px;background:#dee2e6;border-radius:12px;box-shadow:0 4px 16px #0000001a;display:grid!important;gap:1px;grid-template-columns:repeat(7,1fr)!important;margin:1rem 0;min-width:700px;overflow:hidden;width:100%!important}.admin-day-header{background:#6c757d;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:center;text-transform:uppercase}.admin-date-cell{align-items:flex-start;background:#fff;border:2px solid #0000;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:.75rem;position:relative;transition:all .2s ease}.admin-date-cell:hover{border-color:#667eea;box-shadow:0 4px 16px #00000026;transform:scale(1.02);z-index:10}.admin-date-cell.today{border-color:#28a745;border-width:3px;box-shadow:0 0 10px #28a7454d}.admin-date-cell.other-month{background:#f8f9fa;opacity:.6}.admin-date-cell.other-month .date-number{color:#adb5bd}.date-content{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.date-number{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.coverage-indicator{align-items:center;display:flex;gap:.5rem;margin-top:auto}.coverage-count{border-radius:12px;font-size:.8rem;font-weight:500;min-width:20px;padding:.2rem .5rem;text-align:center}.coverage-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.coverage-high .coverage-count{background:#28a745;color:#fff}.coverage-medium .coverage-count{background:#ffc107;color:#212529}.coverage-low .coverage-count{background:#fd7e14;color:#fff}.coverage-none .coverage-count{background:#dc3545;color:#fff}.coverage-preferred .coverage-count{background:#007bff;color:#fff}.selected-overlay{align-items:center;background:#28a745;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:24px}.calendar-month-view{padding:1rem 0}@media (max-width:768px){.admin-calendar-grid{gap:.5px;margin:.5rem 0}.admin-day-header{font-size:.8rem;padding:.5rem}.admin-date-cell{min-height:80px;padding:.5rem}.date-number{font-size:1rem}.coverage-count{font-size:.7rem;padding:.1rem .3rem}}.admin-week-grid{display:grid;grid-template-columns:repeat(7,1fr);margin:1rem 0}.admin-week-day{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;min-height:200px;padding:1.5rem 1rem;transition:all .3s ease}.admin-week-day:hover{border-color:#667eea;box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.admin-week-day.today{border-color:#28a745;box-shadow:0 4px 16px #28a7454d}.week-day-header{border-bottom:1px solid #e9ecef;margin-bottom:1rem;padding-bottom:.75rem;text-align:center}.day-name{color:#2c3e50;display:block;font-size:1.1rem;margin-bottom:.25rem}.day-date{color:#495057;display:block;font-size:1.8rem;font-weight:700}.day-month{color:#6c757d;font-size:.9rem;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.week-day-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.coverage-info{border-radius:8px;margin-bottom:1rem;padding:1rem;text-align:center}.coverage-info.coverage-high{background:#d4edda;border:1px solid #c3e6cb}.coverage-info.coverage-medium{background:#fff3cd;border:1px solid #ffeaa7}.coverage-info.coverage-low{background:#f8d7da;border:1px solid #f5c6cb}.coverage-info.coverage-none{background:#e2e3e5;border:1px solid #d6d8db}.coverage-label{color:#6c757d;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.coverage-number{font-size:2rem;font-weight:700;margin-bottom:.5rem}.coverage-status{font-size:.9rem;font-weight:500}.day-selected{background:#28a745;border-radius:8px;color:#fff;padding:.75rem;text-align:center}.selected-badge{font-size:.9rem;font-weight:500}@media (max-width:1024px){.admin-week-grid{gap:.75rem;grid-template-columns:1fr}.admin-week-day{min-height:120px;padding:1rem}}.coverage-legend-permanent{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:1rem;padding:1rem}.coverage-legend-permanent .coverage-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem;text-align:center}.coverage-legend-permanent .legend-items{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.coverage-legend-permanent .legend-item{align-items:center;color:#495057;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.coverage-legend-permanent .legend-square{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;height:16px;width:16px}.coverage-legend-permanent .legend-square.coverage-none{background-color:#dc3545}.coverage-legend-permanent .legend-square.coverage-low{background-color:#fd7e14}.coverage-legend-permanent .legend-square.coverage-medium{background-color:#ffc107}.coverage-legend-permanent .legend-square.coverage-high{background-color:#28a745}.coverage-legend-permanent .legend-square.coverage-preferred{background-color:#007bff}@media (max-width:768px){.coverage-legend-permanent .legend-items{gap:1rem}.coverage-legend-permanent .legend-item{font-size:.8rem}.coverage-legend-permanent .legend-square{height:14px;width:14px}}.days-to-cover-panel .panel-description{color:#666;font-size:.9rem;font-style:italic;margin:.5rem 0 1rem}.days-to-cover-panel .coverage-notice{background:#e8f4f8;border-left:4px solid #007bff;border-radius:4px;margin-top:1rem;padding:.75rem}.days-to-cover-panel .coverage-notice small{color:#495057;font-size:.85rem}.calendar-modal{max-height:90vh;max-width:1200px!important;min-width:800px!important;overflow-y:auto;width:95vw!important}.calendar-display{margin-top:1.5rem}.calendar-content{min-width:700px;overflow-x:auto}.admin-week-grid{grid-gap:1rem;display:grid!important;gap:1rem;grid-template-columns:repeat(7,1fr)!important;min-width:700px;width:100%!important}@media (max-width:768px){.calendar-modal{min-width:320px!important;width:98vw!important}.calendar-content{min-width:600px;overflow-x:auto}.admin-calendar-grid,.admin-week-grid{min-width:600px!important}}.coverage-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.coverage-btn{align-items:center;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;min-width:120px;padding:1rem;text-align:center;transition:all .2s}.coverage-btn:hover{background:#f0f8ff;border-color:#2196f3}.coverage-btn.selected{background:#2196f3;border-color:#1976d2;color:#fff}.coverage-btn .btn-label{font-size:.95rem;font-weight:600;margin-bottom:.25rem}.coverage-btn .btn-description{font-size:.8rem;opacity:.8}.additional-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.option-btn{background:#f9f9f9;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.option-btn:hover{background:#e3f2fd;border-color:#2196f3}.option-btn.selected{background:#2196f3;border-color:#1976d2;color:#fff}.custom-days-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.day-checkbox,.day-checkbox-row{align-items:center;display:flex}.day-checkbox{border-radius:4px;cursor:pointer;gap:.75rem;padding:.5rem;transition:background-color .2s;width:100%}.day-checkbox:hover{background:#f5f5f5}.day-checkbox input[type=checkbox]{height:18px;margin:0;width:18px}.day-label{color:#333;font-size:.95rem;font-weight:600}.holidays-modal .modal-body{padding:1.5rem}.holiday-options{gap:1.5rem}.holiday-option,.holiday-options{display:flex;flex-direction:column}.holiday-option{gap:.5rem}.holiday-checkbox{align-items:center;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.holiday-checkbox:hover{background:#f5f5f5;border-color:#2196f3}.holiday-checkbox input[type=checkbox]{height:18px;margin:0;width:18px}.holiday-label{color:#333;font-size:.95rem;font-weight:600}.holiday-description{color:#666;font-size:.85rem;margin:0 0 0 2rem}.users-header{justify-content:space-between;margin-bottom:2rem}.header-actions,.users-header{align-items:center;display:flex}.header-actions{gap:1rem}.role-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.role-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.role-btn:active{transform:translateY(0)}.users-table{margin-bottom:0}.users-table .btn-sm{border-radius:6px;font-size:.8rem;font-weight:500;padding:.375rem .75rem}.users-table .btn-outline-primary:hover{box-shadow:0 2px 4px #007bff40;transform:translateY(-1px)}.modal-content{border:none;border-radius:16px;box-shadow:0 20px 40px #00000026}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:16px 16px 0 0;color:#fff;padding:1.5rem 2rem}.modal-header .modal-title{font-size:1.25rem;font-weight:600}.modal-header .btn-close{filter:brightness(0) invert(1);opacity:.8}.modal-header .btn-close:hover{opacity:1}.modal-body{padding:2rem}.role-assignments-table{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.role-assignments-table thead{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.role-assignments-table th{border-bottom:2px solid #dee2e6;color:#495057;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.25rem;text-transform:uppercase}.role-assignments-table td{border-bottom:1px solid #f8f9fa;padding:1.25rem;vertical-align:middle}.role-assignments-table tbody tr:hover{background:#f8f9fa;transition:background-color .2s ease}.role-assignments-table tbody tr:last-child td{border-bottom:none}.role-badge.assigned{background:linear-gradient(135deg,#28a745,#20c997);border:2px solid #0000;border-radius:20px;box-shadow:0 2px 4px #28a7454d;color:#fff}.role-badge.assigned,.role-badge.unassigned{align-items:center;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.5rem;justify-content:center;min-width:100px;padding:.5rem 1rem;text-transform:capitalize;transition:all .2s ease}.role-badge.unassigned{background:#f8f9fa;border:2px solid #dee2e6;border-radius:20px;color:#6c757d}.role-badge:hover{transform:translateY(-1px)}.role-badge.assigned:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 8px #28a74566}.role-badge.unassigned:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.role-assignments-table .user-avatar{border:2px solid #e9ecef;border-radius:50%;height:40px;margin-right:1rem;width:40px}.role-assignments-table .user-info{align-items:center;display:flex}.role-assignments-table .user-details{display:flex;flex-direction:column}.role-assignments-table .user-name{color:#2c3e50;font-weight:600;margin-bottom:.25rem}.role-assignments-table .user-email{color:#6c757d;font-size:.8rem}.modal-footer{background:#f8f9fa;border-radius:0 0 16px 16px;border-top:1px solid #e9ecef;padding:1.5rem 2rem}.modal-footer .btn{border-radius:8px;font-weight:500;padding:.75rem 2rem;transition:all .2s ease}.modal-footer .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);border:none}.modal-footer .btn-primary:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.modal-footer .btn-secondary{background:#6c757d;border:none;color:#fff}.modal-footer .btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.role-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.role-stat-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:1 1;min-width:200px;padding:1.5rem;text-align:center}.role-stat-number{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.5rem}.role-stat-label{color:#6c757d;font-size:.9rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.role-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:3rem}.role-loading .spinner-border{margin-right:1rem}@media (max-width:768px){.users-header{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{justify-content:center}.role-assignments-table{font-size:.8rem}.role-assignments-table td,.role-assignments-table th{padding:.75rem}.role-badge.assigned,.role-badge.unassigned{font-size:.7rem;min-width:80px;padding:.4rem .8rem}.role-stat-card{min-width:150px}.role-stat-number{font-size:1.5rem}.modal-body{padding:1rem}.modal-footer,.modal-header{padding:1rem 1.5rem}}.user-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem;padding:1.5rem}.user-info h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.user-role-info{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.user-role-info small{color:#6c757d;font-size:.8rem}.oncall-role{color:#28a745!important;font-weight:500}.user-schedules h5{color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:1rem 0 .75rem;text-transform:uppercase}.schedule-assignments-list{display:flex;flex-direction:column;gap:.5rem}.schedule-assignment{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:.5rem 0}.schedule-assignment:last-child{border-bottom:none}.schedule-name{color:#495057;font-weight:500}.assignment-badge{align-items:center;border-radius:16px;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.assignment-badge.assigned{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;color:#155724}.assignment-badge.not-assigned{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;color:#721c24}.schedule-role-assignment{align-items:center;display:flex;gap:.5rem;margin-left:1rem;padding:.25rem 0}.schedule-role-assignment label{color:#495057;font-size:.8rem;font-weight:500;white-space:nowrap}.role-input-container{position:relative}.role-input{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.8rem;min-width:120px;padding:.25rem .5rem;transition:border-color .2s ease}.role-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.role-input::placeholder{color:#adb5bd}.schedule-assignment.has-role-assignment{align-items:stretch;flex-direction:column}.assignment-row{align-items:center;display:flex;justify-content:space-between}.no-schedules{color:#6c757d;margin:0}.schedule-buttons-container{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-toggle-btn{align-items:center;border:none;border-radius:20px;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.375rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.schedule-toggle-btn.assigned{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 4px #28a7454d;color:#fff}.schedule-toggle-btn.assigned:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 8px #28a74566;transform:translateY(-1px)}.schedule-toggle-btn.not-assigned{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.schedule-toggle-btn.not-assigned:hover{background:#e9ecef;border-color:#adb5bd;color:#495057;transform:translateY(-1px)}.schedule-toggle-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.no-access-text{color:#6c757d;font-size:.8rem;font-style:italic}.user-meta{border-top:1px solid #f8f9fa;margin-top:1rem;padding-top:1rem}.role-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.role-form h3{color:#495057;font-size:1.2rem;margin:0 0 1rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 120px 120px;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.875rem}.form-group small{color:#6c757d;font-size:.75rem;margin-top:.25rem}.form-control{font-size:.875rem;padding:.5rem}.form-control:focus{border-color:#007bff}.color-picker{border-radius:4px;cursor:pointer;height:38px}.form-actions{display:flex;gap:.5rem}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease-in-out}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3;transform:translateY(-1px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62;transform:translateY(-1px)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.divider{margin:2rem 0 1.5rem;position:relative;text-align:center}.divider span{background:#fff;color:#6c757d;font-size:.875rem;font-weight:600;padding:0 1rem}.divider:before{background:#dee2e6;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:-1}.roles-list{max-height:400px;overflow-y:auto}.roles-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.role-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s ease-in-out}.role-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.role-header{justify-content:space-between;margin-bottom:.5rem}.role-header,.role-name-color{align-items:center;display:flex}.role-name-color{gap:.5rem}.role-color-indicator{border:1px solid #dee2e6;border-radius:50%;height:16px;width:16px}.role-header h4{color:#343a40;font-size:1rem;margin:0}.role-priority{background:#e9ecef;border-radius:4px;color:#495057;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.role-description{color:#6c757d;font-size:.875rem;line-height:1.4;margin:.5rem 0}.role-actions{display:flex;gap:.5rem;margin:.75rem 0 .5rem}.role-meta{border-top:1px solid #f8f9fa;margin-top:.5rem;padding-top:.5rem}.role-meta small{color:#6c757d;font-size:.75rem}.empty-state{padding:3rem 1rem}.empty-state h3{color:#495057;margin:1rem 0 .5rem}.empty-state p{color:#6c757d;margin:0}.user-meta small{color:#adb5bd;font-size:.75rem}.schedule-row{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.schedule-button-section{flex-shrink:0}.user-identity-inline{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;width:100%}.user-name-role{align-items:center;display:flex;gap:.5rem}.user-name{color:#2c3e50;display:flex;flex-direction:column;gap:2px}.user-name,.user-name .first-name{font-size:1.1rem;font-weight:600}.user-name .last-name{font-size:.95rem;font-weight:700;letter-spacing:.5px}.user-role{color:#6c757d;font-size:1rem;font-weight:500}.user-email{color:#495057;font-size:.95rem;margin-left:auto;text-align:right}.user-spacing{flex-shrink:0;width:10ch}.schedule-toggle-btn.uniform-size{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;max-width:280px;min-width:200px;overflow:hidden;padding:.6rem .85rem;text-align:left;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.schedule-toggle-btn.uniform-size:hover{background:#f8f9fa;border-color:#adb5bd}.schedule-toggle-btn.uniform-size.assigned{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb;color:#155724}.schedule-toggle-btn.uniform-size.assigned:hover{background:linear-gradient(135deg,#c3e6cb,#b6d7c0);border-color:#b6d7c0}.schedule-toggle-btn.uniform-size.not-assigned{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb;color:#721c24}.schedule-toggle-btn.uniform-size.not-assigned:hover{background:linear-gradient(135deg,#f5c6cb,#f1b5bb);border-color:#f1b5bb}.role-section{flex:1 1;min-width:0}.role-select-inline{font-size:.85rem;max-width:200px;padding:.4rem .6rem}.participation-level-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-left:1rem;min-width:200px;padding:.5rem}.participation-label{color:#495057;display:block;font-size:.8rem;font-weight:600;margin-bottom:.3rem}.participation-slider-container{align-items:center;display:flex;gap:.5rem;margin-bottom:.3rem}.participation-slider{background:#dee2e6;border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.participation-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#007bff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;width:16px}.participation-slider::-moz-range-thumb{background:#007bff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;width:16px}.slider-label-max,.slider-label-min{color:#6c757d;font-size:.75rem;font-weight:600;min-width:10px;text-align:center}.slider-value{background:#e7f3ff;border-radius:12px;color:#007bff;font-size:.8rem;font-weight:700;min-width:20px;padding:.2rem .5rem;text-align:center}.participation-description{color:#6c757d;font-size:.7rem;font-style:italic;text-align:center}.level1-schedule-reference{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:.75rem;padding:.75rem}.reference-label{color:#495057;display:block;font-size:.8rem;font-weight:500;margin-bottom:.5rem}.reference-schedule-select{background-color:#fff;background-image:none;border:1px solid #ced4da;border-radius:.375rem;color:#495057;font-size:.875rem;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.reference-schedule-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.reference-help-text{color:#6c757d;display:block;font-size:.75rem;font-style:italic;line-height:1.3;margin-top:.5rem}.participation-level-section.disabled{opacity:.6;pointer-events:none}.participation-level-section.disabled .participation-slider{background:#f0f0f0;cursor:not-allowed}.participation-level-section.disabled .participation-slider::-webkit-slider-thumb{background:#999;cursor:not-allowed}.participation-level-section.disabled .participation-slider::-moz-range-thumb{background:#999;cursor:not-allowed}.participation-level-section.disabled .slider-value{background:#f0f0f0;color:#999}.user-controlled-indicator{color:#6c757d;font-size:.7rem;font-style:italic;font-weight:400;margin-left:.5rem}.working-weeks-manager{margin:0 auto;max-width:1200px;padding:20px}.working-weeks-content{background:#f8f9fa;border-radius:8px;min-height:calc(100vh - 200px);padding:20px}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;overflow:hidden}.section-header{border-bottom:1px solid #e9ecef;padding:20px 24px}.section-header h4{font-size:20px;font-weight:600;margin:0 0 8px}.section-description{margin:0;opacity:.9}.section-content{padding:24px}.option-section{margin-bottom:32px}.option-section:last-child{margin-bottom:0}.option-section h5{color:#495057;font-size:16px;font-weight:600;margin-bottom:8px}.option-description{color:#6c757d;line-height:1.4;margin-bottom:16px}.first-day-selector{margin-bottom:8px}.first-day-dropdown{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:14px;min-width:200px;padding:10px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.first-day-dropdown:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.rest-days-checkboxes{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px}.rest-days-note{background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:6px;padding:12px}.rest-days-note small{color:#6c757d;font-size:13px}.section-actions{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding-top:20px}.reference-weeks-actions{margin-bottom:24px}.empty-state{color:#6c757d;padding:40px 20px;text-align:center}.empty-state p{font-size:16px;margin:0 0 8px}.empty-state-subtitle{font-size:14px!important;opacity:.8}.reference-weeks-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.reference-week-card{background:#f8f9fa;border:1px solid #e9ecef;padding:20px;transition:box-shadow .15s ease-in-out}.reference-week-card:hover{box-shadow:0 4px 12px #0000001a}.reference-week-card h5{color:#495057;font-size:16px;font-weight:600;margin:0 0 8px}.reference-week-card p{color:#6c757d;font-size:14px;line-height:1.4;margin:0}.pattern-editor{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:12px;padding:20px}.pattern-editor .text-muted{color:#6c757d;font-style:italic;margin:0;text-align:center}.working-days-editor{grid-gap:12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:16px 0;padding:16px}.working-day-checkbox{align-items:center;display:flex;gap:8px}.working-day-checkbox input[type=checkbox]{height:16px;width:16px}.working-day-label{color:#495057;cursor:pointer;font-size:14px;font-weight:500;margin:0}.working-days-summary{background:#e8f4f8;border-left:3px solid #17a2b8;border-radius:4px;margin-top:12px;padding:8px 12px}.working-days-summary small{color:#0c5460;font-size:13px}.reference-week-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.reference-week-header h5{flex:1 1;margin:0}.reference-week-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.working-week-feature-toggle{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.working-week-feature-toggle:hover{background:#e9ecef;border-color:#adb5bd}.working-week-feature-toggle input[type=checkbox]{cursor:pointer;height:16px;margin:0;width:16px}.working-week-feature-toggle .toggle-label{align-items:center;color:#495057;display:flex;font-weight:500;gap:4px}.working-week-feature-toggle input[type=checkbox]:checked+.toggle-label{color:#28a745}.working-week-feature-toggle input[type=checkbox]:checked+.toggle-label svg{fill:#28a745}.working-week-feature-toggle svg{fill:#6c757d;transition:fill .2s ease}.modern-btn-options{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.modern-btn-options:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.modern-btn-options:active{transform:translateY(0)}.working-week-option-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:16px;padding:16px}.working-week-option-section:last-child{margin-bottom:0}.option-header{margin-bottom:12px}.option-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;margin:0}.option-checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.option-description{color:#495057;font-size:14px;line-height:1.5;margin:8px 0}.option-question{color:#17a2b8;font-size:14px;font-weight:500;margin:8px 0 0}.counting-mode-options{display:flex;gap:20px;margin-top:12px}.radio-option{align-items:center;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;padding:8px 16px}.radio-option:hover{background:#f0f3ff;border-color:#667eea}.radio-option input[type=radio]{cursor:pointer}.radio-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.minimal-availability-config{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-top:16px;padding:16px}.minimal-availability-note{color:#6c757d;margin:0 0 12px}.role-minimal-availability-list{display:flex;flex-direction:column;gap:12px}.role-availability-row{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.role-info{display:flex;flex-direction:column;gap:4px}.role-info strong{color:#495057;font-size:14px}.role-info small{font-size:12px}.role-min-input,.role-min-input label{align-items:center;display:flex}.role-min-input label{color:#495057;font-size:13px;gap:8px;margin:0}.role-min-input input[type=number]{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:6px 10px;text-align:center;width:70px}.role-min-input input[type=number]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.working-days-preview{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.working-days-preview h6{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.days-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.day-indicator{align-items:center;border-radius:4px;display:flex;flex-direction:column;font-size:11px;font-weight:600;justify-content:center;max-height:40px;min-height:32px;padding:6px 4px;position:relative;text-align:center;transition:all .2s ease}.day-indicator.non-working{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.day-indicator.working.no-blocks{background:#cce7ff;border:1px solid #99d6ff;color:#06c}.day-indicator.working.with-blocks{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.day-indicator.working:not(.no-blocks):not(.with-blocks){background:#cce7ff;border:1px solid #99d6ff;color:#06c}.day-indicator.clickable{cursor:pointer}.day-indicator.clickable:hover{transform:translateY(-2px)}.day-indicator.working.no-blocks.clickable:hover{background:#b3daff;box-shadow:0 4px 12px #0066cc40}.day-indicator.working.with-blocks.clickable:hover{background:#c1e6c8;box-shadow:0 4px 12px #28a74540}.day-indicator .blocks-count{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:9px;font-weight:600;height:16px;justify-content:center;position:absolute;right:-6px;top:-6px;width:16px}.day-status-legend{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:12px 0;padding:12px}.day-status-legend small{color:#495057;display:block;font-weight:600;margin-bottom:8px}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item{border:1px solid #0000;border-radius:4px;color:#6c757d;padding:4px 8px}.legend-sample{align-items:center!important;display:flex!important;flex-shrink:0;font-size:16px!important;height:20px!important;justify-content:center!important;max-width:20px!important;min-width:20px!important;padding:0!important;pointer-events:none;width:20px!important}.legend-sample:after{content:"●"}.days-selection-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:20px}.working-days-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:20px}.section-label{color:#495057;display:block;font-size:16px;font-weight:600;margin-bottom:8px}.section-description{color:#6c757d;font-size:14px;line-height:1.4;margin-bottom:16px}.days-checkbox-grid{grid-gap:12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px;padding:16px}.day-checkbox-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;min-height:48px;padding:12px;transition:all .2s ease}.day-checkbox-item:hover{background:#e9ecef;border-color:#0d6efd;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.day-checkbox-item input[type=checkbox]{accent-color:#0d6efd;cursor:pointer;height:18px;margin-right:10px;width:18px}.day-checkbox-label{color:#495057;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none}.day-checkbox-item input[type=checkbox]:checked+.day-checkbox-label{color:#0d6efd;font-weight:600}.day-checkbox-item:has(input[type=checkbox]:checked){background:#e7f1ff;border-color:#0d6efd;box-shadow:0 2px 8px #0d6efd26}.days-summary{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:16px}.summary-text{align-items:center;color:#856404;display:flex;font-size:14px;font-weight:600}.summary-icon{font-size:16px;margin-right:8px}.summary-note{color:#856404;font-size:13px;font-style:italic;line-height:1.3;margin-top:4px}.day-editor-modal{max-height:90vh}.day-editor-modal .modal-body{max-height:calc(90vh - 120px);overflow-y:auto;padding:0}.day-editor-container{padding:20px}.day-summary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.day-info h5{font-size:24px;font-weight:600;margin:0}.day-info p{margin:5px 0 0;opacity:.9}.day-timeline-large{margin:20px 0}.timeline-header{margin-bottom:15px}.timeline-header h6{color:#495057;font-weight:600;margin:0 0 5px}.timeline-container{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow-x:auto;padding:20px}.timeline-track-large{background:linear-gradient(90deg,#f8f9fa 0,#e9ecef 50%,#f8f9fa);border:1px solid #dee2e6;border-radius:4px;height:120px;min-width:800px;position:relative}.hour-marker-large{height:100%;pointer-events:none;position:absolute;top:0}.hour-line{background:#dee2e6;height:100%;width:1px}.hour-marker-large:nth-child(odd) .hour-line{background:#adb5bd}.hour-label-large{background:#fff;border-radius:3px;color:#6c757d;font-size:11px;font-weight:500;left:-15px;padding:2px 4px;position:absolute;top:-20px}.ellipsis-marker .hour-label-large{background:#e3f2fd;border:1px solid #007bff;color:#007bff;font-size:14px;font-weight:600}.ellipsis-marker .hour-label{background:#e3f2fd;border:1px solid #007bff;border-radius:2px;color:#007bff;font-size:10px;font-weight:600;padding:1px 3px}.time-block-large{border:2px solid #0000;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:60px;overflow:hidden;position:absolute;top:10px;transition:all .2s ease}.time-block-large[style*="height: 20px"],.time-block-large[style*="height: 25px"],.time-block-large[style*="height: 30px"]{border-width:1px;font-size:10px}.time-block-large[style*="height: 20px"] .block-content{padding:2px 4px}.time-block-large[style*="height: 25px"] .block-content,.time-block-large[style*="height: 30px"] .block-content{padding:4px 6px}.time-block-large:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);z-index:999!important}.time-block-large .block-content{display:flex;flex-direction:column;font-size:12px;height:100%;justify-content:center;padding:8px}.time-block-large .block-controls{display:flex;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .2s ease}.time-block-large:hover .block-controls{opacity:1}.blocks-list{margin-top:30px}.blocks-list h6{color:#495057;font-weight:600;margin-bottom:15px}.no-blocks{background:#f8f9fa;border-radius:8px;color:#6c757d;padding:40px 20px}.blocks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.block-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;padding:15px;transition:all .2s ease}.block-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.block-indicator{border-radius:4px;flex-shrink:0;height:40px;margin-right:12px;width:8px}.block-indicator-work{background:#28a745}.block-indicator-oncall{background:#dc3545}.block-indicator-break{background:#ffc107}.block-indicator-meeting{background:#17a2b8}.block-indicator-standby{background:#6f42c1}.block-details{display:flex;flex:1 1;flex-direction:column}.block-details strong{color:#495057;font-size:14px;margin-bottom:2px}.block-details span{color:#6c757d;font-size:13px;margin-bottom:2px}.block-type{color:#007bff;font-weight:500;text-transform:capitalize}.block-actions{align-items:center;display:flex;gap:8px;margin-left:10px}.modal-xl{max-width:1200px}@media (max-width:768px){.day-summary{flex-direction:column;gap:15px;text-align:center}.timeline-container{padding:10px}.blocks-grid{grid-template-columns:1fr}}.btn-sm{font-size:12px;line-height:1.2;padding:4px 8px}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.week-info{border-bottom:1px solid #e9ecef;margin-bottom:16px;padding-bottom:12px}.week-info h6{color:#495057;font-size:14px;font-weight:600;margin:0 0 4px}.week-info small{color:#6c757d;font-size:12px}.week-pattern{margin-bottom:16px}.week-pattern:last-child{margin-bottom:0}.week-number{color:#6c757d;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.week-pattern-editor{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:24px;padding:16px}.week-editor-title{border-bottom:1px solid #e9ecef;color:#495057;font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.radio-group{gap:8px;margin-top:8px}.radio-option{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:4px;display:flex;gap:8px;padding:8px 12px;transition:all .2s ease}.radio-option:hover{background:#f8f9fa;border-color:#6c757d}.radio-option input[type=radio]{flex-shrink:0;height:16px;margin-top:2px;width:16px}.radio-option label{cursor:pointer;flex:1 1;line-height:1.4;margin:0}.radio-option label strong{color:#495057;display:block;font-size:14px;margin-bottom:2px}.radio-option label small{color:#6c757d;font-size:12px;line-height:1.3}.input-group{align-items:center;display:flex}.input-group .form-control{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.input-group-append{display:flex}.input-group-text{background:#e9ecef;border:1px solid #ced4da;border-bottom-right-radius:4px;border-top-right-radius:4px;color:#6c757d;font-size:14px;padding:8px 12px}.modal-lg{max-width:900px}.modal-dialog.working-weeks-modal{margin:1rem auto;max-width:1000px}.working-weeks-modal .modal-content{min-height:600px}.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.help-text{color:#6c757d;font-size:13px;line-height:1.4;margin-bottom:8px}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.modern-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;min-height:36px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.modern-btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modern-btn-edit:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-1px)}.modern-btn-delete{background:linear-gradient(135deg,#fc8181,#f56565);color:#fff}.modern-btn-delete:hover{background:linear-gradient(135deg,#f56565,#e53e3e);box-shadow:0 4px 12px #f565654d;color:#fff;transform:translateY(-1px)}.time-block-editor{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-top:24px;padding:20px}.time-block-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.time-block-controls{align-items:center;display:flex;gap:12px}.calculation-mode-selector{align-items:center;display:flex;gap:8px}.calculation-mode-selector label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:4px}.week-timeline-editor{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}.day-timeline-editor{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:16px}.day-timeline-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.day-name{color:#2d3748;font-size:16px;font-weight:600}.day-toggle input[type=checkbox]{accent-color:#667eea;height:18px;width:18px}.timeline-visual{background:linear-gradient(90deg,#e2e8f0,#cbd5e0);border-radius:6px;height:60px;margin:12px 0;overflow:hidden}.timeline-hours{color:#718096;display:flex;font-size:10px;justify-content:space-between;margin-top:4px;padding:4px 8px}.time-block{border:1px solid #ffffff4d;font-weight:600;height:100%;top:0}.time-block:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.time-block.work{background:linear-gradient(135deg,#48bb78,#38a169)}.time-block.oncall{background:linear-gradient(135deg,#ed8936,#dd6b20)}.time-block.break{background:linear-gradient(135deg,#4299e1,#3182ce)}.time-block.meeting{background:linear-gradient(135deg,#9f7aea,#805ad5)}.time-block.standby{background:linear-gradient(135deg,#38b2ac,#319795)}.time-blocks-container{margin-top:8px}.add-time-block{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.add-time-block:hover{background:#5a67d8;transform:translateY(-1px)}.time-block-form{grid-gap:8px;align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;display:grid;gap:8px;grid-template-columns:auto 1fr auto 1fr auto auto;margin-top:12px;padding:12px}.time-block-form input,.time-block-form select{border:1px solid #cbd5e0;border-radius:4px;font-size:12px;padding:6px 8px}.time-block-form button{border:none;border-radius:4px;cursor:pointer;font-size:11px;padding:6px 12px;transition:all .2s ease}.save-block{background:#48bb78;color:#fff}.save-block:hover{background:#38a169}.cancel-block{background:#a0aec0;color:#fff}.cancel-block:hover{background:#718096}.block-duration-settings{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-top:16px;padding:16px}.duration-range-inputs{align-items:center;display:flex;gap:12px;margin-top:8px}.duration-range-inputs input{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:6px 8px;width:80px}.block-type-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.legend-item{align-items:center;display:flex;font-size:12px;gap:6px}.legend-color{border:1px solid #ffffff4d;border-radius:3px;height:16px;width:16px}.time-block-editor{margin-top:20px}.week-pattern-section{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:30px;padding:15px}.week-pattern-title{color:#333;font-weight:600;margin-bottom:15px}.week-timeline{display:flex;flex-direction:column;gap:15px}.day-editor{background:#fff;border:1px solid #ddd;border-radius:6px;padding:12px}.day-header{justify-content:space-between;margin-bottom:10px}.day-header,.day-toggle{align-items:center;display:flex}.day-toggle{gap:8px}.day-name{cursor:pointer;font-weight:500;margin-bottom:0}.add-block-btn{align-items:center;display:flex;font-size:12px;gap:4px;padding:4px 8px}.add-block-btn .btn-icon{height:12px;width:12px}.timeline-visual{margin-top:10px;position:relative}.timeline-track{background:linear-gradient(90deg,#f8f9fa 0,#e9ecef);border:1px solid #dee2e6;border-radius:4px;height:60px;position:relative}.hour-marker{border-left:1px solid #ced4da;height:100%;pointer-events:none;position:absolute;top:0}.hour-marker:first-child{border-left:none}.hour-label{color:#6c757d;font-size:10px;left:-10px;position:absolute;top:-18px;white-space:nowrap}.time-block{align-items:center;cursor:pointer;font-size:11px;height:50px;justify-content:center;min-width:60px;overflow:hidden;position:absolute;top:5px;transition:all .2s ease}.time-block:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px);z-index:10}.time-block-work{background:linear-gradient(135deg,#28a745,#20c997);border:1px solid #1e7e34}.time-block-oncall{background:linear-gradient(135deg,#dc3545,#fd7e14);border:1px solid #bd2130}.time-block-break{background:linear-gradient(135deg,#6c757d,#adb5bd);border:1px solid #545b62}.time-block-meeting{background:linear-gradient(135deg,#007bff,#6610f2);border:1px solid #0056b3}.time-block-standby{background:linear-gradient(135deg,#ffc107,#fd7e14);border:1px solid #d39e00;color:#212529}.block-content{display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2px;text-align:center}.block-label{font-weight:600;line-height:1.2;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-time{font-size:9px;line-height:1;opacity:.9}.block-controls{display:flex;gap:2px;opacity:0;position:absolute;right:2px;top:2px;transition:opacity .2s}.time-block:hover .block-controls{opacity:1}.btn-block-edit,.btn-block-remove{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;transition:all .2s;width:18px}.btn-block-edit:hover{background:#007bff;color:#fff}.btn-block-remove:hover{background:#dc3545;color:#fff}.calculation-settings{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.calculation-settings .row{align-items:end}.calculation-settings .form-check{margin-top:24px}.block-preview .time-block{left:auto!important;position:relative!important;top:auto!important;width:auto!important}.draggable-track{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.draggable-track:hover{background:linear-gradient(90deg,#e8f5e8 0,#d4f5d4)!important}.drag-selection{animation:pulse-selection 1s infinite;border-style:dashed!important;z-index:5}@keyframes pulse-selection{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}.time-block.hours-mode{border-width:2px;box-shadow:0 2px 4px #0000001a}.time-block.hours-mode .block-controls{display:none}.time-block.blocks-mode:hover{cursor:grab}.time-block.blocks-mode:active{cursor:grabbing}.week-hours-total{color:#6c757d;font-size:.8em;font-weight:400;margin-left:8px}.mode-instructions{background:#e3f2fd;border-left:4px solid #1976d2;border-radius:6px;color:#1565c0;font-size:14px;margin-bottom:15px;padding:12px}.mode-instructions strong{color:#0d47a1}.add-block-btn{opacity:.7;transition:all .3s ease}.blocks-mode .add-block-btn{background:linear-gradient(135deg,#28a745,#20c997);border-color:#1e7e34;color:#fff;opacity:1}.blocks-mode .add-block-btn:hover{background:linear-gradient(135deg,#218838,#1db584);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.hours-mode .add-block-btn{opacity:.4;pointer-events:none}.hours-summary{background:#f8f9fa;border-radius:6px;color:#495057;font-weight:500;margin-top:15px;padding:10px 15px;text-align:center}.hours-summary .total-hours{color:#28a745;font-size:1.2em;font-weight:600}@media (max-width:768px){.drag-selection{border-width:1px}.mode-instructions{font-size:12px;padding:8px}}.notification-manager{height:100%;overflow-y:auto;padding:1.5rem}.notification-header{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1rem}.notification-header .header-title{align-items:center;display:flex;gap:.75rem}.notification-header .header-title h2{color:#333;font-size:1.5rem;margin:0 0 .5rem}.notification-header .header-title p{color:#666;font-size:.9rem;margin:0}.schedule-selector-section{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.schedule-selector-section label{color:#333;font-weight:500;min-width:120px}.form-select{background:#fff;border:1px solid #ddd;flex:1 1;max-width:400px;padding:.5rem}.alert,.form-select{border-radius:6px;font-size:.9rem}.alert{align-items:center;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.notification-content{display:flex;flex-direction:column;gap:2rem}.notification-sections{display:flex;flex-direction:column;gap:1.5rem}.notification-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.section-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:.75rem;padding:1.25rem}.section-header h3{font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.section-header p{font-size:.85rem;line-height:1.4;margin:0;opacity:.9}.section-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.toggle-switch{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.75rem;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#ccc;border-radius:14px;cursor:pointer;height:28px;position:relative;transition:all .3s ease;width:50px}.toggle-switch input[type=checkbox]:checked{background:#28a745}.toggle-switch input[type=checkbox]:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:24px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:24px}.toggle-switch input[type=checkbox]:checked:before{transform:translateX(22px)}.email-template-section{border-top:1px solid #f0f0f0;margin-top:1rem;padding-top:1rem}.email-template-section label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;line-height:1.5;padding:.75rem;resize:vertical;width:100%}.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.reminder-days-section{margin-top:1rem}.reminder-days-section label{color:#333;display:block;font-weight:500;margin-bottom:.75rem}.reminder-days-inputs{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.notification-scope-section{border-top:1px solid #f0f0f0;margin-top:1rem;padding-top:1rem}.notification-scope-section label{color:#333;display:block;font-weight:500;margin-bottom:.75rem}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;-webkit-user-select:none;user-select:none}.radio-label input[type=radio]{cursor:pointer;margin:0}.feature-note{color:#6c757d;font-size:.85rem;font-style:italic;margin-top:.5rem}.save-section{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5a6fd8;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.notification-history-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-top:2rem;overflow:hidden}.notification-history-section h3{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#333;display:flex;font-size:1.1rem;gap:.75rem;margin:0;padding:1.25rem}.notification-history-list{max-height:400px;overflow-y:auto}.notification-history-item{border-bottom:1px solid #f0f0f0;padding:1rem 1.25rem}.notification-history-item:last-child{border-bottom:none}.notification-history-item .notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.notification-type{align-items:center;color:#333;display:flex;font-weight:500;gap:.5rem}.type-name{text-transform:capitalize}.notification-details{color:#666;display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.notification-details strong{color:#333}.error-message{color:#dc3545;margin-top:.25rem}.no-notifications{color:#6c757d;padding:3rem;text-align:center}.no-notifications svg{margin-bottom:1rem;opacity:.5}.no-schedules-message{color:#6c757d;padding:3rem;text-align:center}.no-schedules-message svg{margin-bottom:1rem;opacity:.5}.no-schedules-message h3{color:#495057;margin:1rem 0 .5rem}.loading-container{color:#6c757d;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:32px;margin:0 auto 1rem;width:32px}@media (max-width:768px){.notification-manager{padding:1rem}.schedule-selector-section{align-items:flex-start;flex-direction:column}.schedule-selector-section label{min-width:auto}.form-select{max-width:none;width:100%}.section-header{align-items:flex-start}.reminder-days-inputs,.section-header{flex-direction:column;gap:.5rem}.notification-history-item .notification-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.working-availability-section{align-items:center;display:flex;gap:8px;margin-left:12px}.working-availability{align-items:center;display:flex;font-size:13px;gap:8px}.working-availability.validated .availability-text{color:#28a745;font-weight:500}.working-availability.needs-validation .availability-text{color:#856404}.working-availability.awaiting .awaiting-text{color:#721c24;font-style:italic}.red-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:4px;box-shadow:0 2px 4px #dc354533;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .2s}.red-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 8px #dc35454d;transform:translateY(-1px)}.red-btn:active{box-shadow:0 1px 2px #dc354533;transform:translateY(0)}.validation-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.validation-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;padding:24px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.validation-modal h3{border-bottom:2px solid #007bff;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:12px}.validation-timetable{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:16px}.validation-day-row{border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:8px 0}.validation-day-row:last-child{border-bottom:none}.validation-day-row strong{color:#495057;min-width:100px}.validation-day-row span{color:#212529;flex:1 1;text-align:right}.validation-total{border-top:2px solid #007bff;color:#007bff;font-size:16px;font-weight:600;margin-top:16px;padding-top:16px;text-align:right}.validation-modal .no-data{color:#6c757d;font-style:italic;padding:20px;text-align:center}.validation-modal-actions{border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.edit-btn{background:linear-gradient(135deg,#ffc107,#ff9800);border:none;border-radius:6px;box-shadow:0 2px 4px #ffc1074d;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.edit-btn:hover{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 8px #ffc10766;transform:translateY(-1px)}.edit-btn:active{transform:translateY(0)}.validate-btn{background:linear-gradient(135deg,#28a745,#218838);border:none;border-radius:6px;box-shadow:0 2px 4px #28a7454d;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.validate-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 8px #28a74566;transform:translateY(-1px)}.validate-btn:active{transform:translateY(0)}.validation-modal .btn-secondary{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.validation-modal .btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.summary-content{width:100%}.summary-content.inline{max-height:70vh;overflow-y:auto;padding:0}.summary-content.standalone{margin:0 auto;max-width:1400px;padding:20px}.summary-content-error{color:#666;padding:40px;text-align:center}.summary-section{box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.summary-section h3{align-items:center;border-bottom:2px solid #f0f0f0;color:#333;display:flex;font-size:1.3em;gap:10px;margin:0 0 20px;padding-bottom:10px}.summary-section h4{color:#555;font-size:1.1em;margin:15px 0 10px}.working-week-info{gap:15px;margin-bottom:20px}.info-item{gap:5px}.info-item strong{font-size:.95em}.info-item span{color:#333;font-size:1.05em}.rest-days-list{gap:8px;margin-top:5px}.rest-day-badge{border-radius:12px;font-size:.9em;padding:4px 12px}.reference-weeks-container{margin-top:20px}.reference-week-card{border:1px solid #e0e0e0;margin-bottom:15px;padding:15px}.reference-week-card h4{color:#333;margin:0 0 8px}.ref-week-description{font-size:.9em;margin:0 0 15px}.reference-week-grid{grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.day-column{border:1px solid #ddd;border-radius:6px}.day-column.disabled{opacity:.6}.day-header{background:#424242;font-size:.85em;padding:8px}.day-content{min-height:60px;padding:8px}.time-block{background:#4caf50;font-size:.8em;margin-bottom:6px;padding:6px 8px}.time-block:last-child{margin-bottom:0}.time-block-label{display:block;margin-bottom:2px}.time-block-time{display:block;font-size:.85em}.rest-day{color:#999;font-style:italic;padding:20px 0}.no-blocks,.rest-day{display:block;text-align:center}.no-blocks{color:#aaa;font-size:.85em;padding:10px 0}.schedules-table-container{overflow-x:auto}.schedules-table{border-collapse:collapse;width:100%}.schedules-table td,.schedules-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.schedules-table th{background:#f5f5f5;color:#555;font-size:.9em;font-weight:600}.schedules-table tr:hover{background:#fafafa}.schedule-description{font-size:.85em;margin:4px 0 0}.btn-link{background:none;color:#1976d2;font-size:.9em;gap:5px;padding:4px 8px}.btn-link:hover{background:#e3f2fd}.bank-holidays-section{border:1px solid #e0e0e0;border-radius:6px;margin-top:20px;padding:15px}.bank-holidays-section h4{color:#555;margin:0 0 10px}.bank-holidays-list{color:#333;margin:0}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.users-table th{background:#f5f5f5;color:#555;font-size:.9em;font-weight:600}.users-table tr:hover{background:#fafafa}.access-badge{border-radius:12px;font-size:.85em;gap:5px;padding:4px 10px}.schedule-list{padding:0 0 0 20px}.schedule-list li{color:#333;padding:2px 0}.notification-rules-container{overflow-x:auto}.notification-table{border-collapse:collapse;width:100%}.notification-table td,.notification-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left;vertical-align:top}.notification-table th{background:#f5f5f5;color:#555;font-size:.9em;font-weight:600}.config-preview{font-family:Courier New,monospace;font-size:.8em;padding:8px}.no-data{padding:20px}@media (max-width:768px){.summary-content.standalone{padding:10px}.summary-section{padding:15px}.reference-week-grid{grid-template-columns:1fr}.notification-table,.schedules-table,.users-table{font-size:.85em}.notification-table td,.notification-table th,.schedules-table td,.schedules-table th,.users-table td,.users-table th{padding:8px}}@media print{.summary-content{padding:0}.summary-section{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}.btn-link{display:none}}.summary-view{background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh;padding:2rem}.summary-view.error,.summary-view.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.summary-view .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1976d2;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.summary-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem}.summary-header h1{color:#1976d2;font-size:2rem;font-weight:600;margin:0}.summary-header .group-name{color:#666;font-size:1.1rem;margin:.5rem 0 0}.btn-print{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.btn-print:hover{background:#1565c0}.summary-content{display:flex;flex-direction:column;gap:2rem}.summary-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.summary-section h2{align-items:center;border-bottom:2px solid #e0e0e0;color:#333;display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin:0 0 1.5rem;padding-bottom:1rem}.summary-section h3{color:#555;font-size:1.25rem;font-weight:500;margin:1.5rem 0 1rem}.working-week-info{gap:1.5rem;margin-bottom:2rem}.info-item,.working-week-info{display:flex;flex-direction:column}.info-item{gap:.5rem}.info-item strong{color:#555;font-size:1rem}.rest-days-list{display:flex;flex-wrap:wrap;gap:.5rem}.rest-day-badge{background:#e3f2fd;border-radius:16px;color:#1976d2;display:inline-block;font-size:.9rem;font-weight:500;padding:.25rem .75rem}.reference-weeks-container{margin-top:2rem}.reference-week-card{background:#f9f9f9;border-left:4px solid #1976d2;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.reference-week-card h4{color:#1976d2;font-size:1.1rem;margin:0 0 .5rem}.ref-week-description{color:#666;font-size:.95rem;margin:0 0 1rem}.reference-week-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-top:1rem}.day-column{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.day-column.disabled{background:#f5f5f5;opacity:.5}.day-header{background:#1976d2;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem;text-align:center}.day-column.disabled .day-header{background:#9e9e9e}.day-content{gap:.25rem;min-height:80px}.day-content,.time-block{display:flex;flex-direction:column;padding:.5rem}.time-block{border-radius:4px;color:#fff;font-size:.75rem;gap:.125rem}.time-block-label{font-size:.8rem;font-weight:600}.time-block-time{font-size:.7rem;opacity:.9}.no-blocks,.rest-day{color:#999;font-size:.85rem;font-style:italic;padding:.5rem;text-align:center}.notification-rules-container,.schedules-table-container,.users-table-container{margin-top:1rem;overflow-x:auto}.notification-table,.schedules-table,.users-table{border-collapse:collapse;font-size:.95rem;width:100%}.notification-table th,.schedules-table th,.users-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#555;font-weight:600;padding:.75rem 1rem;text-align:left}.notification-table td,.schedules-table td,.users-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.notification-table tr:hover,.schedules-table tr:hover,.users-table tr:hover{background:#f9f9f9}.schedule-description{color:#666;font-size:.85rem;font-weight:400;margin:.25rem 0 0}.btn-link{align-items:center;background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.375rem;padding:.375rem .75rem;transition:background .2s}.btn-link:hover{background:#1565c0}.bank-holidays-section{background:#f9f9f9;border-left:4px solid #4caf50;border-radius:8px;margin-top:2rem;padding:1.5rem}.bank-holidays-list{color:#555;line-height:1.6;margin:.5rem 0 0}.access-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:.85rem;font-weight:500;gap:.375rem;padding:.25rem .75rem}.access-badge.granted{background:#e8f5e9;color:#2e7d32}.access-badge.denied{background:#ffebee;color:#c62828}.schedule-list{list-style-type:disc;margin:0;padding-left:1.25rem}.schedule-list li{color:#555;margin:.25rem 0}.no-schedules{color:#999;font-size:.9rem;font-style:italic}.config-preview{background:#f5f5f5;border-radius:4px;font-size:.8rem;margin:0;max-width:400px;overflow-x:auto;padding:.75rem}.no-data{color:#999;font-style:italic;padding:2rem;text-align:center}.summary-footer{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666;font-size:.9rem;margin-top:2rem;padding:1.5rem 2rem;text-align:center}.btn-retry{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s}.btn-retry:hover{background:#1565c0}@media print{.summary-view{background:#fff;padding:0}.btn-print{display:none}.summary-section{box-shadow:none;page-break-inside:avoid}.btn-link{display:none}}@media (max-width:1200px){.reference-week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.summary-view{padding:1rem}.summary-header{align-items:flex-start;flex-direction:column;gap:1rem}.reference-week-grid{grid-template-columns:repeat(2,1fr)}.notification-rules-container,.schedules-table-container,.users-table-container{overflow-x:scroll}}
/*# sourceMappingURL=main.38f55a6a.css.map*/