:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:10px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.auth-card h2{margin:0 0 30px;color:#333;font-size:28px;text-align:center}.form-input{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:5px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:10px;border-radius:5px;margin-bottom:15px;font-size:14px;text-align:center}.auth-link{margin-top:20px;text-align:center;color:#666;font-size:14px}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.welcome-header{margin-bottom:30px;text-align:center}.welcome-header h2{margin-bottom:15px;font-size:24px}.user-info{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.user-info p{margin:5px 0;font-size:14px;color:#555}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333;font-size:14px}.loading-state,.error-state,.success-state{text-align:center;padding:20px 0}.loading-state h2,.error-state h2,.success-state h2{margin-bottom:15px}.help-text{background:#fff3cd;border:1px solid #ffeaa7;padding:15px;border-radius:8px;margin:20px 0}.help-text p{margin:0;font-size:14px;color:#856404}.back-link,.login-link{display:inline-block;margin-top:20px;color:#667eea;text-decoration:none;font-weight:600;padding:10px 20px;border:2px solid #667eea;border-radius:5px;transition:all .2s ease}.back-link:hover,.login-link:hover{background:#667eea;color:#fff;text-decoration:none}.info-box{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:20px;margin-top:25px}.info-box h4{margin:0 0 15px;color:#1976d2;font-size:16px}.info-box ul{margin:0;padding-left:20px;color:#1976d2}.info-box li{margin-bottom:8px;font-size:14px}.auth-button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.auth-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.auth-card{max-width:350px;padding:30px 25px}.welcome-header h2{font-size:20px}.info-box{padding:15px}}.connection-test{margin-bottom:15px}.btn-secondary{width:100%;padding:10px;background:transparent;color:#667eea;border:2px solid #667eea;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#667eea;color:#fff;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.7;cursor:not-allowed}.test-result{padding:10px;border-radius:5px;margin-bottom:15px;font-size:13px;line-height:1.4;word-break:break-word}.test-result.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.test-result.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.theme-toggle-wrapper{position:absolute;top:20px;right:20px;z-index:1000}.auth-container.dark{background:linear-gradient(135deg,#2d3748,#4a5568)}.auth-container.dark .auth-card{background:#1a202c;color:#e2e8f0;border:1px solid #4a5568}.auth-container.dark .auth-card h2{color:#e2e8f0}.auth-container.dark .form-input{background:#2d3748;color:#e2e8f0;border:1px solid #4a5568}.auth-container.dark .form-input::placeholder{color:#a0aec0}.auth-container.dark .form-input:focus{border-color:#667eea;background:#374151}.auth-container.dark .user-info{background:#2d3748;border:1px solid #4a5568}.auth-container.dark .user-info p{color:#a0aec0}.auth-container.dark .form-group label{color:#e2e8f0}.auth-container.dark .help-text{background:#374151;border:1px solid #4a5568;color:#e2e8f0}.auth-container.dark .help-text p{color:#e2e8f0}.auth-container.dark .info-box{background:#2d3748;border:1px solid #4a5568}.auth-container.dark .info-box h4{color:#63b3ed}.auth-container.dark .info-box ul{color:#a0aec0}.auth-container.dark .back-link,.auth-container.dark .login-link{color:#63b3ed;border-color:#63b3ed}.auth-container.dark .back-link:hover,.auth-container.dark .login-link:hover{background:#63b3ed;color:#1a202c}.auth-container.dark .auth-link{color:#a0aec0}.auth-container.dark .auth-link a{color:#63b3ed}.auth-container.dark .test-result.success{background:#1a2f1a;color:#68d391;border:1px solid #2d5016}.auth-container.dark .test-result.error{background:#2d1b1b;color:#fc8181;border:1px solid #4a1818}.oauth-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.btn-oauth{width:100%;padding:12px 20px;border:1px solid #ddd;border-radius:5px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#333}.btn-oauth:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-oauth:active{transform:translateY(0)}.btn-google{border-color:#4285f4}.btn-google:hover{background:#f8f9fa;box-shadow:0 4px 12px #4285f433}.btn-apple{background:#000;color:#fff;border-color:#000}.btn-apple:hover{background:#1a1a1a;box-shadow:0 4px 12px #0000004d}.oauth-icon{width:20px;height:20px;flex-shrink:0}.auth-divider{position:relative;text-align:center;margin:24px 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#ddd}.auth-divider span{position:relative;display:inline-block;padding:0 15px;background:#fff;color:#666;font-size:14px;font-weight:500}.auth-container.dark .btn-oauth{background:#2d3748;color:#e2e8f0;border-color:#4a5568}.auth-container.dark .btn-google{border-color:#4285f4}.auth-container.dark .btn-google:hover{background:#374151}.auth-container.dark .btn-apple{background:#1a1a1a;color:#fff;border-color:#333}.auth-container.dark .btn-apple:hover{background:#2a2a2a}.auth-container.dark .auth-divider:before{background:#4a5568}.auth-container.dark .auth-divider span{background:#1a202c;color:#a0aec0}.loading-state,.success-state,.error-state{text-align:center;padding:40px 20px}.loading-state h2,.success-state h2,.error-state h2{margin-bottom:20px;font-size:24px}.loading-spinner{width:50px;height:50px;margin:20px auto;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.redirect-message{margin-top:15px;color:#666;font-size:14px}.auth-container.dark .loading-spinner{border-color:#4a5568;border-top-color:#63b3ed}.auth-container.dark .redirect-message{color:#a0aec0}.time-slot{border-bottom:1px solid #e5e5e5;height:60px;display:flex;align-items:center;padding:0 8px;cursor:pointer;transition:all .3s ease;position:relative}.time-slot:first-child{border-top:1px solid #e5e5e5}.time-slot.current-hour{border-left:4px solid #ff9800;box-shadow:inset 0 0 0 1px #ff980033}.time-slot.slot-empty{background-color:#fafafa}.time-slot.slot-empty:hover{background-color:#e8f5e8;transform:translate(2px)}.time-slot.slot-reserved{background-color:#e3f2fd;border-left:3px solid #2196f3}.time-slot.slot-reserved.user-reserved{background-color:#e8f5e8;border-left:3px solid #4caf50}.time-slot.slot-reserved.user-reserved:hover{background-color:#c8e6c9}.time-slot.slot-reserved:not(.user-reserved){cursor:default;opacity:.7}.time-slot.slot-shared{background:linear-gradient(135deg,#e8f5e8,#f3e5f5);border-left:3px solid #9c27b0}.time-slot.slot-shared:hover{background:linear-gradient(135deg,#c8e6c9,#e1bee7);transform:translate(2px)}.time-slot.slot-shared.user-reserved{border-left:3px solid #4caf50}.time-slot.slot-shared.slot-full:not(.user-reserved){opacity:.6;cursor:default;transform:none}.time-slot.slot-disabled{background:repeating-linear-gradient(45deg,#fff,#f4f4f4 10px,#fff 10px 20px);border-left:3px solid #c4c4c4;cursor:not-allowed;opacity:.8}.time-slot.slot-disabled:hover{transform:none}.time-label{font-size:12px;color:#666;width:50px;text-align:right;margin-right:8px;font-weight:500;flex-shrink:0}.time-content{flex:1;min-height:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.slot-status{font-size:13px;font-weight:600;color:#333;line-height:1.2}.slot-status-group{display:flex;flex-direction:column;gap:2px}.slot-substatus{font-size:11px;color:#4caf50;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.slot-customer-names{font-size:10px;color:#666;font-weight:400;margin-top:1px;font-style:italic;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-slot.slot-empty .slot-status{color:#4caf50}.time-slot.slot-reserved .slot-status{color:#2196f3}.time-slot.slot-reserved.user-reserved .slot-status{color:#4caf50}.time-slot.slot-shared .slot-status{color:#9c27b0}.time-slot.slot-shared.user-reserved .slot-status{color:#4caf50}.time-slot.slot-disabled .slot-status{color:#f44336}.time-slot:not(.slot-disabled):hover .time-label{color:#333;font-weight:600}@keyframes statusChange{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.time-slot.status-changed{animation:statusChange .3s ease-in-out}@media (max-width: 768px){.time-slot{height:50px;padding:0 4px}.time-label{font-size:10px;width:40px;margin-right:4px}.slot-status{font-size:11px}.slot-substatus{font-size:9px}.slot-customer-names{font-size:8px}.time-slot:hover{transform:none}}@media (max-width: 480px){.time-slot{height:45px;padding:0 2px}.time-label{font-size:9px;width:35px;margin-right:2px}.slot-status{font-size:10px}.slot-substatus{font-size:8px}.slot-customer-names{font-size:7px}}.calendar-view.dark .time-slot{border-bottom:1px solid #4a5568;background:#2d3748}.calendar-view.dark .time-slot:first-child{border-top:1px solid #4a5568}.calendar-view.dark .time-slot.current-hour{border-left:4px solid #f6ad55;box-shadow:inset 0 0 0 1px #f6ad5533}.calendar-view.dark .time-slot.slot-empty{background-color:#1a202c}.calendar-view.dark .time-slot.slot-empty:hover{background-color:#2d4a22}.calendar-view.dark .time-slot.slot-reserved{background-color:#1e3a8a;border-left:3px solid #3b82f6}.calendar-view.dark .time-slot.slot-reserved.user-reserved{background-color:#14532d;border-left:3px solid #10b981}.calendar-view.dark .time-slot.slot-reserved.user-reserved:hover{background-color:#166534}.calendar-view.dark .time-slot.slot-shared{background:linear-gradient(135deg,#14532d,#581c87);border-left:3px solid #a855f7}.calendar-view.dark .time-slot.slot-shared:hover{background:linear-gradient(135deg,#166534,#6b21a8)}.calendar-view.dark .time-slot.slot-shared.user-reserved{border-left:3px solid #10b981}.calendar-view.dark .time-slot.slot-disabled{background:repeating-linear-gradient(45deg,#2d3748,#1a202c 10px,#2d3748 10px 20px);border-left:3px solid #718096}.calendar-view.dark .time-label{color:#a0aec0}.calendar-view.dark .slot-status{color:#e2e8f0}.calendar-view.dark .slot-substatus{color:#68d391}.calendar-view.dark .slot-customer-names{color:#a0aec0}.calendar-view.dark .time-slot.slot-empty .slot-status{color:#68d391}.calendar-view.dark .time-slot.slot-reserved .slot-status{color:#63b3ed}.calendar-view.dark .time-slot.slot-reserved.user-reserved .slot-status{color:#68d391}.calendar-view.dark .time-slot.slot-shared .slot-status{color:#d8b4fe}.calendar-view.dark .time-slot.slot-shared.user-reserved .slot-status{color:#68d391}.calendar-view.dark .time-slot.slot-disabled .slot-status{color:#fc8181}.calendar-view.dark .time-slot:not(.slot-disabled):hover .time-label{color:#e2e8f0}.day-column{flex:1;min-width:0;border-right:1px solid #e5e5e5;background:#fff}.day-column:last-child{border-right:none}.day-column.today{background:#fafafa}.day-header{padding:16px 8px 12px;text-align:center;border-bottom:2px solid #f0f0f0;background:#fff;position:sticky;top:0;z-index:10}.day-column.today .day-header{background:#e3f2fd;border-bottom-color:#2196f3}.day-name{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.day-column.today .day-name{color:#1976d2}.day-date{display:flex;align-items:center;justify-content:center;gap:4px}.day-number{font-size:24px;font-weight:700;color:#333}.day-column.today .day-number{color:#1976d2;background:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px}.day-month{font-size:12px;color:#888;font-weight:500}.day-column.today .day-month{color:#1976d2}.day-content{min-height:900px}@media (max-width: 768px){.day-header{padding:12px 4px 8px}.day-name{font-size:10px;margin-bottom:2px}.day-number{font-size:18px}.day-column.today .day-number{width:28px;height:28px;font-size:14px}.day-month{font-size:10px}.day-content{min-height:750px}}.calendar-view.dark .day-column{background:#2d3748;border-right:1px solid #4a5568}.calendar-view.dark .day-column.today{background:#1a202c}.calendar-view.dark .day-header{background:#2d3748;border-bottom:2px solid #4a5568}.calendar-view.dark .day-column.today .day-header{background:#1e3a8a;border-bottom-color:#3b82f6}.calendar-view.dark .day-name{color:#a0aec0}.calendar-view.dark .day-column.today .day-name{color:#93c5fd}.calendar-view.dark .day-number{color:#e2e8f0}.calendar-view.dark .day-column.today .day-number{color:#1e40af;background:#e2e8f0}.calendar-view.dark .day-month{color:#718096}.calendar-view.dark .day-column.today .day-month{color:#93c5fd}.week-view{background:#fff;border-radius:8px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.week-header{padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center}.week-range{margin:0;font-size:18px;font-weight:600}.week-controls{display:flex;align-items:center}.week-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500}.week-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.week-toggle:hover .week-toggle-text{opacity:.9}.week-toggle input[type=checkbox]:disabled{cursor:not-allowed}.week-toggle input[type=checkbox]:disabled+.week-toggle-text{opacity:.7}.week-grid{display:flex;min-height:980px;overflow-x:auto}.week-grid::-webkit-scrollbar{height:8px}.week-grid::-webkit-scrollbar-track{background:#f1f1f1}.week-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.week-grid::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media (max-width: 768px){.week-header{padding:12px 16px}.week-range{font-size:16px}.week-grid{min-height:810px}}@media (max-width: 480px){.week-view{margin:0;border-radius:0}.week-header{padding:10px 12px}.week-range{font-size:14px}}.week-disabled-overlay{position:absolute;inset:0;background:#fffffff2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:0 0 8px 8px}.week-disabled-message{text-align:center;padding:40px 20px;max-width:400px}.week-disabled-message h3{margin:0 0 12px;font-size:20px;font-weight:600;color:#555}.week-disabled-message p{margin:0;font-size:16px;color:#777;line-height:1.5}@media (max-width: 768px){.week-disabled-message{padding:30px 16px}.week-disabled-message h3{font-size:18px}.week-disabled-message p{font-size:14px}}@media (max-width: 480px){.week-disabled-message{padding:20px 12px}.week-disabled-message h3{font-size:16px}.week-disabled-message p{font-size:13px}}.calendar-view.dark .week-view{background:#2d3748;box-shadow:0 2px 8px #0000004d}.calendar-view.dark .week-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.calendar-view.dark .week-range,.calendar-view.dark .week-toggle{color:#fff}.calendar-view.dark .week-grid::-webkit-scrollbar-track{background:#4a5568}.calendar-view.dark .week-grid::-webkit-scrollbar-thumb{background:#718096}.calendar-view.dark .week-grid::-webkit-scrollbar-thumb:hover{background:#a0aec0}.calendar-view.dark .week-disabled-overlay{background:#2d3748f2}.calendar-view.dark .week-disabled-message h3{color:#e2e8f0}.calendar-view.dark .week-disabled-message p{color:#a0aec0}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000026}.reservation-details{padding:30px}.reservation-details h3{margin:0 0 20px;font-size:24px;color:#333;text-align:center}.slot-info{font-size:16px;text-align:center;color:#666;margin-bottom:30px;padding:15px;background:#f8f9fa;border-radius:8px}.slot-info strong{color:#333}.sharing-options{margin:20px 0}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:16px;color:#333;cursor:pointer;margin-bottom:15px}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.capacity-selector{margin-left:28px;animation:slideDown .3s ease}.capacity-selector label{display:flex;align-items:center;gap:10px;font-size:14px;color:#555}.capacity-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer}.participants-info{margin:20px 0;padding:20px;background:#f0f7ff;border-radius:8px;border-left:4px solid #2196f3}.capacity-info{font-size:16px;font-weight:600;color:#1976d2;margin:0 0 15px;text-align:center}.participants-list h4{margin:0 0 10px;font-size:14px;color:#333;text-transform:uppercase;letter-spacing:.5px}.participants-list ul{list-style:none;padding:0;margin:0}.participants-list li{padding:8px 0;border-bottom:1px solid #e3f2fd;font-size:14px;color:#555}.participants-list li:last-child{border-bottom:none}.owner-badge{background:#ff9800;color:#fff;padding:2px 6px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.you-badge{background:#4caf50;color:#fff;padding:2px 6px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.unavailable-message{text-align:center;color:#666;font-style:italic;margin:20px 0;padding:15px;background:#fff3e0;border-radius:8px;border-left:4px solid #ff9800}.modal-actions{display:flex;gap:12px;padding:20px 30px 30px;justify-content:flex-end}.btn-secondary{padding:12px 24px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e9e9e9;color:#333}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-danger{padding:12px 24px;background:#ff6b6b;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#ff5252;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.btn-danger:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 768px){.modal-overlay{padding:10px}.reservation-details{padding:20px}.reservation-details h3{font-size:20px}.modal-actions{padding:15px 20px 20px;flex-direction:column}.btn-secondary,.btn-primary,.btn-danger{width:100%;padding:14px}}@media (max-width: 480px){.reservation-details{padding:15px}.slot-info,.checkbox-label{font-size:14px}}.add-user-modal{max-width:500px;width:90vw;max-height:85vh;overflow-y:auto;padding:0}.add-user-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px 15px;border-bottom:2px solid #e5e5e5;background:#fafafa}.add-user-modal-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.add-user-form{padding:0 24px 24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input[type=text],.form-group input[type=email],.form-group select{width:100%;padding:12px;border:2px solid #e5e5e5;border-radius:6px;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input.error{border-color:#ff5252;background-color:#fff5f5}.error-message{display:block;color:#ff5252;font-size:12px;margin-top:5px;font-weight:500}.form-group select{background:#fff;cursor:pointer}.info-box{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:15px;margin-bottom:25px}.info-box p{margin:0;font-size:14px;color:#1976d2;line-height:1.4}.info-box p:first-child{font-weight:600;margin-bottom:5px}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:20px;border-top:1px solid #e5e5e5}@media (max-width: 768px){.add-user-modal{width:95vw;max-height:95vh}.add-user-modal-header h3{font-size:16px}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 480px){.add-user-modal{margin:10px;width:calc(100vw - 20px)}.add-user-modal-header{margin-bottom:15px}.add-user-form{padding:0 15px 15px}.info-box{padding:12px}}.instructor-modal{max-width:650px;width:90vw;max-height:85vh;overflow-y:auto;padding:0}.instructor-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px 15px;border-bottom:2px solid #e5e5e5;background:#fafafa}.header-actions{display:flex;align-items:center;gap:15px}.instructor-modal-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:5px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#333}.slot-info{background:#f8f9fa;padding:18px 24px;border-radius:8px;margin:0 24px 24px;text-align:center}.slot-info p{margin:5px 0;font-size:16px}.slot-status{font-weight:600;color:#667eea}.current-reservations{margin:0 24px 25px}.current-reservations h4{margin:0 0 15px;color:#333;font-size:16px;font-weight:600}.reservations-list{background:#f8f9fa;border-radius:8px;padding:15px}.reservation-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e5e5e5}.reservation-item:last-child{border-bottom:none}.reservation-info{display:flex;align-items:center;gap:10px}.reservation-name{font-weight:500;color:#333}.owner-badge,.guest-badge{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.owner-badge{background:#e3f2fd;color:#1976d2}.guest-badge{background:#fff3e0;color:#f57c00}.btn-remove-reservation{padding:6px 12px;background:#ff5252;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-remove-reservation:hover{background:#ff1744;transform:translateY(-1px)}.btn-remove-reservation:disabled{background:#ccc;cursor:not-allowed;transform:none}.capacity-info{margin:15px 0 0;font-size:14px;color:#666;text-align:center;font-style:italic}.add-reservation{margin:25px 24px 0;padding-top:20px;border-top:2px solid #e5e5e5}.add-reservation h4{margin:0 0 20px;color:#333;font-size:16px;font-weight:600}.reservation-type-selector{display:flex;gap:20px;margin-bottom:20px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#333}.radio-label input[type=radio]{width:16px;height:16px;cursor:pointer}.user-selection{margin-bottom:20px}.user-selection label{display:block;margin-bottom:8px;font-weight:500;color:#333}.user-search{width:100%;padding:12px;border:2px solid #e5e5e5;border-radius:6px;font-size:14px;transition:border-color .2s ease}.user-search:focus{outline:none;border-color:#667eea}.loading-customers{padding:20px;text-align:center;color:#666;font-style:italic}.users-dropdown{max-height:200px;overflow-y:auto;border:1px solid #e5e5e5;border-radius:6px;margin-top:5px;background:#fff}.user-option{padding:12px 15px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background-color .2s ease}.user-option:hover{background:#f8f9fa}.user-option.selected{background:#e3f2fd;border-left:4px solid #1976d2}.user-option:last-child{border-bottom:none}.user-name{display:block;font-weight:500;color:#333;margin-bottom:2px}.user-email{display:block;font-size:12px;color:#666}.no-users{padding:20px;text-align:center;color:#999;font-style:italic}.guest-input{margin-bottom:20px}.guest-input label{display:block;margin-bottom:8px;font-weight:500;color:#333}.guest-name-input{width:100%;padding:12px;border:2px solid #e5e5e5;border-radius:6px;font-size:14px;transition:border-color .2s ease}.guest-name-input:focus{outline:none;border-color:#667eea}.sharing-options{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#333;margin-bottom:15px}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.capacity-selector{margin-left:24px}.capacity-selector label{display:flex;align-items:center;gap:10px;font-weight:500;color:#333}.capacity-selector select{padding:8px 12px;border:1px solid #e5e5e5;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.slot-full-message,.slot-disabled-message{padding:15px;border-radius:8px;text-align:center;margin:20px 24px 0}.slot-full-message{background:#fff3e0;color:#f57c00;border:1px solid #ffb74d}.slot-disabled-message{background:#ffebee;color:#c62828;border:1px solid #ef5350}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin:25px 24px 24px;padding-top:20px;border-top:1px solid #e5e5e5}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6b42a0);transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-secondary{background:#f5f5f5;color:#333;border:2px solid #e5e5e5}.btn-secondary:hover{background:#e5e5e5;transform:translateY(-1px)}@media (max-width: 768px){.instructor-modal{width:95vw;max-height:95vh}.instructor-modal-header h3{font-size:16px}.reservation-type-selector{flex-direction:column;gap:10px}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.reservation-item{flex-direction:column;align-items:flex-start;gap:10px}.users-dropdown{max-height:150px}}@media (max-width: 480px){.instructor-modal{margin:10px;width:calc(100vw - 20px)}.instructor-modal-header{margin-bottom:15px}.slot-info,.reservations-list,.sharing-options{padding:12px}.user-option{padding:10px 12px}}.btn-add-user{padding:8px 16px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px}.btn-add-user:hover{background:linear-gradient(135deg,#218838,#1fa085);transform:translateY(-1px);box-shadow:0 3px 10px #28a7454d}@media (max-width: 768px){.header-actions{flex-direction:column;gap:10px;align-items:flex-end}.btn-add-user{font-size:12px;padding:6px 12px}}@media (max-width: 480px){.instructor-modal-header{flex-direction:column;gap:15px;align-items:flex-start}.header-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000026}.slot-management-modal{max-width:600px;width:90vw;max-height:90vh;overflow-y:auto}.modal-body{padding:0 24px 24px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e5e5e5;margin-bottom:20px}.modal-header h3{margin:0;font-size:20px;color:#333;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0;color:#333}.slot-info{text-align:center;padding:16px;background:#f8f9fa;border-radius:8px;margin-bottom:24px}.slot-info p{margin:0;font-size:16px;color:#333}.mode-selector{margin-bottom:24px}.mode-tabs{display:flex;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f8f9fa}.mode-tab{flex:1;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s}.mode-tab:hover{background:#e9ecef}.mode-tab.active{background:#007bff;color:#fff}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-group textarea,.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group textarea{min-height:80px;resize:vertical;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.rule-type-selector{display:flex;gap:16px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio-label input[type=radio]{width:auto;margin:0}.days-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px;background:#f8f9fa;border-radius:6px}.day-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;padding:8px;border-radius:4px;transition:background-color .2s}.day-checkbox:hover{background:#e9ecef}.day-checkbox input[type=checkbox]{width:auto;margin:0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-label input[type=checkbox]{width:auto;margin:0}.time-range-group,.date-range-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;margin-top:24px;border-top:1px solid #e5e5e5}.btn-secondary{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-danger{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover:not(:disabled){background:#c82333}.btn-secondary:disabled,.btn-primary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.slot-management-modal{width:95vw;max-height:95vh}.modal-header{padding:16px 20px 12px}.mode-tabs{flex-direction:column}.time-range-group,.date-range-group,.days-selector{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.rules-modal{max-width:800px;width:90vw;max-height:90vh;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{background:#fff3;color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .2s ease}.modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body{flex:1;padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state p{margin:8px 0;font-size:16px}.empty-state p:first-child{font-weight:600;color:#374151}.rules-list{display:flex;flex-direction:column;gap:16px}.rule-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s ease;position:relative}.rule-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.rule-card.inactive{background:#f9fafb;border-color:#d1d5db;opacity:.8}.rule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.rule-type{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rule-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge{padding:4px 10px;border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef3c7;color:#92400e}.rule-actions{display:flex;gap:8px;flex-shrink:0}.rule-actions button{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease;background:#f3f4f6;color:#6b7280}.rule-actions button:hover{transform:scale(1.1)}.toggle-btn.activate{background:#dcfce7;color:#166534}.toggle-btn.activate:hover{background:#bbf7d0}.toggle-btn.deactivate{background:#fef3c7;color:#92400e}.toggle-btn.deactivate:hover{background:#fde68a}.edit-btn:hover{background:#dbeafe;color:#1d4ed8}.delete-btn:hover{background:#fecaca;color:#dc2626}.rule-details{display:flex;flex-direction:column;gap:12px}.rule-details>div{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5}.rule-details strong{color:#374151;font-weight:600;min-width:80px;flex-shrink:0}.rule-time,.rule-days,.rule-dates{color:#4b5563}.rule-reason{align-items:stretch}.reason-text{color:#6b7280;font-style:italic}.reason-text em{color:#9ca3af}.edit-reason{display:flex;flex-direction:column;gap:8px;flex:1}.edit-reason input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;width:100%;max-width:300px}.edit-reason input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.edit-actions{display:flex;gap:8px}.save-btn,.cancel-btn{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.save-btn{background:#dcfce7;color:#166534}.save-btn:hover{background:#bbf7d0}.cancel-btn{background:#fecaca;color:#dc2626}.cancel-btn:hover{background:#fca5a5}.rule-created{margin-top:8px;padding-top:12px;border-top:1px solid #f3f4f6}.rule-created small{color:#9ca3af;font-size:12px}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.help-text{margin:0;font-size:13px;color:#6b7280;text-align:center;line-height:1.4}@media (max-width: 768px){.rules-modal{width:95vw;max-height:95vh;margin:10px}.modal-header{padding:16px 20px}.modal-header h2{font-size:18px}.modal-body{padding:20px}.rule-card{padding:16px}.rule-header{flex-direction:column;align-items:stretch;gap:12px}.rule-type{justify-content:flex-start}.rule-actions{justify-content:flex-end}.rule-details>div{flex-direction:column;gap:4px}.rule-details strong{min-width:auto}}.instructor-selector{padding:20px;background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:20px}.instructor-label{font-size:16px;font-weight:600;color:#333;margin-bottom:12px;display:block}.instructor-tabs{display:flex;gap:8px;flex-wrap:wrap}.instructor-tab{padding:10px 20px;background:#f5f5f5;border:2px solid transparent;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.instructor-tab:hover{background:#e0e0e0;color:#333}.instructor-tab.active{background:#007bff;border-color:#0056b3;color:#fff}.instructor-tab.active:hover{background:#0056b3}.instructor-selector.loading,.instructor-selector.error,.instructor-selector.empty{text-align:center;padding:40px;color:#666;font-style:italic}.instructor-selector.error{color:#d32f2f;background:#ffebee;border-color:#ffcdd2}.instructor-selector.mobile{padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:0;border-radius:0}.instructor-selector.mobile .instructor-label{font-size:14px;font-weight:600;color:#1a202c;margin-bottom:8px}.instructor-selector.mobile .instructor-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.instructor-selector.mobile .instructor-tab{padding:8px 16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:fit-content}.instructor-selector.mobile .instructor-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.instructor-selector.mobile .instructor-tab:active{transform:scale(.95)}@media (max-width: 768px){.instructor-selector:not(.mobile){padding:15px}.instructor-selector:not(.mobile) .instructor-tabs{flex-direction:column}.instructor-selector:not(.mobile) .instructor-tab{text-align:center}}.calendar-view.dark .instructor-selector{background:#2d3748;border-bottom:1px solid #4a5568}.calendar-view.dark .instructor-label{color:#e2e8f0}.calendar-view.dark .instructor-tab{background:#1a202c;color:#a0aec0;border:2px solid #4a5568}.calendar-view.dark .instructor-tab:hover{background:#2d3748;color:#e2e8f0}.calendar-view.dark .instructor-tab.active{background:#3182ce;border-color:#2c5aa0;color:#fff}.calendar-view.dark .instructor-tab.active:hover{background:#2c5aa0}.calendar-view.dark .instructor-selector.loading,.calendar-view.dark .instructor-selector.error,.calendar-view.dark .instructor-selector.empty{color:#a0aec0}.calendar-view.dark .instructor-selector.error{color:#fc8181;background:#2d1b1b;border-color:#4a1818}.mobile-calendar-view.dark .instructor-selector.mobile{background:#2d3748;border-bottom:1px solid #4a5568}.mobile-calendar-view.dark .instructor-selector.mobile .instructor-label{color:#e2e8f0}.mobile-calendar-view.dark .instructor-selector.mobile .instructor-tab{background:#1a202c;border:2px solid #4a5568;color:#a0aec0}.mobile-calendar-view.dark .instructor-selector.mobile .instructor-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.alert-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.alert-modal-content{background:#fff;border-radius:16px;padding:32px;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;text-align:center}.alert-modal-icon{font-size:56px;margin-bottom:16px;animation:bounceIn .5s ease-out}.alert-modal-icon.error,.alert-modal-icon.warning{filter:drop-shadow(0 2px 8px rgba(255,152,0,.3))}.alert-modal-icon.success{filter:drop-shadow(0 2px 8px rgba(76,175,80,.3))}.alert-modal-icon.info{filter:drop-shadow(0 2px 8px rgba(33,150,243,.3))}.alert-modal-title{margin:0 0 16px;font-size:22px;font-weight:700;color:#333;line-height:1.3}.alert-modal-message{margin:0 0 28px;font-size:15px;color:#666;line-height:1.6;white-space:pre-line}.alert-modal-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d;min-width:140px}.alert-modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.alert-modal-button:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.dark .alert-modal-content{background:#2d2d2d;border:1px solid #444}.dark .alert-modal-title{color:#fff}.dark .alert-modal-message{color:#ccc}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 768px){.alert-modal-content{padding:24px;max-width:340px}.alert-modal-icon{font-size:48px;margin-bottom:12px}.alert-modal-title{font-size:19px;margin-bottom:12px}.alert-modal-message{font-size:14px;margin-bottom:24px}.alert-modal-button{padding:12px 28px;font-size:15px}}.notification-dropdown{position:absolute;top:60px;right:20px;width:400px;max-height:600px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.notification-header h3{margin:0;font-size:18px;font-weight:600}.notification-header-actions{display:flex;align-items:center;gap:8px}.mark-all-read-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.mark-all-read-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.close-dropdown-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;cursor:pointer;transition:all .2s ease;padding:0}.close-dropdown-btn:hover{background:#ffffff4d;transform:scale(1.1)}.notification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.notification-loading .spinner{width:32px;height:32px;border:3px solid #e5e5e5;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.notification-empty p{margin:0;font-size:15px}.notification-list{overflow-y:auto;max-height:480px}.notification-item{display:flex;align-items:flex-start;padding:16px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease;position:relative}.notification-item:hover{background-color:#f9f9f9}.notification-item.unread{background-color:#f0f4ff}.notification-item.unread:hover{background-color:#e6eeff}.notification-icon{font-size:24px;margin-right:12px;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:#333;margin-bottom:4px;line-height:1.3}.notification-message{font-size:13px;color:#666;line-height:1.4;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-time{font-size:11px;color:#999;font-weight:500}.unread-indicator{width:8px;height:8px;background:#667eea;border-radius:50%;position:absolute;top:20px;right:46px;box-shadow:0 0 0 3px #667eea33}.notification-delete{position:absolute;top:16px;right:16px;width:24px;height:24px;background:transparent;border:none;border-radius:50%;font-size:20px;line-height:1;color:#999;cursor:pointer;transition:all .2s ease;opacity:0}.notification-item:hover .notification-delete{opacity:1}.notification-delete:hover{background:#f44336;color:#fff;transform:scale(1.1)}.notification-footer{padding:12px 20px;border-top:1px solid #e5e5e5;background:#fafafa;text-align:center}.view-all-link{color:#667eea;text-decoration:none;font-size:13px;font-weight:600;transition:color .2s ease}.view-all-link:hover{color:#764ba2;text-decoration:underline}.dark .notification-dropdown{background:#2d2d2d;border:1px solid #444}.dark .notification-header{border-bottom:1px solid #444}.dark .notification-item{border-bottom:1px solid #3a3a3a}.dark .notification-item:hover{background-color:#353535}.dark .notification-item.unread{background-color:#2a3346}.dark .notification-item.unread:hover{background-color:#323d52}.dark .notification-title{color:#fff}.dark .notification-message{color:#ccc}.dark .notification-time{color:#999}.dark .notification-empty{color:#666}.dark .notification-footer{background:#252525;border-top:1px solid #444}@media (max-width: 768px){.notification-dropdown{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0}.notification-header{padding:20px}.notification-header h3{font-size:20px}.close-dropdown-btn{width:36px;height:36px;font-size:24px}.mark-all-read-btn{font-size:11px;padding:6px 10px}.notification-list{max-height:calc(100vh - 140px)}.notification-item{padding:16px}.unread-indicator{right:40px}.notification-delete{opacity:1}}.calendar-view{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.calendar-header{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.header-logo{display:flex;align-items:center}.header-logo-img{height:50px;width:auto;object-fit:contain}.header-actions{display:flex;align-items:center;gap:16px}.user-email{font-size:14px;color:#666;font-weight:500}.btn-rules{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-rules:hover{background:linear-gradient(135deg,#5a6fd8,#6b42a0);transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-add-user{padding:8px 16px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px}.btn-add-user:hover{background:linear-gradient(135deg,#218838,#1fa085);transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.btn-notification{padding:8px 16px;background:#f0f0f0;color:#666;border:none;border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center;min-width:44px}.btn-notification:hover{background:#e0e0e0;color:#333;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.notification-badge{position:absolute;top:-4px;right:-4px;background:#f44336;color:#fff;border-radius:12px;padding:2px 6px;font-size:10px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px 4px #0003}.btn-logout{padding:8px 16px;background:#ff6b6b;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:#ff5252;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.calendar-main{flex:1;overflow-y:auto;padding:20px}.calendar-content{max-width:1400px;margin:0 auto}.load-more-indicator{text-align:center;padding:40px 20px;color:#888;font-style:italic}.load-more-indicator p{margin:0;font-size:14px}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#666;font-size:18px;background:#f5f7fa}.no-instructor-selected{text-align:center;padding:60px 20px;color:#666;font-size:18px;background:#fff;border-radius:8px;margin:20px;box-shadow:0 2px 4px #0000000d}@media (max-width: 768px){.calendar-main{padding:10px}.header-content{padding:12px 16px}.header-logo-img{height:40px}.user-email{display:none}.btn-add-user,.btn-rules,.btn-logout{padding:6px 12px;font-size:12px}}@media (max-width: 480px){.calendar-main{padding:5px}.header-content{padding:10px 12px}.calendar-title{font-size:18px}.load-more-indicator{padding:20px 10px}.load-more-indicator p{font-size:12px}}.slots-loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;border-radius:8px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.slots-loading-overlay p{margin:0;color:#666;font-size:14px;font-weight:500}.calendar-main{scroll-behavior:smooth}.calendar-main::-webkit-scrollbar{width:8px}.calendar-main::-webkit-scrollbar-track{background:#f1f1f1}.calendar-main::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.calendar-main::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.calendar-view.dark{background:#1a202c;color:#e2e8f0}.calendar-view.dark .calendar-header{background:#2d3748;border-bottom:1px solid #4a5568;box-shadow:0 2px 4px #0000004d}.calendar-view.dark .calendar-title{color:#f7fafc;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-view.dark .user-email{color:#a0aec0}.calendar-view.dark .btn-notification{background:#4a5568;color:#cbd5e0}.calendar-view.dark .btn-notification:hover{background:#5a6578;color:#e2e8f0}.calendar-view.dark .calendar-main{background:#1a202c}.calendar-view.dark .no-instructor-selected{background:#2d3748;color:#e2e8f0;box-shadow:0 2px 4px #0000004d}.calendar-view.dark .loading{background:#1a202c;color:#e2e8f0}.calendar-view.dark .slots-loading-overlay{background:#2d3748e6}.calendar-view.dark .slots-loading-overlay p{color:#e2e8f0}.calendar-view.dark .load-more-indicator{color:#a0aec0}.calendar-view.dark .calendar-main::-webkit-scrollbar-track{background:#2d3748}.calendar-view.dark .calendar-main::-webkit-scrollbar-thumb{background:#4a5568}.calendar-view.dark .calendar-main::-webkit-scrollbar-thumb:hover{background:#718096}.theme-toggle{background:#ffffff1a;color:#4a5568;border:none;border-radius:6px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:#ffffff26;transform:translateY(-1px)}.calendar-view.dark .theme-toggle{background:#ffffff1a;color:#e2e8f0}.calendar-view.dark .theme-toggle:hover{background:#fff3}.mobile-calendar-view{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.mobile-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.mobile-header-content{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;max-width:100%}.mobile-logo{display:flex;align-items:center}.mobile-logo-img{height:40px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.mobile-header-actions{display:flex;align-items:center;gap:12px}.theme-toggle{background:#fff3;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.theme-toggle:active{background:#ffffff4d;transform:scale(.95)}.mobile-notification{background:#fff3;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;position:relative}.mobile-notification:active{background:#ffffff4d;transform:scale(.95)}.mobile-notification-badge{position:absolute;top:2px;right:2px;background:#f44336;color:#fff;border-radius:12px;padding:2px 6px;font-size:10px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px 4px #0000004d}.mobile-logout{background:#fff3;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-logout:active{background:#ffffff4d;transform:scale(.95)}.mobile-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-day-view{background:#fff;margin:12px;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.mobile-day-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mobile-nav-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;width:44px;height:44px;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #667eea4d}.mobile-nav-btn:active{transform:scale(.95);box-shadow:0 1px 4px #667eea66}.mobile-current-date{text-align:center;flex:1;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease}.mobile-current-date:hover{background:#ffffff1a}.mobile-current-date:active{background:#fff3;transform:scale(.98)}.mobile-date-main{font-size:18px;font-weight:700;color:#1a202c;margin-bottom:4px}.mobile-swipe-hint{font-size:12px;color:#64748b;opacity:.8}.mobile-time-slots{position:relative;padding:8px;max-height:70vh;min-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-slots-loading-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-slots-loading-overlay .loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.mobile-slots-loading-overlay p{margin-top:16px;color:#667eea;font-weight:600;font-size:14px}.dark .mobile-slots-loading-overlay{background:#1a202cf2}.dark .mobile-slots-loading-overlay p{color:#90cdf4}.dark .mobile-slots-loading-overlay .loading-spinner{border-color:#2d3748;border-top-color:#90cdf4}.mobile-time-slot{display:flex;align-items:center;padding:16px 20px;margin-bottom:8px;border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:40px;position:relative;overflow:hidden}.mobile-time-slot.available{background:#fafafa;border:2px solid #e5e5e5;box-shadow:0 2px 8px #0000000d}.mobile-time-slot.booked{background:#e3f2fd;border:2px solid #2196f3;box-shadow:0 2px 8px #2196f333}.mobile-time-slot.user-booked{background:#e8f5e8;border:2px solid #4caf50;box-shadow:0 2px 8px #4caf5033}.mobile-time-slot.unavailable{background:#f7fafc;border:2px solid #cbd5e0;opacity:.7;cursor:not-allowed}.mobile-time-slot:active:not(.unavailable):not(.skeleton){transform:scale(.98)}.mobile-time-slot.skeleton{background:#f0f0f0;border:2px solid #e5e5e5;cursor:default;pointer-events:none;animation:pulse 1.5s ease-in-out infinite}.skeleton-text{display:block;height:16px;width:80px;background:#e0e0e0;border-radius:4px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mobile-slot-time{font-size:18px;font-weight:700;color:#1a202c;min-width:60px}.mobile-slot-status{flex:1;margin-left:16px}.status-text{font-size:15px;font-weight:700}.status-text.available{color:#4caf50}.status-text.booked{color:#2196f3}.status-text.user-booked{color:#4caf50}.status-text.unavailable{color:#374151}.mobile-slot-arrow{font-size:18px;color:#a0aec0;opacity:.6}.mobile-time-slot.unavailable .mobile-slot-arrow{display:none}.mobile-month-view{background:#fff;margin:12px;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.mobile-month-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.mobile-current-month{font-size:18px;font-weight:700;color:#1a202c;text-align:center;flex:1}.mobile-month-grid{padding:16px}.mobile-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.mobile-weekday{text-align:center;font-size:12px;font-weight:600;color:#64748b;padding:8px 0}.mobile-month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mobile-month-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;min-height:48px;background:#f8fafc;border:1px solid #e2e8f0}.mobile-month-day.other-month{opacity:.3}.mobile-month-day.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700}.mobile-month-day.selected{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;font-weight:700}.mobile-month-day.has-slots{border-color:#667eea;background:linear-gradient(135deg,#e6fffa,#b2f5ea)}.mobile-month-day:active{transform:scale(.95)}.mobile-day-number{font-size:14px;font-weight:600;margin-bottom:2px}.mobile-day-indicators{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.mobile-indicator{width:6px;height:6px;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff}.mobile-indicator.available{background:#48bb78}.mobile-indicator.booked{background:#f56565}.mobile-no-instructor{text-align:center;padding:60px 20px;color:#64748b;font-size:16px;background:#fff;margin:12px;border-radius:12px;box-shadow:0 2px 12px #00000014}.mobile-calendar-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;color:#64748b;font-size:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (prefers-reduced-motion: reduce){.mobile-time-slot,.mobile-nav-btn,.mobile-month-day,.mobile-view-toggle,.mobile-logout{transition:none}.loading-spinner{animation:none}}.mobile-calendar-view.dark{background:#1a202c;color:#e2e8f0}.mobile-calendar-view.dark .mobile-day-view,.mobile-calendar-view.dark .mobile-month-view,.mobile-calendar-view.dark .mobile-no-instructor{background:#2d3748;color:#e2e8f0}.mobile-calendar-view.dark .mobile-day-header,.mobile-calendar-view.dark .mobile-month-header{background:#4a5568;border-color:#2d3748}.mobile-calendar-view.dark .mobile-time-slot.unavailable{background:#2d3748;border-color:#4a5568}.mobile-calendar-view.dark .mobile-month-day{background:#4a5568;border-color:#2d3748}.mobile-calendar-view.dark .mobile-date-main,.mobile-calendar-view.dark .mobile-current-month,.mobile-calendar-view.dark .mobile-slot-time{color:#f7fafc}.mobile-calendar-view.dark .mobile-swipe-hint{color:#a0aec0}.mobile-calendar-view.dark .status-text.available{color:#68d391}.mobile-calendar-view.dark .status-text.booked{color:#fc8181}.mobile-calendar-view.dark .status-text.user-booked{color:#63b3ed}.mobile-calendar-view.dark .status-text.unavailable{color:#a0aec0}.mobile-calendar-view.dark .mobile-time-slot.available{background:#1a202c;border:2px solid #4a5568}.mobile-calendar-view.dark .mobile-time-slot.booked{background:#1e3a8a;border:2px solid #3b82f6}.mobile-calendar-view.dark .mobile-time-slot.user-booked{background:#14532d;border:2px solid #10b981}.mobile-calendar-view.dark .mobile-time-slot.skeleton{background:#2d3748;border:2px solid #4a5568}.mobile-calendar-view.dark .skeleton-text{background:#4a5568}.mobile-calendar-view.dark .mobile-month-day.has-slots{background:linear-gradient(135deg,#1a2f1a,#2d5016);border-color:#68d391}.mobile-calendar-view.dark .mobile-indicator.available{background:#68d391}.mobile-calendar-view.dark .mobile-indicator.booked{background:#fc8181}@supports (padding-top: env(safe-area-inset-top)){.mobile-header{padding-top:env(safe-area-inset-top)}}.mobile-time-slots{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width: 320px){.mobile-header-content{padding:8px 12px}.mobile-title{font-size:18px}.mobile-day-header{padding:12px 16px}.mobile-time-slot{padding:12px 16px;min-height:56px}.mobile-slot-time{font-size:16px}.status-text{font-size:13px}}@media (min-width: 768px){.mobile-calendar-view{max-width:480px;margin:0 auto;box-shadow:0 0 20px #0000001a}}.mobile-week-disabled-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:12px}.mobile-week-disabled-message{text-align:center;padding:30px 20px;max-width:320px}.mobile-week-disabled-message h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#4a5568}.mobile-week-disabled-message p{margin:0;font-size:14px;color:#718096;line-height:1.4}.mobile-month-day.week-disabled{opacity:.4;background:#f7fafc!important;cursor:not-allowed;border-color:#e2e8f0!important}.mobile-month-day.week-disabled .mobile-day-indicators{opacity:.3}.mobile-month-day.past-day{opacity:.4;background:#f7fafc!important;cursor:not-allowed;border-color:#e2e8f0!important;color:#a0aec0}.mobile-month-day.past-day .mobile-day-indicators{opacity:.3}.mobile-calendar-view.dark .mobile-week-disabled-overlay{background:#2d3748f2}.mobile-calendar-view.dark .mobile-week-disabled-message h3{color:#e2e8f0}.mobile-calendar-view.dark .mobile-week-disabled-message p{color:#a0aec0}.mobile-calendar-view.dark .mobile-month-day.week-disabled{background:#2d3748!important;border-color:#4a5568!important}.mobile-calendar-view.dark .mobile-month-day.past-day{background:#2d3748!important;border-color:#4a5568!important;color:#718096}@media (max-width: 320px){.mobile-week-disabled-message{padding:20px 16px}.mobile-week-disabled-message h3{font-size:16px}.mobile-week-disabled-message p{font-size:13px}}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative}.forgot-password-container.dark{background:linear-gradient(135deg,#1a1a2e,#16213e)}.forgot-password-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.forgot-password-container.dark .forgot-password-card{background:#2d2d44;box-shadow:0 10px 40px #00000080}.forgot-password-card h1{margin:0 0 10px;font-size:28px;color:#333;text-align:center}.forgot-password-container.dark .forgot-password-card h1{color:#fff}.forgot-password-description{color:#666;text-align:center;margin-bottom:30px;line-height:1.5}.forgot-password-container.dark .forgot-password-description{color:#b0b0b0}.forgot-password-success{background-color:#d4edda;color:#155724;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.forgot-password-error{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb}.forgot-password-card form{display:flex;flex-direction:column;gap:20px}.forgot-password-container.dark .form-group label{color:#e0e0e0}.forgot-password-container.dark .form-group input{background:#1a1a2e;border-color:#444;color:#fff}.forgot-password-container.dark .form-group input:disabled{background-color:#1a1a2e;opacity:.5}.forgot-password-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.forgot-password-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.forgot-password-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.forgot-password-links{text-align:center;margin-top:20px}.forgot-password-links a{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s}.forgot-password-links a:hover{color:#764ba2;text-decoration:underline}@media (max-width: 600px){.forgot-password-card{padding:30px 20px}.forgot-password-card h1{font-size:24px}}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;position:relative}.reset-password-container.dark{background:linear-gradient(135deg,#1a1a2e,#16213e)}.theme-toggle-wrapper{position:absolute;top:20px;right:20px;z-index:10}.reset-password-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.reset-password-container.dark .reset-password-card{background:#2d2d44;box-shadow:0 10px 40px #00000080}.reset-password-card h1{margin:0 0 10px;font-size:28px;color:#333;text-align:center}.reset-password-container.dark .reset-password-card h1{color:#fff}.reset-password-description{color:#666;text-align:center;margin-bottom:30px;line-height:1.5}.reset-password-container.dark .reset-password-description,.reset-password-container.dark .reset-password-card p{color:#b0b0b0}.reset-password-success{background-color:#d4edda;color:#155724;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.reset-password-success p{margin-top:10px;font-size:14px;font-style:italic}.reset-password-error{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb}.reset-password-card form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:14px}.reset-password-container.dark .form-group label{color:#e0e0e0}.form-group input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.reset-password-container.dark .form-group input{background:#1a1a2e;border-color:#444;color:#fff}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.reset-password-container.dark .form-group input:disabled{background-color:#1a1a2e;opacity:.5}.reset-password-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.reset-password-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.reset-password-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.reset-password-links{text-align:center;margin-top:20px}.reset-password-links a{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s}.reset-password-container.dark .reset-password-links a{color:#9fa8f7}.reset-password-links a:hover{color:#764ba2;text-decoration:underline}.reset-password-container.dark .reset-password-links a:hover{color:#b8a0d2}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.reset-password-card{padding:30px 20px}.reset-password-card h1{font-size:24px}}.notifications-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.notifications-container{max-width:900px;margin:0 auto}.notifications-header{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 4px 16px #0000001a}.header-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}.back-button{background:#f0f0f0;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#e0e0e0;transform:translate(-2px)}.notifications-header h1{margin:0;font-size:28px;font-weight:700;color:#333}.header-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.filter-tabs{display:flex;gap:8px}.filter-tab{background:#f5f5f5;border:2px solid transparent;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.filter-tab:hover{background:#ebebeb;color:#333}.filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.count-badge{background:#ffffff4d;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:700}.filter-tab.active .count-badge{background:#ffffff40}.mark-all-read-button{background:#4caf50;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mark-all-read-button:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.notifications-loading{background:#fff;border-radius:12px;padding:60px;text-align:center;box-shadow:0 4px 16px #0000001a}.loading-spinner{width:48px;height:48px;border:4px solid #e5e5e5;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.notifications-loading p{margin:0;font-size:16px;color:#666}.notifications-empty{background:#fff;border-radius:12px;padding:80px 40px;text-align:center;box-shadow:0 4px 16px #0000001a}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.4}.notifications-empty h2{margin:0 0 12px;font-size:24px;font-weight:700;color:#333}.notifications-empty p{margin:0;font-size:16px;color:#666}.notifications-grid{display:grid;gap:16px}.notification-card{background:#fff;border-radius:12px;border-left:4px solid #667eea;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.notification-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.notification-card.unread{background:#f8f9ff;box-shadow:0 2px 12px #667eea26}.notification-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.notification-card-icon{font-size:32px;flex-shrink:0}.notification-card-meta{flex:1;display:flex;align-items:center;gap:12px}.notification-card-date{font-size:13px;color:#999;font-weight:500}.unread-badge{background:#667eea;color:#fff;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.notification-card-delete{background:transparent;border:none;border-radius:50%;width:28px;height:28px;font-size:24px;line-height:1;color:#999;cursor:pointer;transition:all .2s ease;flex-shrink:0}.notification-card-delete:hover{background:#f44336;color:#fff;transform:scale(1.1)}.notification-card-body{margin-left:44px}.notification-card-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#333;line-height:1.4}.notification-card-message{margin:0 0 16px;font-size:15px;color:#666;line-height:1.6}.notification-card-details{background:#f8f8f8;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:13px;font-weight:600;color:#666}.detail-value{font-size:13px;color:#333;font-weight:500}.notification-card-footer{margin-left:44px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.mark-read-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.mark-read-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.notifications-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;padding:20px}.pagination-button{background:#fff;border:2px solid #667eea;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#667eea;cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#667eea;color:#fff;transform:translateY(-2px)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:14px;font-weight:600;color:#fff}@media (max-width: 768px){.notifications-page{padding:12px}.notifications-header{padding:16px}.header-top{margin-bottom:16px}.notifications-header h1{font-size:22px}.header-actions{flex-direction:column;align-items:stretch}.filter-tabs{width:100%}.filter-tab{flex:1;justify-content:center;padding:10px;font-size:13px}.mark-all-read-button{width:100%;padding:12px}.notification-card{padding:16px}.notification-card-icon{font-size:28px}.notification-card-body{margin-left:40px}.notification-card-title{font-size:16px}.notification-card-message{font-size:14px}.notification-card-footer{margin-left:40px}.notifications-pagination{flex-wrap:wrap;gap:12px}.pagination-button{font-size:13px;padding:8px 16px}}.dark .notifications-header,.dark .notification-card,.dark .notifications-loading,.dark .notifications-empty{background:#2d2d2d;border-color:#444}.dark .notifications-header h1,.dark .notification-card-title,.dark .notifications-empty h2{color:#fff}.dark .back-button{background:#3a3a3a;color:#fff}.dark .back-button:hover{background:#4a4a4a}.dark .filter-tab{background:#3a3a3a;color:#ccc}.dark .filter-tab:hover{background:#4a4a4a;color:#fff}.dark .notification-card{background:#2d2d2d}.dark .notification-card.unread{background:#2a3346}.dark .notification-card-message,.dark .notification-card-date,.dark .notifications-empty p,.dark .notifications-loading p{color:#ccc}.dark .notification-card-details{background:#1a1a1a}.dark .detail-label{color:#999}.dark .detail-value{color:#fff}.dark .notification-card-footer{border-top-color:#3a3a3a}.dark .pagination-button{background:#2d2d2d;border-color:#667eea;color:#667eea}.dark .pagination-button:hover:not(:disabled){background:#667eea;color:#fff}
