:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--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 #0000001a;--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(90deg,#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:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{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{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.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{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--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{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@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--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-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--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-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%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.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{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-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--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--color-primary-light:#667eea;--color-primary-dark:#764ba2;--color-gray-50:#f7fafc;--color-gray-100:#edf2f7;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e0;--color-gray-600:#4a5568;--color-gray-700:#2d3748;--color-gray-900:#1a202c;--color-red-500:#e53e3e;--color-red-50:#fff5f5;--color-green-300:#68d391;--color-primary-darker:#5a67d8;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:30px;--spacing-4xl:40px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:24px;--font-size-xl:28px;--font-size-2xl:64px;--line-height-relaxed:1.6;--border-radius-lg:12px;--border-width:1px;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 20px 60px #0000004d;--transition-fast:0.2s ease;--transition-base:0.3s ease-out;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Courier New",Courier,monospace}.error-boundary-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary-dark) 100%);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-system);justify-content:center;min-height:100vh;padding:20px;padding:var(--spacing-xl)}.error-boundary-card{animation:slideIn .3s ease-out;animation:slideIn var(--transition-base);background:#fff;background:var(--color-white);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 20px 60px #0000004d;box-shadow:var(--shadow-lg);max-width:600px;padding:40px;padding:var(--spacing-4xl);text-align:center;width:100%}.error-boundary-icon{animation:pulse 2s ease-in-out infinite;font-size:64px;font-size:var(--font-size-2xl);margin-bottom:20px;margin-bottom:var(--spacing-xl)}.error-boundary-title{color:#1a202c;color:var(--color-gray-900);font-size:28px;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 16px;margin:0 0 var(--spacing-lg) 0}.error-boundary-message{color:#4a5568;color:var(--color-gray-600);font-size:16px;font-size:var(--font-size-md);line-height:1.6;line-height:var(--line-height-relaxed);margin:0 0 30px;margin:0 0 var(--spacing-3xl) 0}.error-boundary-details{background:#f7fafc;background:var(--color-gray-50);border:1px solid #e2e8f0;border:var(--border-width) solid var(--color-gray-200);border-radius:8px;border-radius:var(--border-radius-md);margin:20px 0;margin:var(--spacing-xl) 0;max-height:400px;overflow-y:auto;padding:20px;padding:var(--spacing-xl);text-align:left}.error-boundary-details h3{color:#e53e3e;color:var(--color-red-500);font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin:0 0 16px;margin:0 0 var(--spacing-lg) 0;text-transform:uppercase}.error-boundary-component-stack,.error-boundary-error-message,.error-boundary-stack{margin-bottom:16px;margin-bottom:var(--spacing-lg)}.error-boundary-details strong{color:#2d3748;color:var(--color-gray-700);display:block;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.error-boundary-details pre{background:#1a202c;background:var(--color-gray-900);border-radius:6px;border-radius:var(--border-radius-sm);color:#68d391;color:var(--color-green-300);font-family:Courier New,Courier,monospace;font-family:var(--font-mono);font-size:12px;font-size:var(--font-size-xs);line-height:1.5;line-height:var(--line-height-normal);margin:0;overflow-x:auto;padding:12px;padding:var(--spacing-md);white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:12px;gap:var(--spacing-md);justify-content:center;margin:30px 0;margin:var(--spacing-3xl) 0}.error-boundary-btn{border:none;border-radius:8px;border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:16px;font-size:var(--font-size-md);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px 16px;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease;transition:all var(--transition-fast)}.error-boundary-btn:hover{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md);transform:translateY(-2px)}.error-boundary-btn:active{transform:translateY(0)}.error-boundary-btn-primary{background:#667eea;background:var(--color-primary-light);color:#fff;color:var(--color-white)}.error-boundary-btn-primary:hover{background:#5a67d8;background:var(--color-primary-darker)}.error-boundary-btn-secondary{background:#edf2f7;background:var(--color-gray-100);color:#2d3748;color:var(--color-gray-700)}.error-boundary-btn-secondary:hover{background:#e2e8f0;background:var(--color-gray-200)}.error-boundary-count{background:#fff5f5;background:var(--color-red-50);border-radius:6px;border-radius:var(--border-radius-sm);color:#e53e3e;color:var(--color-red-500);display:inline-block;font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin:20px 0 0;margin:var(--spacing-xl) 0 0 0;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.error-boundary-footer{border-top:1px solid #e2e8f0;border-top:var(--border-width) solid var(--color-gray-200);margin-top:30px;margin-top:var(--spacing-3xl);padding-top:20px;padding-top:var(--spacing-xl);text-align:left}.error-boundary-footer p{color:#4a5568;color:var(--color-gray-600);font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 12px;margin:0 0 var(--spacing-md) 0}.error-boundary-footer ul{list-style:none;margin:0;padding:0}.error-boundary-footer li{color:#cbd5e0;color:var(--color-gray-300);font-family:Courier New,Courier,monospace;font-family:var(--font-mono);font-size:13px;font-size:var(--font-size-sm);padding:4px 0;padding:var(--spacing-xs) 0}@media (max-width:640px){.error-boundary-card{padding:24px;padding:var(--spacing-2xl)}.error-boundary-title{font-size:24px;font-size:var(--font-size-lg)}.error-boundary-message{font-size:14px;font-size:var(--font-size-base)}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%}.error-boundary-details{max-height:200px}}.mondo-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0;width:100%}.mondo-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}@media (max-width:979px){.mondo-footer-content{width:90%}}@media (max-width:600px){.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.kontakt-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.kontakt-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.kontakt-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.kontakt-header-wrapper{background:#fff}.kontakt-header{justify-content:space-between;padding:2rem 0}.kontakt-header,.kontakt-nav{align-items:center;display:flex}.kontakt-nav{gap:2rem}.kontakt-nav a,.kontakt-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.kontakt-nav a:hover{color:#4b4950}.kontakt-nav .nav-active{color:#4b4950;font-weight:700}.kontakt-content{padding:0;text-align:center}.kontakt-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.kontakt-intro{padding:45px 0 0;text-align:center}.kontakt-intro p{color:#717b87;font-size:14px;margin:0}.kontakt-details{padding:45px 0;text-align:center}.kontakt-details p{color:#717b87;font-size:14px;line-height:1.6;margin:.5rem 0}.kontakt-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.kontakt-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.footer-links a{color:#fff;font-size:12px;text-decoration:none}@media (max-width:979px){.kontakt-container,.kontakt-footer-content{width:90%}.kontakt-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.kontakt-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.kontakt-nav a,.kontakt-nav span{font-size:11px}.kontakt-title{font-size:1.5rem}.kontakt-details{padding:30px 0}.mondo-logo img{max-width:200px}}@media (max-width:600px){.kontakt-intro{padding:30px 0 0}.kontakt-details{padding:30px 0}.kontakt-nav{gap:.5rem}.kontakt-nav a,.kontakt-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.impressum-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.impressum-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.impressum-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.impressum-header-wrapper{background:#fff}.impressum-header{align-items:center;display:flex;justify-content:space-between;padding:2rem 0}.impressum-nav{align-items:center;display:flex;gap:2rem}.impressum-nav a,.impressum-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.impressum-nav a:hover{color:#4b4950}.impressum-nav .nav-active{color:#4b4950;font-weight:700}.impressum-content{padding:0;text-align:center}.impressum-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.impressum-details{padding:45px 0;text-align:center}.impressum-details p{color:#717b87;font-size:14px;line-height:1.6;margin:.5rem 0}.legal-info{margin-top:1rem}.legal-info strong{color:#717b87;font-weight:700}.contact-methods{margin-top:1rem}.contact-methods strong{color:#717b87;font-weight:700}.contact-methods a{color:#1abc9c;text-decoration:none;transition:color .2s}.contact-methods a:hover{color:#16a085}.image-credit{color:#717b87;font-size:13px;margin-top:1.5rem}.impressum-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.impressum-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.footer-links .nav-active,.footer-links a{color:#fff;font-size:12px;text-decoration:none;transition:opacity .2s}.footer-links span{color:#fff9}@media (max-width:979px){.impressum-container,.impressum-footer-content{width:90%}.impressum-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.impressum-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.impressum-nav a,.impressum-nav span{font-size:11px}.impressum-title{font-size:1.5rem}.impressum-details{padding:30px 0}.mondo-logo img{max-width:200px}}@media (max-width:600px){.impressum-details{padding:30px 0}.impressum-nav{gap:.5rem}.impressum-nav a,.impressum-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.agbs-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.agbs-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.agbs-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.agbs-header-wrapper{background:#fff}.agbs-header{justify-content:space-between;padding:2rem 0}.agbs-header,.agbs-nav{align-items:center;display:flex}.agbs-nav{gap:2rem}.agbs-nav a,.agbs-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.agbs-nav a:hover{color:#4b4950}.agbs-nav .nav-active{color:#4b4950;font-weight:700}.agbs-content{padding:45px 0;text-align:left}.agbs-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.agbs-text{margin:0 auto;max-width:800px;padding:0 1rem}.agbs-text section{margin-bottom:2rem}.agbs-text h2{color:#4b4950;font-family:Lato,sans-serif;font-size:1.2rem;font-weight:700;margin:1.5rem 0 1rem}.agbs-text p{color:#717b87;font-size:14px;line-height:1.8;margin:.75rem 0;text-align:justify}.agbs-text ol,.agbs-text ul{margin:1rem 0 1rem 2rem;padding:0}.agbs-text li{color:#717b87;font-size:14px;line-height:1.8;margin:.5rem 0}.agbs-text strong{color:#4b4950;font-weight:700}.agbs-footer-note{border-top:1px solid #717b8733;margin-top:3rem;padding-top:2rem;text-align:center}.agbs-footer-note p{text-align:center}.agbs-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.agbs-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.attribution{color:#fffc;font-size:12px;font-style:italic;margin:0}.footer-links a,.footer-links span{transition:opacity .2s}.footer-links .nav-active{font-weight:700;opacity:1}.footer-links>span:not(.nav-active){color:#fff9}@media (max-width:979px){.agbs-container,.agbs-footer-content{width:90%}.agbs-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.agbs-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.agbs-nav a,.agbs-nav span{font-size:11px}.agbs-title{font-size:1.5rem}.agbs-content{padding:30px 0}.agbs-text{padding:0 .5rem}.mondo-logo img{max-width:200px}}@media (max-width:600px){.agbs-title{font-size:1.25rem;letter-spacing:-.02em}.agbs-text h2{font-size:1rem}.agbs-text li,.agbs-text p{font-size:13px;text-align:left}.agbs-nav{gap:.5rem}.agbs-nav a,.agbs-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a,.footer-links span{font-size:10px}}.datenschutz-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.datenschutz-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.datenschutz-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.datenschutz-header-wrapper{background:#fff}.datenschutz-header{align-items:center;display:flex;justify-content:space-between;padding:2rem 0}.mondo-logo img{height:auto;max-width:250px}.datenschutz-nav{align-items:center;display:flex;gap:2rem}.datenschutz-nav a,.datenschutz-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.datenschutz-nav a:hover{color:#4b4950}.datenschutz-nav .nav-active{color:#4b4950;font-weight:700}.datenschutz-breadcrumb{background:#f8f9fa;border-bottom:1px solid #e0e0e0;margin:0;padding:1rem 0}.datenschutz-breadcrumb a{color:#1abc9c;font-size:14px;text-decoration:none}.datenschutz-breadcrumb a:hover{color:#16a085}.datenschutz-breadcrumb .delimiter{color:#717b87;margin:0 .5rem}.datenschutz-breadcrumb .current{color:#717b87;font-size:14px}.datenschutz-content{padding:2rem 0 4rem}.datenschutz-main-title{color:#4b4950;font-family:Lato,sans-serif;font-size:2rem;font-weight:300;letter-spacing:-.019em;margin:2rem 0;text-align:left;text-transform:uppercase}.datenschutz-legal-content{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;line-height:1.7;padding:3rem}.datenschutz-legal-content h2{border-top:1px solid #e0e0e0;color:#4b4950;font-family:Lato,sans-serif;font-size:1.5rem;font-weight:300;letter-spacing:-.027em;margin:2rem 0 1rem;padding-top:1rem;text-transform:uppercase}.datenschutz-legal-content h2:first-of-type{border-top:none;margin-top:0;padding-top:0}.datenschutz-legal-content p{color:#717b87;font-size:14px;line-height:1.7;margin:1rem 0}.datenschutz-legal-content ul{list-style-type:disc;margin:1rem 0;padding-left:2rem}.datenschutz-legal-content li{color:#717b87;font-size:14px;line-height:1.7;margin:.5rem 0}.datenschutz-legal-content a{color:#1abc9c;text-decoration:none;transition:color .2s;word-break:break-word}.datenschutz-legal-content a:hover{color:#16a085;text-decoration:underline}.datenschutz-legal-content .attribution{border-top:1px solid #e0e0e0;color:#717b87;font-size:12px;font-style:italic;margin-top:2rem;padding-top:1rem}.datenschutz-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.datenschutz-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.social-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.social-links a{align-items:center;background:#fff3;border-radius:50%;color:#fff;display:inline-flex;height:40px;justify-content:center;text-decoration:none;transition:background .2s,transform .2s;width:40px}.social-links a:hover{background:#ffffff4d;transform:scale(1.1)}.social-icon{fill:currentColor;height:20px;width:20px}.footer-text{margin-bottom:1rem}.copyright{color:#fff;font-size:14px;margin:0 0 .5rem}.copyright,.copyright br{line-height:1.8}.attribution-footer{color:#fffc;font-size:12px;font-style:italic;margin:0}.footer-links{border-top:1px solid #fff3;margin-top:1rem;padding-top:1rem}.footer-links a,.footer-links span{color:#fff;font-size:12px;text-decoration:none}.footer-links a{transition:opacity .2s}.footer-links a:hover{opacity:.8}.footer-links .current-page{color:#fff;font-weight:700;opacity:.9}.footer-links>span{color:#fff9}@media (max-width:979px){.datenschutz-container,.datenschutz-footer-content{width:90%}.datenschutz-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.datenschutz-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.datenschutz-nav a,.datenschutz-nav span{font-size:11px}.datenschutz-main-title{font-size:1.5rem}.datenschutz-legal-content{padding:2rem 1.5rem}.datenschutz-legal-content h2{font-size:1.25rem}.mondo-logo img{max-width:200px}}@media (max-width:600px){.datenschutz-legal-content{padding:1.5rem 1rem}.datenschutz-nav{gap:.5rem}.datenschutz-nav a,.datenschutz-nav span{font-size:10px}.datenschutz-main-title{font-size:1.25rem}.datenschutz-legal-content h2{font-size:1.1rem}.datenschutz-legal-content li,.datenschutz-legal-content p{font-size:13px}.social-links{gap:1rem}.footer-links,.footer-links a,.footer-links span{font-size:10px}}.schedule-container{margin:0 auto;max-width:1400px;padding:var(--space-10) var(--space-xl) var(--space-xl) var(--space-xl)}.schedule-header{margin-bottom:var(--space-15);margin-top:0;text-align:center}.schedule-header h1{color:var(--color-primary);font-size:2rem;margin-bottom:0;margin-top:0}.schedule-controls-sticky{margin-bottom:var(--space-xl)}.schedule-controls{background:var(--color-white);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-15)}.button-group{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--space-sm);justify-content:center}.button-group button{font-size:var(--font-13);padding:var(--space-10) var(--space-lg);white-space:nowrap}.day-selector{border-top:1px solid var(--border-color-light);display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;padding-top:var(--space-sm)}h2,h3{color:var(--text-primary);font-weight:var(--font-weight-semibold);text-align:center}.header-container{align-items:center;display:flex;gap:var(--space-10);justify-content:center;margin-bottom:var(--space-xl)}.header-container h2{margin:0}.day-selector{background:var(--color-white);border-radius:12px;box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-15)}.day-selector button{background:var(--bg-secondary);border:2px solid #0000;box-shadow:none;color:var(--text-primary);font-size:var(--font-base);font-weight:var(--font-weight-medium);min-width:100px;padding:var(--space-10) var(--space-15)}.day-selector button:hover{background:var(--bg-tertiary);color:var(--color-primary);transform:none}.day-selector button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);transform:none}.search-student,.student-count{align-items:center;background-color:var(--color-white);border:1px solid var(--border-color-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;height:60px;justify-content:center;margin:0;margin-bottom:var(--space-10);width:250px}button{background-color:var(--color-primary);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-base);color:var(--color-white);font-size:var(--font-base);font-weight:var(--font-weight-medium);padding:var(--space-md) var(--space-xl);transition:all .3s ease}button:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}button:active{transform:translateY(0)}button.active{background-color:var(--color-primary-dark);box-shadow:0 0 0 3px var(--color-primary-light)}button:disabled{color:var(--text-secondary);opacity:.6}button:disabled,button:disabled:hover{background-color:var(--border-color-dark);box-shadow:none;transform:none}.hour-label{color:var(--text-secondary);font-weight:700}.hour-cell{display:flex;flex-direction:column;gap:var(--space-6)}.hour-cell .hour-label{align-self:flex-start;color:var(--text-secondary);font-size:var(--font-13);font-weight:700;padding-left:var(--space-xs)}.hour-cell .droppable-cell{margin:0}.form-container{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:0 auto;max-width:600px;padding:var(--space-xl)}.form-heading{background-color:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-white);font-size:20px;margin-bottom:var(--space-xl);padding:var(--space-10) var(--space-xl);text-align:center;transition:background-color .3s ease}.toggle-switch{gap:var(--space-10);margin-top:var(--space-10)}.toggle-switch input[type=checkbox]{border-radius:40px;height:30px;width:40px}.toggle-switch input[type=checkbox]:before{height:10px;transform:translateX(1px);width:10px}.toggle-switch input[type=checkbox]:checked:before{transform:translateX(10px)}.toggle-label{font-weight:700}.form-field{margin-bottom:var(--space-xl)}.form-field label{color:var(--text-secondary);font-weight:700;margin-bottom:5px}.form-field input{background-color:var(--color-white);border:1px solid var(--border-color-dark);border-radius:var(--radius-md);font-size:var(--font-base);padding:var(--space-10);transition:border-color .3s ease;width:100%}.form-field input:focus{border-color:var(--color-primary);outline:none}.form-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-white);cursor:pointer;font-size:var(--font-lg);padding:var(--space-10) var(--space-15);transition:background-color .3s ease;width:100%}.form-button:hover{background-color:var(--color-primary-dark)}.schedule-grid{grid-gap:var(--space-10);display:grid;gap:var(--space-10);grid-template-columns:repeat(6,1fr);overflow:visible!important;padding:var(--space-xl)}.schedule-column,.schedule-row{background-color:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-base);overflow:visible!important}.schedule-column h2{background-color:var(--color-primary);color:var(--color-white);margin:0;text-align:center}.schedule-column h2,.schedule-row{padding:var(--space-10)}.schedule-row div{background-color:var(--bg-hover);border-radius:var(--radius-sm);font-size:var(--font-sm);margin:var(--space-xs) 0;padding:var(--space-sm);transition:transform .2s ease}.schedule-row div:hover{background-color:var(--color-gray-200);transform:scale(1.02)}.week-view-header{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:60px repeat(6,1fr);margin-bottom:var(--space-10);padding:0 var(--space-15)}.week-view-day-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);font-weight:var(--font-weight-semibold);padding:var(--space-sm);text-align:center}.week-view-day-header,.week-view-day-header h2{color:var(--color-white);font-size:var(--font-xs)}.week-view-day-header h2{margin:0}.week-view-grid{overflow:visible!important;padding:0 var(--space-15) var(--space-15) var(--space-15)}.week-view-hour-row{grid-gap:var(--space-sm);align-items:stretch;display:grid;gap:var(--space-sm);grid-template-columns:60px repeat(6,1fr);margin-bottom:var(--space-sm);overflow:visible!important}.week-view-hour-label{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);justify-content:center;padding:var(--space-6)}.week-view-day-cell{min-height:50px;overflow:visible!important}.week-view-empty-cell{background:var(--color-gray-50);border:1px dashed var(--border-color);border-radius:var(--radius-md);min-height:50px}.week-view-layout-toggle{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-10);padding:var(--space-xl)}.layout-toggle-btn{background:var(--color-white);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);color:var(--text-secondary);cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-2xl);transition:all .2s ease}.layout-toggle-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-1px)}.layout-toggle-btn.active{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-white)}.layout-toggle-btn.active:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.week-view-accordion{padding:0 var(--space-xl) var(--space-xl) var(--space-xl)}.day-accordion-section{background:var(--color-white);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-md);overflow:visible;transition:all .3s ease}.day-accordion-section:hover{box-shadow:var(--shadow-lg)}.day-accordion-header{align-items:center;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);border-bottom:1px solid #0000;cursor:pointer;display:flex;gap:var(--space-15);padding:var(--space-lg) var(--space-xl);transition:all .2s ease;-webkit-user-select:none;user-select:none}.day-accordion-header:hover{background:linear-gradient(135deg,var(--bg-tertiary) 0,var(--color-gray-200) 100%)}.day-accordion-header.expanded{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-bottom:1px solid #fff3;color:var(--color-white)}.day-accordion-header.collapsed.dragging-over:hover{background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary) 100%);border:2px solid var(--color-primary);box-shadow:var(--shadow-lg);transform:scale(1.02)}.day-accordion-header .expand-icon{color:var(--color-primary);font-size:var(--font-lg);transition:transform .2s ease}.day-accordion-header.expanded .expand-icon{color:var(--color-white)}.day-accordion-header .day-title{color:var(--text-primary);flex:0 0 auto;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);margin:0}.day-accordion-header.expanded .day-title{color:var(--color-white)}.day-accordion-header .day-summary{color:var(--text-secondary);flex:1 1 auto;font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.day-accordion-header.expanded .day-summary{color:#ffffffe6}.day-accordion-content{animation:slideDown .3s ease-out;background:var(--color-gray-50);border-top:1px solid var(--bg-tertiary);padding:var(--space-xl)}.day-coaches-info{background:var(--color-white);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:var(--font-13);margin-bottom:var(--space-15);padding:var(--space-md) var(--space-lg)}.day-coaches-info strong{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.day-hour-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:var(--space-md) 0}@media (min-width:1400px){.day-hour-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px) and (max-width:1399px){.day-hour-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:899px){.day-hour-grid{grid-template-columns:1fr}}.day-hour-row{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.day-hour-row .hour-label{align-items:center;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:var(--radius-6);box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;flex-shrink:0;font-size:var(--font-14);font-weight:var(--font-weight-semibold);justify-content:center;padding:var(--space-sm) var(--space-md)}.day-hour-row .hour-cell{display:flex;flex:1 1;flex-direction:column;min-height:100px;min-width:250px;overflow:visible!important}.day-hour-row .hour-cell .droppable-cell{flex:1 1;min-height:100px}.coach-schedule-dynamic{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box;max-width:100%;overflow-x:visible;padding:var(--space-xl)}.coach-header,.coach-hour-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);margin-bottom:var(--space-md)}.coach-col-header{background:linear-gradient(135deg,var(--color-coach-header-start) 0,var(--color-coach-header-end) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-white);font-size:var(--font-md);font-weight:var(--font-weight-semibold);padding:var(--space-md);text-align:center}.hour-slot-group{align-items:stretch;display:flex;gap:var(--space-sm)}.hour-slot-group .droppable-cell{box-sizing:border-box;flex:1 1;margin:0;min-height:50px;padding:var(--space-10)}.hour-slot-group>.hour-cell{flex:1 1}.available-coaches-section{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);margin:var(--space-15) var(--space-xl);padding:var(--space-15) var(--space-xl)}.available-coaches-section h3{color:var(--color-primary);font-size:1.1rem;font-weight:var(--font-weight-semibold);margin:0 0 var(--space-md) 0}.available-coaches-list{display:flex;flex-wrap:wrap;gap:var(--space-10);justify-content:center}.available-coach-item{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--radius-6);color:var(--color-primary);font-size:var(--font-base);font-weight:var(--font-weight-medium);padding:var(--space-6) var(--space-md);text-align:center}.week-coach-group-display{margin-bottom:var(--space-xs)}.week-coach-group-display:last-child{margin-bottom:0}.week-coach-header{background-color:var(--color-primary-light);border-left:2px solid var(--color-primary);border-radius:2px;color:var(--color-primary);font-size:9px;font-weight:var(--font-weight-semibold);margin-bottom:1px;padding:1px var(--space-xs)}.week-coach-students-display{display:flex;flex-direction:column;gap:1px}.droppable-cell{background-color:var(--color-gray-50);border:1px dashed var(--border-color-light);border-radius:var(--radius-sm);box-sizing:border-box;margin:1px;min-height:25px;overflow:visible!important;padding:var(--space-xs);transition:var(--transition-all)}.droppable-cell:hover{background-color:#f0f7ff;border-color:var(--color-primary)}.droppable-cell.cell-warning,.inconsistent-cell{background-color:var(--color-warning)}.droppable-cell.cell-warning{border:2px solid var(--color-danger)}.droppable-cell.cell-warning:hover:after{background-color:#ff6b00;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-white);content:"⚠️ Level/Gruppen";font-size:var(--font-xs);font-weight:var(--font-weight-bold);left:auto;opacity:0;opacity:1;padding:var(--space-xs) var(--space-sm);pointer-events:none;position:absolute;right:var(--space-xs);top:var(--space-xs);transform:none;transition:opacity var(--transition-base);white-space:nowrap;z-index:var(--z-index-dropdown)}.droppable-cell.cell-unavailable{background-color:var(--bg-disabled);background-image:repeating-linear-gradient(45deg,#0000,#0000 var(--space-10),#c8c8c84d var(--space-10),#c8c8c84d 20px);border-color:var(--border-color-dark);cursor:not-allowed;opacity:.5;position:relative}.droppable-cell.cell-unavailable:hover{background-color:var(--bg-disabled);border-color:var(--color-gray-500)}.droppable-cell.cell-unavailable:before{content:"🚫";font-size:24px;left:50%;opacity:.3;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.draggable-student{cursor:move;position:relative}.student-tooltip{background-color:#000000e6;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-white);font-size:var(--font-13);opacity:0;padding:var(--space-10) var(--space-15);pointer-events:none;position:absolute;transition:opacity var(--transition-base),transform var(--transition-base);white-space:nowrap;z-index:99999}.student-tooltip.tooltip-right{left:100%;transform:translateX(var(--space-sm))}.student-tooltip.tooltip-left{right:100%;transform:translateX(calc(var(--space-sm)*-1))}.student-tooltip.tooltip-bottom{top:0}.student-tooltip.tooltip-top{bottom:0}.draggable-student:hover .student-tooltip{opacity:1}.student-tooltip-name{border-bottom:1px solid #ffffff4d;font-size:var(--font-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-6);padding-bottom:var(--space-xs)}.student-tooltip-detail{align-items:center;display:flex;gap:var(--space-6);margin-top:var(--space-xs)}.student-tooltip-label{color:var(--text-tertiary);font-size:var(--font-xs);letter-spacing:.5px;text-transform:uppercase}.student-tooltip-value{font-weight:var(--font-weight-medium)}.multi-assignment-badge{background-color:var(--color-warning);border-radius:var(--radius-full);color:var(--color-white);display:inline-block;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);margin-left:var(--space-6);padding:2px var(--space-6);vertical-align:middle}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.student-grid{grid-gap:var(--space-10);display:grid;grid-template-columns:repeat(3,1fr)}.search-student{border:1px solid var(--border-color-dark);border-radius:var(--radius-md);margin-bottom:var(--space-10);padding:var(--space-10);text-align:center;width:20%}.student-name{flex-grow:1;font-size:var(--font-lg);font-weight:var(--font-weight-bold)}.delete-button{background-color:var(--color-danger);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-10);transition:background-color var(--transition-slow)}.student-grid{display:flex;flex-wrap:wrap;gap:var(--space-10);list-style:none;margin:0;padding:0}.student-item{flex:1 1 calc(50% - var(--space-10));justify-content:center}.student-button{background-color:var(--color-gray-50);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;padding:var(--space-10);text-align:center;transition:background-color var(--transition-base);width:100%}.student-button:hover{background-color:var(--color-primary);color:var(--color-white)}.add-student-dialog{background-color:var(--color-white);border:1px solid var(--border-color-dark);border-radius:var(--space-xl);box-shadow:var(--shadow-lg);max-width:90%;padding:var(--space-xl);width:400px;z-index:1001}.add-student-dialog input[type=text]{transition:border-color .3s ease,box-shadow .3s ease}.add-student-dialog input[type=text]:focus{box-shadow:0 0 5px #0078d780}.add-student-dialog ul{background-color:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-md);list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0}.add-student-dialog ul li{background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);color:var(--text-primary);cursor:pointer;padding:var(--space-10);transition:background-color .2s ease}.add-student-dialog ul li:hover{background-color:var(--bg-hover);color:var(--color-primary)}.add-student-dialog input[type=text]{background-color:var(--color-gray-50);border:1px solid var(--border-color-dark);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);margin-bottom:var(--space-xl);padding:var(--space-10);width:100%}.add-student-dialog input[type=text]:focus{border-color:var(--color-primary);outline:none}.dialog-buttons{justify-content:space-between}.dialog-buttons button{font-size:var(--font-base);padding:var(--space-10);width:48%}.confirmation-dialog{max-width:500px;width:90%}.confirmation-dialog h3{color:var(--color-primary);font-size:1.3rem;margin:0 0 var(--space-15) 0}.confirmation-dialog p{font-size:var(--font-base);margin:0 0 var(--space-10) 0}.existing-assignments{background-color:var(--color-gray-50);border-radius:var(--radius-6);list-style:none;margin:var(--space-15) 0;padding:0;padding:var(--space-md)}.existing-assignments li{background-color:var(--color-white);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-13);margin-bottom:var(--space-6);padding:var(--space-sm) var(--space-md)}.existing-assignments li:last-child{margin-bottom:0}.confirmation-dialog .dialog-buttons{display:flex;gap:var(--space-10);margin-top:var(--space-xl)}.confirmation-dialog .dialog-buttons button{border:none;border-radius:var(--radius-6);cursor:pointer;flex:1 1;font-size:var(--font-base);font-weight:var(--font-weight-medium);padding:var(--space-md);transition:all .2s ease}.btn-move{background-color:#ff9800;color:var(--color-white)}.btn-move:hover{background-color:#e68900;transform:translateY(-1px)}.btn-add{background-color:#4caf50;color:var(--color-white)}.btn-add:hover{background-color:#45a049;transform:translateY(-1px)}.btn-cancel{background-color:var(--border-color-dark)}.btn-cancel:hover{background-color:var(--color-gray-400);transform:translateY(-1px)}.manage-student-dialog{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-height:80vh;max-width:500px;overflow-y:auto;padding:var(--space-2xl);width:90%}.manage-student-dialog h3{color:var(--color-primary);font-size:1.4rem;margin:0 0 var(--space-10) 0}.manage-student-dialog .student-name{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--space-xl) 0}.assignments-list{margin-bottom:var(--space-xl)}.assignments-list h4{color:var(--text-secondary);font-size:1rem;margin:0 0 var(--space-md) 0}.assignment-item{align-items:center;background-color:var(--color-gray-50);border-left:3px solid var(--color-primary);border-radius:var(--radius-6);display:flex;justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-md)}.assignment-item:last-child{margin-bottom:0}.assignment-details{color:var(--text-primary);font-size:var(--font-base)}.btn-remove-single{background-color:#f44;border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-13);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.btn-remove-single:hover{background-color:#c00;transform:translateY(-1px)}.btn-remove-all{background-color:var(--color-danger);border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-2xl);transition:all .2s ease}.btn-remove-all:hover{background-color:var(--color-danger-dark);transform:translateY(-1px)}.no-assignments{color:var(--text-secondary);padding:var(--space-xl)}.generating-overlay{background-color:#000000b3;height:100vh;width:100vw;z-index:var(--z-index-max)}.generating-message{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-5xl) var(--space-4xl);text-align:center}.generating-message h2{color:var(--color-primary);font-size:1.5rem;margin:var(--space-xl) 0 var(--space-10) 0}.generating-message p{color:var(--text-secondary);font-size:1rem;margin:0}.spinner{border:5px solid #f3f3f3;border-top:5px solid var(--color-primary);margin:0 auto}.available-times-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:var(--z-index-modal)}.available-times-dialog{background:var(--color-white);border-radius:var(--space-xl);box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;padding:var(--space-xl)}@media (max-width:768px){.schedule-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}button{font-size:var(--font-sm);padding:var(--space-sm) var(--space-15)}.available-times-dialog{max-height:80vh;max-width:none;width:100%}}@media (max-width:900px){.week-view-header,.week-view-hour-row{gap:var(--space-sm);grid-template-columns:60px repeat(6,1fr)}.week-view-hour-label{font-size:var(--font-sm);padding:var(--space-6)}.week-view-day-header h2{font-size:var(--font-base)}}@media (max-width:720px){.week-view-header,.week-view-hour-row{gap:var(--space-6);grid-template-columns:1fr}.week-view-day-cell{min-height:60px}.week-view-accordion{padding:var(--space-0) var(--space-10) var(--space-10) var(--space-10)}.day-accordion-header{gap:var(--space-10);padding:var(--space-md) var(--space-15)}.day-accordion-header .day-title{font-size:var(--font-lg)}.day-accordion-header .day-summary{font-size:var(--font-sm)}.day-accordion-content{padding:var(--space-15)}.day-hour-row{gap:var(--space-sm);grid-template-columns:60px 1fr}.day-hour-row .hour-label{font-size:var(--font-xs);padding:var(--space-sm) var(--space-6)}.coach-header,.coach-hour-row{grid-template-columns:1fr!important}.hour-slot-group{flex-direction:column;gap:var(--space-6)}.hour-slot-group .droppable-cell{min-height:48px;padding:var(--space-sm)}}.modal-overlay{background-color:var(--modal-overlay-bg);z-index:var(--modal-z-index)}.modal-content{background:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);max-width:500px;padding:30px;width:90%}.modal-content h2{color:var(--color-dark);margin-top:0}.modal-content .form-field,.modal-content h2{margin-bottom:var(--spacing-lg)}.modal-content .form-field label{color:var(--color-gray-dark);display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.modal-content .form-field input,.modal-content .form-field textarea{border:var(--border-light);border-radius:var(--border-radius-sm);font-family:inherit;font-size:14px;padding:10px;width:100%}.modal-content .form-field textarea{resize:vertical}.plan-preview{background-color:var(--color-bg-secondary);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);padding:15px}.plan-preview strong{color:var(--color-dark);display:block;margin-bottom:var(--spacing-xs)}.preview-stats{display:flex;flex-wrap:wrap;gap:15px}.preview-stats span{color:var(--color-gray-medium);font-size:14px}.modal-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:14px;padding:10px 20px;transition:var(--transition-standard)}.btn-secondary{background-color:var(--color-gray-light);color:var(--color-dark)}.btn-secondary:hover{background-color:var(--color-gray-border)}.student-form-container{box-sizing:border-box;display:flex;flex-direction:column;margin:-1rem;min-height:calc(100vh - 1rem);overflow-y:auto;padding:var(--space-10);width:calc(100% + 2rem)}.quick-nav-tabs{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:10px;margin-bottom:20px;padding:10px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.quick-nav-tab{background:#fff;border:2px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;text-align:center;transition:all .2s ease}.quick-nav-tab:hover{background:#667eea;border-color:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff;transform:translateY(-1px)}.quick-nav-tab:active{transform:translateY(0)}.student-form-header{flex-shrink:0;margin-bottom:var(--space-5)}.student-form-header h1{font-size:1.8rem;margin:0}.student-form-content{display:flex;flex:1 1;gap:var(--space-15);height:100%;min-height:0;overflow:visible;width:100%}.student-list-card{border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex:1 1;flex-direction:column;min-height:800px;overflow:visible;padding:var(--space-md)}.student-form-content.has-selection .student-list-card{flex:0 0 50%}.student-list-card h2{flex-shrink:0;font-size:1.2rem;margin:0 0 var(--space-sm) 0;padding-bottom:var(--space-6)}.search-box{flex-shrink:0;margin-bottom:var(--space-6);padding:var(--space-sm) var(--space-md);transition:all .3s ease}.student-list{grid-gap:var(--space-xs);align-content:start;display:grid;flex:1 1;gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));min-height:500px;overflow-x:hidden;overflow-y:visible}.student-item{background:#f8f9fa;border-radius:var(--radius-6);font-size:var(--font-base);min-width:0;overflow:hidden;padding:var(--space-6) var(--space-10);transition:all .2s ease}.student-item:hover{background:#e3e9f0}.student-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-button{flex-shrink:0;font-size:var(--font-xs);margin-left:var(--space-sm);padding:var(--space-xs) var(--space-sm);transition:all .3s ease}.delete-button:hover{background:#c82333}.edit-form-card{border-radius:12px;flex:1 1;min-height:0;overflow-y:auto}.btn-primary,.btn-secondary,.edit-form-card{box-shadow:var(--shadow-sm)}.btn-secondary{background:#6c757d;transition:all .3s ease}.btn-secondary:hover{background:#5a6268}.pagination{align-items:center;background:#f8f9fa;border-radius:var(--radius-lg);display:flex;flex-shrink:0;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md);padding:var(--space-md)}.pagination-btn{background:var(--color-primary);border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-lg);transition:all .2s ease;white-space:nowrap}.pagination-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.pagination-btn:disabled{background:var(--border-color-dark);color:#888;cursor:not-allowed;transform:none}.pagination-numbers{align-items:center;display:flex;gap:var(--space-xs)}.pagination-number{align-items:center;background:var(--color-white);border:2px solid var(--border-color-light);border-radius:var(--radius-6);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-base);font-weight:var(--font-weight-medium);height:36px;justify-content:center;min-width:36px;padding:0;transition:all .2s ease}.pagination-number:hover{background:#e3f2fd;border-color:var(--color-primary);color:var(--color-primary)}.pagination-number.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);font-weight:var(--font-weight-semibold)}.pagination-ellipsis{color:var(--text-secondary);font-weight:var(--font-weight-bold);padding:0 var(--space-sm);-webkit-user-select:none;user-select:none}.filter-toolbar{background:var(--color-bg-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.filter-header,.filter-toolbar{margin-bottom:var(--spacing-md)}.filter-header{align-items:center;border-bottom:var(--border-width-md) solid var(--color-border);display:flex;justify-content:space-between;padding-bottom:var(--spacing-xs)}.filter-header h3{color:var(--color-text-primary);font-size:var(--font-size-base);margin:0}.reset-filters-btn{background:var(--color-bg-secondary);border:var(--border-width-md) solid #0000;border-radius:var(--border-radius-sm);box-shadow:none;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:100px;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.reset-filters-btn:hover{background:var(--color-bg-hover);color:var(--color-primary)}.reset-filters-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.reset-filters-btn.active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.filter-grid{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xs)}.filter-item{display:flex;flex-direction:column}.filter-item label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xxs)}.filter-item select{background-color:var(--color-bg-primary);border:var(--border-width-md) solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xxs) var(--spacing-xs);transition:all .2s ease}.filter-item select:hover{border-color:var(--color-border-hover)}.filter-item select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d71a;outline:none}.filter-results{align-items:center;border-top:var(--border-width-sm) solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs);padding-top:var(--spacing-xs)}.result-count{font-weight:var(--font-weight-medium)}.age-group-counts,.result-count{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.age-group-counts{gap:var(--spacing-xs)}.age-group-counts,.count-item{align-items:center;display:flex}.count-item{gap:var(--spacing-xxs)}.count-separator{color:var(--color-border-hover);font-weight:var(--font-weight-bold)}@media (max-width:768px){.filter-grid{grid-template-columns:1fr}.filter-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.reset-filters-btn{width:100%}}.login-history-modal-backdrop{align-items:center;background:var(--modal-overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--modal-z-index)}.login-history-modal{animation:modalSlideIn .2s ease-out;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-history-modal-header{border-bottom:var(--border-light);padding:var(--spacing-xl);position:relative}.login-history-modal-header h2{color:var(--color-dark);font-size:var(--font-size-xl);margin:0 0 var(--spacing-sm) 0}.login-history-user-name{color:var(--color-gray-medium);font-size:1rem;font-weight:var(--font-weight-medium);margin:0}.close-button{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--color-gray-medium);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:32px;justify-content:center;position:absolute;right:var(--spacing-lg);top:var(--spacing-lg);transition:var(--transition-standard);width:32px}.close-button:hover{background:var(--color-bg-secondary);color:var(--color-dark)}.login-history-modal-content{flex:1 1;overflow-y:auto;padding:0}.empty-state,.loading-state{color:var(--color-gray-medium);padding:var(--spacing-xl);text-align:center}.empty-state p{color:var(--color-gray-dark);font-size:1.1rem;margin-bottom:var(--spacing-xs)}.empty-state .hint{color:var(--color-gray-medium);font-size:var(--font-size-sm)}.history-table-container{display:flex;flex-direction:column;height:100%}.history-table{border-collapse:collapse;flex:1 1;width:100%}.history-table thead{background:var(--color-bg-secondary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.history-table th{border-bottom:var(--border-standard);color:var(--color-gray-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-lg);text-align:left;text-transform:uppercase}.history-table th:first-child{text-align:center;width:60px}.history-table tbody tr{border-bottom:var(--border-light);transition:background-color .2s}.history-table tbody tr:hover{background:var(--color-bg-secondary)}.history-table tbody tr:last-child{border-bottom:none}.history-table td{color:var(--color-gray-dark);padding:var(--spacing-md) var(--spacing-lg)}.session-number{color:var(--color-gray-medium);font-size:var(--font-size-sm);text-align:center}.session-number,.session-time{font-weight:var(--font-weight-medium)}.session-time{color:var(--color-dark)}.session-device{color:var(--color-gray-medium);font-size:var(--font-size-sm)}.history-footer{background:var(--color-bg-secondary);border-top:var(--border-light);padding:var(--spacing-md) var(--spacing-lg);text-align:center}.history-footer p{color:var(--color-gray-medium);font-size:var(--font-size-sm);margin:0}@media (max-width:768px){.login-history-modal{border-radius:0;max-height:100vh;max-width:100%}.login-history-modal-backdrop{padding:0}.login-history-modal-header h2{font-size:1.25rem}.history-table td,.history-table th{font-size:.85rem;padding:10px 12px}.history-table th:first-child,.session-number{display:none}}.users-container{margin:0 auto;max-width:1400px;padding:var(--space-xl)}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-xl)}.users-header h1{color:var(--text-primary);margin:0}.btn-create{background-color:var(--color-success);border-radius:var(--radius-6);color:var(--color-white);font-size:var(--font-base);font-weight:var(--font-weight-semibold);padding:var(--space-10) var(--space-xl);transition:var(--transition-base)}.btn-create:hover{background-color:var(--color-success-dark)}.users-table-container{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background-color:var(--color-gray-100);border-bottom:2px solid var(--border-color)}.users-table th{color:var(--text-secondary);font-weight:var(--font-weight-semibold);text-align:left}.users-table td,.users-table th{font-size:var(--font-base);padding:var(--space-md) var(--space-lg)}.users-table td{border-bottom:1px solid var(--color-gray-200)}.users-table tbody tr:hover{background-color:var(--color-gray-50)}.user-inactive{background-color:var(--color-gray-100);opacity:.6}.role-badge{border-radius:var(--radius-xl);display:inline-block;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);padding:var(--space-xs) var(--space-md);text-transform:uppercase}.role-admin{background-color:var(--color-danger)}.role-admin,.role-coach{color:var(--color-white)}.role-coach{background-color:var(--color-primary)}.role-student{background-color:var(--color-success);color:var(--color-white)}.status-badge{border:none!important;font-size:inherit!important;font-weight:400!important;padding:0!important}.status-active,.status-badge,.status-inactive,.status-pending{background:none!important;color:#333!important}.btn-activate-small,.btn-deactivate-small,.btn-edit-small{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-weight-medium);margin-right:var(--space-sm);padding:var(--space-6) var(--space-md);transition:var(--transition-all)}.btn-edit-small{background-color:var(--color-primary)}.btn-edit-small:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-edit-small:disabled{background-color:var(--color-gray-400);cursor:not-allowed}.btn-deactivate-small{background-color:var(--color-warning);color:var(--color-white)}.btn-deactivate-small:hover{background-color:var(--color-warning-dark)}.btn-activate-small{background-color:var(--color-success);color:var(--color-white)}.btn-activate-small:hover{background-color:var(--color-success-dark)}.user-dialog{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;overflow-y:auto;padding:var(--space-2xl);width:90%}.user-dialog h2{color:var(--text-primary);margin:0 0 var(--space-xl) 0}.form-group{margin-bottom:var(--space-lg)}.form-group label{color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-6)}.form-group input,.form-group select{border:1px solid var(--border-color);border-radius:var(--radius-6);box-sizing:border-box;font-size:var(--font-base);padding:var(--space-10);width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--border-color-focus);outline:none}.form-row{grid-gap:var(--space-md);gap:var(--space-md)}.dialog-buttons{margin-top:var(--space-2xl)}.btn-cancel,.btn-save{border-radius:var(--radius-6);font-size:var(--font-base);font-weight:var(--font-weight-semibold);padding:var(--space-10) var(--space-2xl);transition:var(--transition-base)}.btn-cancel{background-color:var(--color-gray-100);color:var(--text-secondary)}.btn-cancel:hover{background-color:var(--color-gray-300)}.loading{color:var(--text-tertiary);font-size:var(--font-lg);padding:var(--space-4xl)}.section-divider{background:linear-gradient(to right,var(--color-gray-200),var(--color-gray-400),var(--color-gray-200));height:2px;margin:var(--space-4xl) 0}.student-new-container{padding:20px}.student-new-header{margin-bottom:30px}.student-new-header h1{color:#0078d7;margin-bottom:10px}.student-new-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.form-section-title{border-bottom:2px solid #e0e0e0;color:#0078d7;font-weight:600;margin-bottom:20px;padding-bottom:10px}.form-grid{grid-gap:20px;gap:20px}.form-field,.form-grid{margin-bottom:20px}.form-field label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0078d7}.toggle-switch{gap:12px;margin-bottom:8px}.toggle-switch input[type=checkbox]{background-color:#ccc;transition:background-color .3s ease}.toggle-switch input[type=checkbox]:checked{background-color:#0078d7}.toggle-switch input[type=checkbox]:before{background-color:#fff;transition:transform .3s ease}.toggle-label{color:#666;font-size:14px;font-weight:500}.form-actions{border-top:2px solid #e0e0e0;gap:12px;margin-top:30px;padding-top:20px}.btn-primary{background:#0078d7;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:16px;font-weight:600;transition:all .3s ease}.btn-primary:hover{background:#005a9e;box-shadow:0 4px 12px #0003}.available-times-btn{background:#28a745;border-radius:8px;color:#fff;font-size:14px;font-weight:600;margin-top:8px;padding:12px;transition:all .3s ease}.available-times-btn:hover{background:#218838}.available-times-display{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#666;margin-top:8px;padding:12px}.student-new-container{margin:0 auto;max-width:800px;padding:var(--spacing-lg)}.student-new-header{margin-bottom:var(--spacing-xl);text-align:center}.student-new-header h1{color:var(--color-primary);font-size:2.5rem;margin-bottom:var(--spacing-xs)}.student-new-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.form-section-title{border-bottom:2px solid var(--color-border);color:var(--color-primary);font-size:1.2rem;font-weight:var(--font-weight-semi-bold);padding-bottom:var(--spacing-xs)}.form-grid,.form-section-title{margin-bottom:var(--spacing-lg)}.form-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.form-field{margin-bottom:var(--spacing-lg)}.form-field.full-width{grid-column:1/-1}.form-field label{color:var(--color-text-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semi-bold);margin-bottom:var(--spacing-xs)}.form-field input,.form-field select,.form-field textarea{border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:var(--spacing-sm) 16px;transition:all var(--transition-normal)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{box-shadow:0 0 0 3px var(--color-primary-light-alpha)}.toggle-switch{gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.toggle-switch input[type=checkbox]{background-color:var(--color-toggle-off);transition:background-color var(--transition-normal)}.toggle-switch input[type=checkbox]:before{box-shadow:var(--shadow-xs);transition:transform var(--transition-normal)}.toggle-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-actions{border-top:2px solid var(--color-border);gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.btn-primary{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);font-size:var(--font-size-base);font-weight:var(--font-weight-semi-bold);padding:14px 28px;transition:all var(--transition-normal)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.available-times-btn{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semi-bold);transition:all var(--transition-normal)}.available-times-btn,.available-times-display{margin-top:var(--spacing-xs);padding:var(--spacing-sm)}.available-times-display{background:var(--color-bg-lighter);border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-text-secondary);font-size:13px;max-height:100px;overflow-y:auto}.student-form-container{margin:0 auto;max-width:var(--max-width-content);padding:var(--space-xl)}.student-form-header{margin-bottom:var(--space-3xl);text-align:center}.student-form-header h1{color:var(--color-primary);font-size:2.5rem;margin-bottom:var(--space-10)}.student-form-content{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:1fr 1fr;margin-bottom:var(--space-xl)}@media (max-width:1024px){.student-form-content{grid-template-columns:1fr}}.student-list-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);padding:var(--space-xl)}.student-list-card h2{border-bottom:2px solid var(--color-primary);color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--space-15);padding-bottom:var(--space-10)}.search-box{border:2px solid var(--border-color-light);border-radius:var(--radius-lg);box-sizing:border-box;font-size:var(--font-base);margin-bottom:var(--space-15);padding:var(--space-md) var(--space-lg);transition:var(--transition-slow);width:100%}.search-box:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d71a;outline:none}.student-list{max-height:600px;overflow-y:auto}.student-item{align-items:center;background:var(--color-gray-50);border-radius:var(--radius-lg);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:var(--transition-base)}.student-item:hover{background:var(--color-gray-200);transform:translateX(4px)}.student-item.selected{background:#e3f2fd;border-left:4px solid var(--color-primary)}.student-name{color:var(--text-primary);flex:1 1;font-weight:var(--font-weight-medium)}.delete-button{background:var(--color-danger);border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-sm);padding:var(--space-xs) var(--space-md);transition:var(--transition-slow)}.delete-button:hover{background:var(--color-danger-dark);transform:scale(1.05)}.edit-form-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);padding:var(--space-xl)}.edit-form-card h2{border-bottom:2px solid var(--color-primary);color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--space-15);padding-bottom:var(--space-10)}.form-section{margin-bottom:var(--space-xl)}.form-field{margin-bottom:var(--space-lg)}.form-field label{color:var(--text-primary);display:block;font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-6)}.form-field input,.form-field select,.form-field textarea{border:2px solid var(--border-color-light);border-radius:var(--radius-lg);box-sizing:border-box;font-family:inherit;font-size:var(--font-base);padding:var(--space-10) var(--space-md);transition:var(--transition-slow);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d71a;outline:none}.toggle-switch{align-items:center;display:flex;gap:var(--space-md)}.toggle-switch input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:var(--border-color-dark);border-radius:26px;cursor:pointer;height:26px;position:relative;transition:var(--transition-slow);width:50px}.toggle-switch input[type=checkbox]:checked{background-color:var(--color-primary)}.toggle-switch input[type=checkbox]:before{background-color:var(--color-white);border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:3px;position:absolute;top:3px;transition:var(--transition-slow);width:20px}.toggle-switch input[type=checkbox]:checked:before{transform:translateX(24px)}.toggle-label{color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--font-weight-medium)}.btn-primary{background:var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);flex:1 1;font-size:var(--font-base)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-secondary{background:var(--color-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);flex:1 1;font-size:var(--font-base)}.btn-secondary:hover{background:var(--color-secondary-dark);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.available-times-btn{background:var(--color-success);border:none;border-radius:var(--radius-lg);color:var(--color-white);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-top:var(--space-sm);padding:var(--space-md);transition:var(--transition-slow);width:100%}.available-times-btn:hover{background:var(--color-success-dark);transform:translateY(-1px)}.saved-schedules-container{margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.saved-schedules-container h1{color:var(--color-dark);margin-bottom:var(--spacing-lg)}.toolbar{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.empty-state{color:var(--color-gray-medium);padding:60px var(--spacing-lg)}.empty-state p{margin:var(--spacing-xs) 0}.schedules-table{background:var(--color-white);border-collapse:collapse;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.schedules-table thead{background-color:var(--color-bg-secondary)}.schedules-table td,.schedules-table th{border-bottom:var(--border-light);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.schedules-table th{color:var(--color-gray-dark);font-weight:var(--font-weight-bold);white-space:nowrap}.schedules-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.schedules-table th.sortable:hover{background-color:var(--color-gray-light)}.schedules-table tbody tr:hover{background-color:var(--color-bg-secondary)}.schedules-table tbody tr:last-child td{border-bottom:none}.text-center{text-align:center!important}.actions-col{white-space:nowrap;width:200px}.btn-small{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:16px;margin:0 2px;padding:6px 10px;transition:var(--transition-standard)}.btn-small:hover{transform:scale(1.1)}.btn-primary{border-radius:var(--border-radius-sm);font-size:14px;padding:10px 20px}.btn-primary:hover{background-color:var(--color-success-dark)}.btn-secondary{border-radius:var(--border-radius-sm);font-size:14px;padding:10px 20px}.btn-secondary:hover{background-color:var(--color-info-dark)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover{background-color:var(--color-error-dark)}.btn-success{color:var(--color-white)}.btn-success:hover{background-color:var(--color-success-dark)}.btn-cancel{background-color:var(--color-gray-dark)}.btn-cancel:hover{background-color:var(--color-gray-darker)}.inline-edit{border:var(--border-light);border-radius:var(--border-radius-sm);font-family:inherit;font-size:14px;padding:6px;width:100%}.inline-edit:focus{border-color:var(--color-success);outline:none}textarea.inline-edit{min-height:40px;resize:vertical}.badge{font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.badge-readonly{background-color:#ffc107;color:#333}.version-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.text-muted{color:#999;font-style:italic}.validation-modal-overlay{align-items:center;background-color:var(--modal-overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--modal-z-index)}.validation-modal{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.validation-header{align-items:center;border-bottom:var(--border-standard);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.validation-header h2{color:var(--color-dark);font-size:var(--font-size-xl);margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--color-gray-medium);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:32px;justify-content:center;padding:0;transition:var(--transition-standard);width:32px}.close-btn:hover{background-color:var(--color-gray-light);color:var(--color-dark)}.validation-content{flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.validation-summary{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.summary-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary-label{color:var(--color-gray-medium);font-size:var(--font-size-sm)}.summary-value{color:var(--color-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.validation-section{border:2px solid;border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-md)}.validation-section h3{font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.section-description{color:var(--color-gray-medium);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.error-section{background:var(--color-error-light);border-color:var(--color-error)}.error-section h3{color:var(--color-error-dark)}.warning-section{background:var(--color-warning-light);border-color:var(--color-warning)}.warning-section h3{color:var(--color-warning-dark)}.success-section{background:var(--color-success-light);border-color:var(--color-success)}.success-section h3{color:var(--color-success-dark)}.issue-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:200px;overflow-y:auto}.issue-item{border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);line-height:1.4;padding:var(--spacing-xs) var(--spacing-sm)}.issue-item.error{border-left:4px solid var(--color-error)}.issue-item.error,.issue-item.warning{background:var(--color-white);color:var(--color-dark)}.issue-item.warning{border-left:4px solid var(--color-warning)}.issue-item.more{background:var(--color-gray-light);border-left:4px solid var(--color-gray-border);color:var(--color-gray-medium);font-style:italic}.issue-item strong{color:var(--color-black);font-weight:var(--font-weight-bold)}.validation-footer{background:var(--color-bg-secondary);border-top:var(--border-standard);padding:var(--spacing-lg) var(--spacing-xl)}.footer-message{border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-md) 0;padding:var(--spacing-sm);text-align:center}.footer-message.error{background:var(--color-error-light);border:var(--border-error);color:var(--color-error-dark)}.footer-message.success,.footer-message.warning{background:var(--color-warning-light);border:var(--border-warning);color:var(--color-warning-dark)}.footer-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.cancel-btn,.proceed-btn{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:1rem;font-weight:var(--font-weight-bold);padding:var(--spacing-sm) var(--spacing-xl);transition:var(--transition-standard)}.cancel-btn{background:var(--color-white);border:2px solid var(--color-gray-border);color:var(--color-gray-medium)}.cancel-btn:hover{background:var(--color-gray-light);border-color:var(--color-gray-dark)}.proceed-btn{background:var(--color-primary);color:var(--color-white)}.proceed-btn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:768px){.validation-modal{max-height:95vh;width:95%}.validation-summary{flex-direction:column;gap:12px}.footer-buttons{flex-direction:column-reverse}.cancel-btn,.proceed-btn{width:100%}}.export-container{margin:0 auto;max-width:900px;padding:var(--spacing-md)}.export-container h1{color:var(--color-primary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);text-align:center}.export-section{background-color:var(--color-bg-primary);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);transition:transform .2s ease,box-shadow .2s ease}.export-section:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.export-section h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-lg);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);margin-top:0}.export-section p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.export-button{border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding:var(--spacing-sm) var(--spacing-md);transition:background-color .3s ease,transform .1s ease;width:100%}.export-button:hover{transform:scale(1.02)}.export-button:active{transform:scale(.98)}.pdf-button{background-color:var(--color-error)}.pdf-button:hover{background-color:var(--color-error-dark)}.csv-button{background-color:var(--color-success)}.csv-button:hover{background-color:var(--color-success-dark)}.blank-button{background-color:var(--color-danger)}.blank-button:hover{background-color:var(--color-danger-dark)}.import-button{background-color:var(--color-primary);margin-top:var(--spacing-sm)}.import-button:hover{background-color:var(--color-primary-dark)}.csv-preview{background:var(--color-bg-secondary);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.csv-preview h3{color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm);margin-top:0}.export-info{color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:center}.export-info small{font-size:var(--font-size-sm)}@media (max-width:768px){.export-container{padding:var(--spacing-xs)}.export-section{padding:var(--spacing-sm)}.export-button{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}}.form-preview-modal{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:3000}.preview-content{background:#fff;border-radius:12px;box-shadow:0 10px 50px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.preview-header{align-items:center;background:linear-gradient(135deg,#2d5016,#3d6820);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.preview-header h2{font-size:22px;font-weight:600;margin:0 0 4px}.preview-subtitle{font-size:14px;font-weight:400;margin:0;opacity:.9}.preview-body{flex:1 1;overflow-y:auto;padding:24px}.preview-info-box{background:#e7f5ff;border:2px solid #b3d9ff;border-radius:8px;margin-bottom:24px;padding:16px}.preview-info-box h4{color:#06c;font-size:15px;font-weight:600;margin:0 0 8px}.preview-info-box p{color:#049;font-size:14px;line-height:1.6;margin:0}.preview-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:32px;padding:20px}.preview-section-title{align-items:center;border-bottom:2px solid #dee2e6;color:#2d5016;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px;padding-bottom:12px}.section-note{color:#6c757d;font-size:13px;font-weight:400;margin-left:auto}.preview-fields{display:flex;flex-direction:column;gap:16px}.preview-field{background:#fff;border:2px solid #dee2e6;border-radius:6px;padding:16px;transition:all .2s}.preview-field:hover{border-color:#2d5016;box-shadow:0 2px 8px #2d50161a}.field-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.field-icon{flex-shrink:0;font-size:20px}.field-label{color:#333;flex:1 1;font-size:15px;font-weight:600}.required-star{color:#dc3545;font-weight:700}.required-badge{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.field-type{color:#6c757d;font-size:12px;font-style:italic;margin-bottom:8px}.field-description{color:#495057;font-size:13px;line-height:1.5;margin-bottom:10px}.field-options{background:#f8f9fa;border-left:3px solid #2d5016;border-radius:4px;margin-top:10px;padding:12px}.field-options strong{color:#2d5016;display:block;font-size:13px;margin-bottom:6px}.field-options ul{list-style-type:disc;margin:6px 0 0;padding-left:20px}.field-options li{color:#495057;font-size:13px;line-height:1.4;margin-bottom:4px}.option-text{color:#495057;font-size:13px;font-style:italic;margin:6px 0 0}.preview-empty{padding:40px 20px;text-align:center}.preview-empty p{color:#856404;font-size:15px;margin:0 0 8px}.empty-hint{color:#6c757d;font-size:13px}.preview-summary{background:#d1ecf1;border:2px solid #bee5eb;border-radius:8px;margin-top:24px;padding:16px}.preview-summary h4{color:#0c5460;font-size:15px;font-weight:600;margin:0 0 12px}.preview-summary ul{list-style-type:none;margin:0;padding-left:20px}.preview-summary li{color:#0c5460;font-size:14px;margin-bottom:8px;padding-left:10px;position:relative}.preview-summary li:before{color:#28a745;content:"✓";font-weight:700;left:-10px;position:absolute}.preview-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;justify-content:center;padding:16px 24px}.btn-close-preview{background:linear-gradient(135deg,#2d5016,#3d6820);border:none;border-radius:6px;box-shadow:0 4px 12px #2d50164d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-close-preview:hover{box-shadow:0 6px 16px #2d501666;transform:translateY(-2px)}.btn-close-preview:active{transform:translateY(0)}@media (max-width:768px){.form-preview-modal{align-items:stretch;padding:0}.preview-content{border-radius:0;max-height:100vh;max-width:none}.preview-header{align-items:flex-start;border-radius:0;flex-direction:column;gap:8px}.preview-body,.preview-section{padding:16px}.field-header{align-items:flex-start;flex-direction:column}.required-badge{align-self:flex-start}.preview-summary ul{padding-left:16px}.preview-footer{border-radius:0}.btn-close-preview{width:100%}}.create-period-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:2000}.modal-content{box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-width:700px}.modal-header{background:linear-gradient(135deg,#2d5016,#3d6820);border-radius:12px 12px 0 0;color:#fff;padding:20px 24px}.modal-header h2{font-size:20px;font-weight:600}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.error-banner{border-radius:6px;padding:12px 16px}.form-group{margin-bottom:20px}.form-row{grid-gap:16px;gap:16px}.form-group label{color:#333;margin-bottom:8px}.required{color:#dc3545}.form-input,.form-select{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#2d5016;outline:none}.field-hint{color:#999;font-size:12px;font-style:italic;margin:6px 0 0}.checkbox-label{align-items:flex-start;gap:10px;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{flex-shrink:0;height:18px;margin-top:2px;width:18px}.checkbox-label span{color:#333;font-size:14px;font-weight:500}.info-box{background:#e7f5ff;border:1px solid #b3d9ff;border-radius:8px;margin-top:24px;padding:16px}.info-box h4{color:#06c;font-size:14px;font-weight:600;margin:0 0 8px}.info-box p{color:#049;font-size:13px;line-height:1.5;margin:0}.modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:16px 24px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 12px #28a7454d;color:#fff}.btn-submit:hover{box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-toggle-advanced{align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;text-align:left;transition:all .2s;width:100%}.btn-toggle-advanced:hover{background:#e9ecef;border-color:#adb5bd}.form-config-sections{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;margin-top:20px;padding:20px}.config-section{margin-bottom:24px}.config-section:last-child{margin-bottom:0}.config-section-title{border-bottom:2px solid #dee2e6;color:#2d5016;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.config-fields{display:flex;flex-direction:column;gap:12px}.config-field-row{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.config-field-row:hover{border-color:#2d5016;box-shadow:0 2px 6px #2d50161a}.config-field-label{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:10px;-webkit-user-select:none;user-select:none}.config-field-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.config-field-label span{color:#333;font-size:14px;font-weight:500}.config-required-label{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:4px 12px;transition:opacity .2s;-webkit-user-select:none;user-select:none}.config-required-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.config-required-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.config-required-label span{color:#856404;font-size:12px;font-weight:600}.config-required-label:has(input:disabled){background:#f8f9fa;border-color:#dee2e6;cursor:not-allowed;opacity:.5}.config-required-label:has(input:disabled) span{color:#6c757d}.preview-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px}.btn-preview{background:linear-gradient(135deg,#06c,#0080ff);border:none;border-radius:6px;box-shadow:0 4px 12px #0066cc4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-preview:hover{box-shadow:0 6px 16px #06c6;transform:translateY(-2px)}.btn-preview:active{transform:translateY(0)}@media (max-width:768px){.create-period-modal{align-items:stretch;padding:0}.modal-content{max-height:100vh;max-width:none}.modal-content,.modal-header{border-radius:0}.form-row{grid-template-columns:1fr}.modal-footer{border-radius:0;flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}.config-field-row{align-items:flex-start;flex-direction:column;gap:10px}.config-required-label{align-self:flex-end}.preview-buttons{flex-direction:column}.btn-preview{width:100%}}.step-intro{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #4caf50;border-radius:8px;margin-bottom:24px;padding:16px 20px}.step-intro h3{color:#2d5016;font-size:18px;margin:0 0 8px}.step-intro p{color:#555;font-size:14px;line-height:1.5;margin:0}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{align-items:flex-start;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s ease}.radio-option:hover{background:#f9f9f9;border-color:#4caf50}.radio-option input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin-top:4px;width:18px}.radio-option input[type=radio]:checked+.radio-content{color:#2d5016}.radio-option input[type=radio]:checked{accent-color:#4caf50}.radio-option:has(input:checked){background:#e8f5e9;border-color:#4caf50}.radio-content{flex:1 1}.radio-content strong{color:#333;display:block;font-size:15px;margin-bottom:4px}.radio-content p{color:#666;font-size:13px;line-height:1.4;margin:0}.form-textarea{border:1px solid #d0d0d0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.field-hint.warning{color:#ff9800;font-weight:500}.modal-header h2{align-items:center;display:flex;gap:8px}.modal-footer{gap:12px}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}.registration-periods{margin:0 auto;max-width:1400px;padding:24px}.btn-create{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 4px 12px #28a7454d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-create:hover{box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.btn-create:active{transform:translateY(0)}.filter-bar{background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.filter-btn{background:#fff;border:2px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{border-color:#2d5016;color:#2d5016}.filter-btn.active{background:#2d5016;border-color:#2d5016;color:#fff}.empty-state p{margin:0 0 20px}.btn-create-empty{background:#2d5016;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:background .2s}.btn-create-empty:hover{background:#3d6820}.periods-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.period-card{background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden;transition:all .2s}.period-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.period-card .card-header{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:20px}.period-card .card-header h3{color:#333;font-size:18px;font-weight:600;margin:0 0 4px}.season-info{color:#666;font-size:14px;margin:0}.status-badges{display:flex;flex-wrap:wrap;gap:8px}.active-badge{background:orange!important}.period-card .card-body{padding:20px}.info-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.info-row:last-child{margin-bottom:0}.info-label{flex-shrink:0;font-size:13px}.info-value{font-size:13px;font-weight:600;text-align:right}.info-value.deadline{color:#dc3545}.card-actions{background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.btn-action{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s}.btn-action:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.btn-action.success{background:#28a745}.btn-action.danger{background:#dc3545}.archived-text{color:#999;font-size:13px;font-style:italic;margin:0}@media (max-width:768px){.registration-periods{padding:16px}.page-header{flex-direction:column;gap:16px}.btn-create{width:100%}.filter-bar{flex-wrap:wrap}.periods-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.btn-action{width:100%}}.registration-submissions{margin:0 auto;max-width:1600px;padding:24px}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h2{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.page-subtitle{color:#666;font-size:14px;margin:0}.btn-bulk-process{background:linear-gradient(135deg,orange,#ff8c00);border:none;border-radius:8px;box-shadow:0 4px 12px #ffa5004d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-bulk-process:hover{box-shadow:0 6px 16px #ffa50066;transform:translateY(-2px)}.btn-bulk-process:disabled{cursor:not-allowed;opacity:.6;transform:none}.controls-bar{background:#f8f9fa;border-radius:8px;display:flex;gap:20px;margin-bottom:24px;padding:16px}.period-selector{align-items:center;display:flex;flex:1 1;gap:12px}.period-selector label{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.filters{display:flex;gap:12px}.control-select{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color .2s}.control-select:focus{border-color:#2d5016;outline:none}.empty-state{background:#f8f9fa;padding:60px 20px}.empty-state p{color:#666;font-size:16px;margin:0}.loading-text{color:#666;font-size:16px;margin:40px 0;text-align:center}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:14px;margin-bottom:20px;padding:16px}.submissions-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.submissions-table{border-collapse:collapse;width:100%}.submissions-table thead{background:#f8f9fa;border-bottom:2px solid #ddd}.submissions-table th{color:#555;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.submissions-table tbody tr{border-bottom:1px solid #e9ecef;transition:background .2s}.submissions-table tbody tr:hover{background:#f8f9fa}.submissions-table td{color:#333;font-size:14px;padding:14px 16px;vertical-align:middle}.name-cell{display:flex;flex-direction:column;gap:4px}.name-cell strong{color:#333;font-weight:600}.email-subtext{color:#999;font-size:12px}.type-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.type-badge.kids{background:#17a2b8}.type-badge.adults{background:#6f42c1}.status-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.action-buttons{display:flex;flex-wrap:wrap;gap:6px}.btn-process,.btn-reject,.btn-view{border:none;border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.btn-view{background:#6c757d;color:#fff}.btn-view:hover{background:#5a6268}.btn-process{background:#28a745;color:#fff}.btn-process:hover{background:#218838}.btn-reject{background:#dc3545;color:#fff}.btn-reject:hover{background:#c82333}.detail-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:2000}.detail-modal .modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.detail-modal .modal-header{align-items:center;background:linear-gradient(135deg,#2d5016,#3d6820);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.detail-modal .modal-header h2{font-size:20px;font-weight:600;margin:0}.btn-close{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;transition:background .2s;width:32px}.btn-close:hover{background:#ffffff4d}.detail-modal .modal-body{flex:1 1;overflow-y:auto;padding:24px}.detail-section{border-bottom:1px solid #e9ecef;margin-bottom:24px;padding-bottom:20px}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-section h3{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-grid div{color:#555;font-size:14px;line-height:1.6}.detail-grid strong{color:#333;font-weight:600}.times-list{margin-top:16px}.times-list strong{color:#333;display:block;font-size:14px;margin-bottom:12px}.times-grid{display:flex;flex-wrap:wrap;gap:8px}.time-badge{background:#e9ecef;border:1px solid #ddd;font-size:12px;font-weight:500;padding:6px 12px}.remarks-text,.time-badge{border-radius:6px;color:#555}.remarks-text{background:#f8f9fa;font-size:14px;line-height:1.6;margin:0;padding:12px;white-space:pre-wrap}.detail-modal .modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:16px 24px}.btn-close-modal{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-close-modal:hover{background:#5a6268}@media (max-width:1200px){.submissions-table-container{font-size:13px}.submissions-table td,.submissions-table th{padding:10px 12px}.action-buttons{flex-direction:column}.btn-process,.btn-reject,.btn-view{width:100%}}@media (max-width:768px){.registration-submissions{padding:16px}.page-header{flex-direction:column;gap:16px}.btn-bulk-process{width:100%}.controls-bar,.filters{flex-direction:column}.control-select{width:100%}.submissions-table{font-size:12px}.submissions-table thead{display:none}.submissions-table tr{border:1px solid #ddd;border-radius:8px;display:block;margin-bottom:16px;overflow:hidden}.submissions-table td{border-bottom:1px solid #e9ecef;display:block;padding:10px 12px}.submissions-table td:last-child{border-bottom:none}.submissions-table td:before{color:#666;content:attr(data-label);display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.detail-grid{grid-template-columns:1fr}.times-grid{flex-direction:column}.time-badge{width:100%}}.settings-container{background-color:var(--bg-lighter);box-sizing:border-box;margin:-1rem;min-height:calc(100vh - 2rem);padding:var(--spacing-m);width:calc(100% + 2rem)}.settings-header{margin-bottom:var(--spacing-lg);text-align:center}.settings-header h1{color:var(--primary-blue);font-size:var(--font-size-xxxl);margin-bottom:var(--spacing-xs)}.settings-description{color:var(--text-light);font-size:var(--font-size-lg)}.settings-content{margin:0 auto;max-width:1200px}.settings-section{background:var(--bg-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-m);padding:var(--spacing-lg)}.settings-section h2{border-bottom:var(--border-primary);color:var(--text-dark);font-size:var(--font-size-xxl);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-sm)}.section-description{color:var(--text-light);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.settings-card{background:var(--bg-light);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-m);padding:var(--spacing-m)}.settings-card h3{color:var(--text-dark);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.card-description{color:var(--text-light);font-size:var(--font-size-sm);margin-bottom:var(--spacing-m)}.setting-row{align-items:center;border-bottom:var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;flex:1 1;flex-direction:column}.setting-info label{color:var(--text-dark);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.setting-hint{color:var(--text-muted);font-size:var(--font-size-xs)}.setting-row input[type=number]{border:var(--border-light);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);padding:var(--spacing-xs) var(--spacing-sm);text-align:center;transition:all .2s ease;width:80px}.setting-row input[type=number]:focus{border-color:var(--primary-blue);box-shadow:var(--shadow-focus);outline:none}.capacity-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.capacity-item{align-items:center;background:var(--bg-white);border:var(--border-light);border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm)}.capacity-item label{color:var(--text-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.capacity-item input[type=number]{border:var(--border-light);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);padding:var(--spacing-xxs) var(--spacing-xs);text-align:center;transition:all .2s ease;width:60px}.capacity-item input[type=number]:focus{border-color:var(--primary-blue);box-shadow:var(--shadow-focus-sm);outline:none}.settings-actions{display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-lg)}.save-button{background-color:var(--primary-blue);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.save-button:hover{background-color:var(--primary-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.save-button:disabled{background-color:var(--bg-disabled);box-shadow:none;cursor:not-allowed;transform:none}.navigation-button{background-color:var(--success-green);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);max-width:400px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease;width:100%}.navigation-button:hover{background-color:var(--success-green-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:768px){.settings-container{padding:var(--spacing-sm)}.settings-header h1{font-size:var(--font-size-xxl)}.settings-section{padding:var(--spacing-m)}.settings-section h2{font-size:var(--font-size-xl)}.setting-row{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.setting-row input[type=number]{width:100%}.capacity-grid{grid-template-columns:1fr}}.login-activity-container{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.login-activity-header{margin-bottom:var(--spacing-xl)}.login-activity-header h1{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm)}.login-activity-description{color:var(--text-muted);font-size:var(--font-size-base);margin:0}.login-activity-actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-lg)}.refresh-button{align-items:center;background:var(--color-primary);border:none;border-radius:var(--border-radius-md);color:var(--color-white);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.refresh-button:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.refresh-button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.no-users-message{background:var(--color-light-bg);border:var(--border-light);border-radius:var(--border-radius-lg);color:var(--text-muted);padding:var(--spacing-2xl);text-align:center}.no-users-message p{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.no-users-message .hint{color:var(--text-muted);font-size:var(--font-size-sm)}.activity-table-container{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.activity-table{border-collapse:collapse;width:100%}.activity-table thead{background:var(--color-light-bg)}.activity-table th{border-bottom:var(--border-thick-light);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-lg);text-align:left;text-transform:uppercase}.activity-table tbody tr{border-bottom:var(--border-light);transition:background-color var(--transition-fast)}.activity-table tbody tr:hover{background:var(--color-light-bg)}.activity-table tbody tr:last-child{border-bottom:none}.activity-table td{color:var(--text-secondary);padding:var(--spacing-md) var(--spacing-lg)}.status-indicator{align-items:center;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.status-indicator,.user-name{font-weight:var(--font-weight-medium)}.user-name{color:var(--text-primary);font-size:var(--font-size-base)}.activity-time{color:var(--text-muted);font-size:var(--font-size-sm)}.history-button{align-items:center;background:var(--color-secondary);border:none;border-radius:var(--border-radius-sm);color:var(--color-white);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:4px;padding:6px 12px;transition:all var(--transition-fast)}.history-button:hover{background:var(--color-secondary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.activity-summary{align-items:center;background:var(--color-light-bg);border-top:var(--border-light);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-lg)}.activity-summary p{color:var(--text-secondary);font-weight:var(--font-weight-medium);margin:0}.legend{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.legend-item{color:var(--text-muted);font-size:var(--font-size-sm)}.legend-item span{font-weight:var(--font-weight-medium)}@media (max-width:768px){.login-activity-container{padding:var(--spacing-md)}.login-activity-header h1{font-size:var(--font-size-xl)}.activity-table td,.activity-table th{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.activity-summary{align-items:flex-start;flex-direction:column}.legend{flex-direction:column;gap:var(--spacing-sm)}}.coach-dashboard{margin:0 auto;max-width:1600px;padding:var(--spacing-lg)}.dashboard-header{align-items:flex-start;border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.dashboard-header h1{margin:0 0 var(--spacing-xs) 0}.welcome-text{color:var(--color-text-secondary)}.header-actions{display:flex;gap:var(--spacing-sm)}.btn-edit-availability{background-color:var(--color-primary);border:none;border-radius:var(--radius-xs);color:var(--color-white);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semi-bold);padding:var(--spacing-xs) var(--spacing-lg);transition:background-color var(--transition-fast)}.btn-edit-availability:hover{background-color:var(--color-primary-dark)}.edit-actions{gap:var(--spacing-xs)}.btn-save{border:none;border-radius:var(--radius-xs);color:var(--color-white);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semi-bold);padding:var(--spacing-xs) var(--spacing-lg);transition:background-color var(--transition-fast)}.btn-save:hover{background-color:var(--color-success-dark)}.btn-cancel{background-color:var(--color-danger);border:none;border-radius:var(--radius-xs);color:var(--color-white);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semi-bold);padding:var(--spacing-xs) var(--spacing-lg);transition:background-color var(--transition-fast)}.btn-cancel:hover{background-color:var(--color-danger-dark)}.edit-mode-notice{background-color:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-xs);color:var(--color-warning-dark);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg)}.schedule-container{background:var(--color-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);overflow-x:auto}.schedule-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.schedule-table thead{background-color:var(--color-bg-light);position:-webkit-sticky;position:sticky;top:0;z-index:10}.schedule-table th{border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:var(--font-weight-semi-bold);text-align:center}.schedule-table th,.time-cell{padding:var(--spacing-sm) var(--spacing-xs)}.time-cell{background-color:var(--color-bg-lighter)}.schedule-cell{border:1px solid var(--color-border);height:80px;min-width:120px;padding:var(--spacing-xs);position:relative;vertical-align:top}.schedule-cell.available{background-color:var(--color-success-light)}.schedule-cell.unavailable{background-color:var(--color-bg-lighter)}.schedule-cell.has-students{background-color:var(--color-primary-light);border-color:var(--color-primary);border-width:2px}.schedule-cell.editable{cursor:pointer;transition:all var(--transition-fast)}.schedule-cell.editable:hover{opacity:.8;transform:scale(1.02)}.students-list{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.student-item{background-color:var(--color-white);border:1px solid var(--color-primary-light);border-radius:var(--radius-xxs);font-size:12px;padding:var(--spacing-xxs) var(--spacing-xs)}.unavailable-text{color:var(--color-text-light);font-size:18px;line-height:60px;text-align:center}.dashboard-info{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-card{background:var(--color-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.info-card h3{color:var(--color-text-dark);font-size:18px;margin:0 0 var(--spacing-md) 0}.info-item,.stat-item{border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.info-item:last-child,.stat-item:last-child{border-bottom:none}.info-label,.stat-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.stat-value{color:var(--color-primary);font-size:18px;font-weight:var(--font-weight-bold)}.info-value{font-weight:var(--font-weight-medium)}.loading{color:var(--color-text-light)}.error{color:var(--color-danger)}:root{--color-text-dark:#333;--color-text-medium:#555;--color-text-light:#666;--color-text-muted:#999;--color-bg-light:#f9f9f9;--color-bg-lighter:#f5f5f5;--color-border:#ddd;--color-primary-blue:#2196f3;--color-primary-blue-dark:#1976d2;--color-success-green:#4caf50;--color-success-green-dark:#45a049;--color-error-red:#f44336;--color-error-red-dark:#d32f2f;--color-warning-yellow:#ffc107;--color-warning-yellow-bg:#fff3cd;--color-gradient-purple-1:#667eea;--color-gradient-purple-2:#764ba2;--color-availability-assigned:#c8e6c9;--color-availability-assigned-text:#2e7d32;--color-availability-available:#fff9c4;--color-availability-available-text:#f57f17;--color-availability-unavailable:#fafafa;--color-availability-unavailable-text:#999;--color-warning-text:#856404;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px;--spacing-2xl:20px;--spacing-3xl:40px;--border-radius-sm:6px;--border-radius-md:8px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-weight-normal:500;--font-weight-semi-bold:600;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 12px #667eea4d;--transition-fast:0.2s;--max-width-container:1400px}.student-dashboard{margin:0 auto;max-width:1400px;max-width:var(--max-width-container)}.dashboard-header,.student-dashboard{padding:20px;padding:var(--spacing-2xl)}.dashboard-header{background:#fff;background:var(--color-white);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-sm);margin-bottom:20px;margin-bottom:var(--spacing-2xl)}.dashboard-header h1{color:#333;color:var(--color-text-dark);margin:0 0 8px;margin:0 0 var(--spacing-md) 0}.welcome-text{color:#666;color:var(--color-text-light);font-size:16px;font-size:var(--font-size-base);margin:0}.assignments-section,.availability-section,.contact-section,.info-section{background:#fff;background:var(--color-white);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-sm);margin-bottom:20px;margin-bottom:var(--spacing-2xl);padding:20px;padding:var(--spacing-2xl)}.assignments-section h2,.availability-section h2,.contact-section h2,.info-section h2{color:#333;color:var(--color-text-dark);margin:0 0 16px;margin:0 0 var(--spacing-xl) 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-xl)}.assignments-grid{grid-gap:16px;grid-gap:var(--spacing-xl);display:grid;gap:16px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.assignment-card{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--color-gradient-purple-1) 0,var(--color-gradient-purple-2) 100%);border-radius:8px;border-radius:var(--border-radius-md);box-shadow:0 4px 12px #667eea4d;box-shadow:var(--shadow-md);color:#fff;color:var(--color-white);padding:16px;padding:var(--spacing-xl)}.assignment-time{font-size:18px;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-md)}.assignment-coach{font-size:14px;font-size:var(--font-size-sm);opacity:.9}.no-assignments{background-color:#f9f9f9;background-color:var(--color-bg-light);border-radius:6px;border-radius:var(--border-radius-sm);color:#999;color:var(--color-text-muted);font-size:16px;font-size:var(--font-size-base);padding:40px 20px;padding:var(--spacing-3xl) var(--spacing-2xl);text-align:center}.contact-info{grid-gap:16px;grid-gap:var(--spacing-xl);display:grid;gap:16px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{background-color:#f9f9f9;background-color:var(--color-bg-light);border-radius:6px;border-radius:var(--border-radius-sm);padding:12px;padding:var(--spacing-lg)}.info-label{color:#666;color:var(--color-text-light);display:block;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semi-bold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.info-value{color:#333;color:var(--color-text-dark);display:block;font-size:16px;font-size:var(--font-size-base)}.contact-form{grid-gap:16px;grid-gap:var(--spacing-xl);display:grid;gap:16px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{display:flex;flex-direction:column}.form-group label{color:#555;color:var(--color-text-medium);font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semi-bold);margin-bottom:6px;margin-bottom:var(--spacing-sm)}.form-group input,.form-group textarea{border:1px solid #ddd;border:1px solid var(--color-border);border-radius:6px;border-radius:var(--border-radius-sm);font-size:14px;font-size:var(--font-size-sm);padding:8px;padding:var(--spacing-md)}.form-group input:focus,.form-group textarea:focus{border-color:#2196f3;border-color:var(--color-primary-blue);outline:none}.edit-actions{display:flex;gap:8px;gap:var(--spacing-md)}.btn-cancel-small,.btn-edit-small,.btn-save-small{border:none;border-radius:6px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:14px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semi-bold);padding:8px 16px;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s;transition:all var(--transition-fast)}.btn-edit-small{background-color:#2196f3;background-color:var(--color-primary-blue);color:#fff;color:var(--color-white)}.btn-edit-small:hover{background-color:#1976d2;background-color:var(--color-primary-blue-dark)}.btn-save-small{background-color:#4caf50;background-color:var(--color-success-green);color:#fff;color:var(--color-white)}.btn-save-small:hover{background-color:#45a049;background-color:var(--color-success-green-dark)}.btn-cancel-small{background-color:#f44336;background-color:var(--color-error-red);color:#fff;color:var(--color-white)}.btn-cancel-small:hover{background-color:#d32f2f;background-color:var(--color-error-red-dark)}.edit-mode-notice{background-color:#fff3cd;background-color:var(--color-warning-yellow-bg);border:1px solid #ffc107;border:1px solid var(--color-warning-yellow);border-radius:6px;border-radius:var(--border-radius-sm);color:#856404;color:var(--color-warning-text);font-weight:500;font-weight:var(--font-weight-normal);margin-bottom:16px;margin-bottom:var(--spacing-xl);padding:12px 20px;padding:var(--spacing-lg) var(--spacing-2xl)}.availability-grid{overflow-x:auto}.availability-table{border-collapse:collapse;font-size:14px;font-size:var(--font-size-sm);width:100%}.availability-table thead{background-color:#f5f5f5;background-color:var(--color-bg-lighter)}.availability-table th{color:#555;color:var(--color-text-medium)}.availability-table th,.time-cell{border:1px solid #ddd;border:1px solid var(--color-border);font-weight:600;font-weight:var(--font-weight-semi-bold);padding:8px 6px;padding:var(--spacing-md) var(--spacing-sm);text-align:center}.time-cell{background-color:#f9f9f9;background-color:var(--color-bg-light);white-space:nowrap}.availability-cell{border:1px solid #ddd;border:1px solid var(--color-border);font-size:16px;font-size:var(--font-size-base);padding:8px;padding:var(--spacing-md);text-align:center;transition:all .2s;transition:all var(--transition-fast)}.availability-cell.assigned{background-color:#c8e6c9;background-color:var(--color-availability-assigned);color:#2e7d32;color:var(--color-availability-assigned-text);font-weight:700;font-weight:var(--font-weight-bold)}.availability-cell.available{background-color:#fff9c4;background-color:var(--color-availability-available);color:#f57f17;color:var(--color-availability-available-text)}.availability-cell.unavailable{background-color:#fafafa;background-color:var(--color-availability-unavailable);color:#999;color:var(--color-availability-unavailable-text)}.availability-cell.editable{cursor:pointer}.availability-cell.editable:hover{opacity:.8;transform:scale(1.05)}.info-grid{grid-gap:16px;grid-gap:var(--spacing-xl);display:grid;gap:16px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.loading{color:#999;color:var(--color-text-muted)}.error,.loading{font-size:16px;font-size:var(--font-size-base);padding:40px;padding:var(--spacing-3xl);text-align:center}.error{color:#f44336;color:var(--color-error-red)}.gender-review-container{margin:0 auto;max-width:1400px;padding:var(--space-xl)}.gender-review-header{margin-bottom:var(--space-3xl)}.gender-review-header h2{color:var(--color-gray-800);font-size:var(--font-4xl);margin-bottom:var(--space-10)}.gender-review-header p{color:var(--color-gray-500);font-size:var(--font-lg)}.gender-review-actions{align-items:center;display:flex;gap:var(--space-15);margin-bottom:var(--space-xl)}.btn-primary{background-color:var(--color-success);border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-2xl);transition:var(--transition-slow)}.btn-primary:hover:not(:disabled){background-color:var(--color-success-dark);box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.btn-primary:disabled{background-color:var(--color-gray-400);cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--color-info);border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-lg);font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-2xl);transition:var(--transition-slow)}.btn-secondary:hover:not(:disabled){background-color:var(--color-info-dark);box-shadow:0 4px 8px #17a2b84d;transform:translateY(-2px)}.btn-secondary:disabled{background-color:var(--color-gray-400);cursor:not-allowed}.gender-review-table-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-3xl);overflow-x:auto}.gender-review-table{background-color:var(--color-white);border-collapse:collapse;width:100%}.gender-review-table thead{background-color:var(--color-gray-700);color:var(--color-white)}.gender-review-table th{font-size:var(--font-base);font-weight:var(--font-weight-semibold);letter-spacing:.5px;padding:var(--space-15);text-align:left;text-transform:uppercase}.gender-review-table td{border-bottom:1px solid var(--color-gray-200);padding:var(--space-15)}.student-row{transition:var(--transition-base)}.student-row:hover{background-color:var(--color-gray-50)}.student-row-warning{background-color:var(--color-warning-light);transition:var(--transition-base)}.student-row-warning:hover{background-color:#ffe5a3}.warnings-row{background-color:#fef5e7}.warnings-cell{flex-direction:column;padding:var(--space-10) var(--space-15)}.warning-item,.warnings-cell{display:flex;gap:var(--space-sm)}.warning-item{align-items:center;background-color:var(--color-warning);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--font-13);padding:var(--space-sm) var(--space-md)}.suggested-gender{align-items:center;display:flex;gap:var(--space-10)}.gender-badge{border-radius:var(--radius-full);font-size:var(--font-13);font-weight:var(--font-weight-semibold);padding:var(--space-6) var(--space-md);text-transform:capitalize}.gender-badge.männlich{background-color:var(--color-info);color:var(--color-white)}.gender-badge.weiblich{background-color:#e91e63;color:var(--color-white)}.confidence{color:var(--color-gray-500);font-size:var(--font-sm);font-weight:var(--font-weight-semibold)}.btn-use-suggestion{background-color:var(--color-success);border:none;border-radius:var(--radius-md);color:var(--color-white);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-bold);padding:var(--space-xs) var(--space-10);transition:var(--transition-base)}.btn-use-suggestion:hover{background-color:var(--color-success-dark);transform:scale(1.1)}.no-suggestion{color:var(--color-gray-400);font-size:var(--font-13);font-style:italic}.gender-select{background-color:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-base);padding:var(--space-10);transition:var(--transition-slow);width:100%}.gender-select:focus{border-color:var(--color-info);box-shadow:0 0 0 3px #17a2b81a;outline:none}.gender-select option{padding:var(--space-10)}.btn-save-single{background-color:#9b59b6;border:none;border-radius:var(--radius-6);color:var(--color-white);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-lg);transition:var(--transition-slow);white-space:nowrap}.btn-save-single:hover:not(:disabled){background-color:#8e44ad;box-shadow:0 4px 8px #9b59b64d;transform:translateY(-2px)}.btn-save-single:disabled{background-color:var(--color-gray-400);cursor:not-allowed;transform:none}.gender-review-help{background-color:var(--color-gray-100);border-radius:var(--radius-lg);margin-top:var(--space-3xl);padding:var(--space-5xl)}.gender-review-help h3{color:var(--color-gray-800);font-size:var(--font-xl);margin-bottom:var(--space-15);margin-top:var(--space-xl)}.gender-review-help h3:first-child{margin-top:0}.gender-review-help ul{list-style:none;margin:0;padding:0}.gender-review-help li{color:var(--color-gray-700);font-size:var(--font-base);line-height:var(--line-height-normal);padding:var(--space-sm) 0}.gender-review-help li strong{color:var(--color-gray-800);font-weight:var(--font-weight-semibold)}.gender-review-help p{color:var(--color-gray-700);font-size:var(--font-base);line-height:var(--line-height-normal);margin:var(--space-10) 0}@media (max-width:1200px){.gender-review-table{font-size:var(--font-base)}.gender-review-table td,.gender-review-table th{padding:var(--space-md)}}@media (max-width:768px){.gender-review-container{padding:var(--space-15)}.gender-review-header h2{font-size:var(--font-2xl)}.gender-review-actions{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary{width:100%}.gender-review-table{font-size:var(--font-sm)}.gender-review-table td,.gender-review-table th{padding:var(--space-sm)}.suggested-gender{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}}.modal-content{border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.announcement-modal{max-width:700px}.modal-header{padding:1.5rem 2rem}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group .required{color:#dc2626}.form-group input[type=datetime-local],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.form-group textarea{min-height:120px;resize:vertical}.field-footer{display:flex;font-size:.85rem;justify-content:space-between;margin-top:.25rem}.error-text{color:#dc2626;font-size:.85rem}.char-count,.field-hint{color:#6b7280;font-size:.85rem}.field-hint{display:block;margin-top:.25rem}.form-row{grid-gap:1rem;gap:1rem;grid-template-columns:1fr 1fr}.help-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.help-box strong{color:#1e40af;display:block;margin-bottom:.5rem}.help-box ul{margin:0;padding-left:1.5rem}.help-box li{color:#1e40af;font-size:.9rem;margin-bottom:.25rem}.modal-footer{background:#f9fafb;border-radius:0 0 12px 12px;gap:1rem;padding:1.5rem 2rem}@media (max-width:768px){.modal-overlay{padding:0}.modal-content{border-radius:0;max-height:100vh}.modal-body,.modal-footer,.modal-header{padding-left:1rem;padding-right:1rem}.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.announcements-admin-container{margin:0 auto;max-width:1400px;padding:2rem}.announcements-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.announcements-filters{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.spinner{border-top-color:#3b82f6}.announcements-list{display:flex;flex-direction:column;gap:1rem}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:box-shadow .2s,border-color .2s}.announcement-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.announcement-card.inactive{background:#f9fafb;opacity:.6}.announcement-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.announcement-title-section h3{color:#1f2937;font-size:1.25rem;margin:0 0 .5rem}.announcement-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge-priority{color:#fff}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-expired{background:#fef3c7;color:#92400e}.badge-live{background:#d1fae5;color:#065f46}.announcement-actions{display:flex;gap:.5rem}.announcement-content{background:#f9fafb;border-radius:6px;margin-bottom:1rem;padding:1rem}.announcement-content p{color:#374151;line-height:1.6;margin:0;white-space:pre-wrap}.announcement-footer{border-top:1px solid #e5e7eb;padding-top:1rem}.announcement-metadata{display:flex;flex-wrap:wrap;font-size:.85rem;gap:1.5rem}.metadata-item{display:flex;gap:.5rem}.metadata-label{color:#6b7280;font-weight:500}.metadata-value{color:#1f2937}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 4px #3b82f64d}@media (max-width:768px){.announcements-admin-container{padding:1rem}.announcements-header{gap:1rem}.announcements-filters,.announcements-header{align-items:stretch;flex-direction:column}.filter-stats{margin-left:0}.announcement-card-header{flex-direction:column;gap:1rem}.announcement-metadata{flex-direction:column;gap:.5rem}}.camp-registrations-container,.camps-admin-container{margin:0 auto;max-width:1400px;padding:2rem}.camps-header,.registrations-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-title h1{color:#1f2937;font-size:2rem;margin:0}.header-title .subtitle{color:#6b7280;font-size:.95rem;margin:.5rem 0 0}.camps-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.camps-filters,.filter-group{align-items:center;display:flex}.filter-group{gap:.5rem}.filter-group label{color:#4b5563;font-size:.9rem;font-weight:500}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem .75rem}.filter-group select:focus{border-color:#1abc9c;box-shadow:0 0 0 3px #1abc9c1a;outline:none}.filter-stats{color:#6b7280;font-size:.9rem;font-weight:500;margin-left:auto}.error-message,.loading-spinner{padding:3rem;text-align:center}.spinner{border:4px solid #f3f4f6;border-radius:50%;border-top-color:#1abc9c;height:50px;margin:0 auto 1rem;width:50px}.error-message p{color:#dc2626;margin-bottom:1rem}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#1f2937;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.camps-list{display:flex;flex-direction:column;gap:1rem}.camp-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:box-shadow .2s,border-color .2s}.camp-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.camp-card-header{margin-bottom:1rem}.camp-title-section h3{color:#1f2937;font-size:1.25rem;margin:0 0 .5rem}.camp-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.camp-card-body,.camp-info-grid{margin-bottom:1rem}.camp-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{color:#6b7280;font-size:.85rem;font-weight:500}.info-value{color:#1f2937;font-weight:500}.camp-description{background:#f9fafb;border-radius:6px;margin-top:1rem;padding:1rem}.camp-description p{color:#374151;line-height:1.6;margin:0}.camp-card-footer{border-top:1px solid #e5e7eb;padding-top:1rem}.camp-actions{display:flex;flex-wrap:wrap;gap:.5rem}.badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.badge-status{color:#fff}.badge-draft{background:#6366f1}.badge-open{background:#10b981}.badge-full{background:#f59e0b}.badge-closed{background:#ef4444}.badge-cancelled{background:#6b7280}.badge-completed{background:#1abc9c}.badge-audience{background:#dbeafe;color:#1e40af}.badge-type{background:#f3e8ff;color:#6b21a8}.capacity-info{margin:1rem 0}.capacity-text{font-size:.9rem;margin-bottom:.25rem}.waitlist-text{color:#f59e0b;font-size:.85rem;margin-bottom:.5rem}.capacity-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.capacity-bar-fill{background:linear-gradient(90deg,#1abc9c,#16a085);height:100%;transition:width .3s ease}.modal-overlay{background:#00000080;padding:1rem;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-width:800px}.modal-large{max-width:1200px}.modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.modal-header h2{color:#1f2937;font-size:1.5rem;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.modal-close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end}.camp-modal-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.camp-modal-column h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:.5rem .75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1abc9c;box-shadow:0 0 0 3px #1abc9c1a;outline:none}.form-group-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.required{color:#ef4444}.char-counter{color:#6b7280;font-size:.8rem;margin-top:.25rem;text-align:right}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.schedule-builder{margin-bottom:1rem}.schedule-day{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:.75rem;padding:1rem}.schedule-day-header{align-items:center;color:#1f2937;display:flex;font-weight:500;justify-content:space-between;margin-bottom:.75rem}.schedule-day-fields{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:2fr 1fr auto 1fr;margin-bottom:.5rem}.schedule-day-fields input,.schedule-day-fields select,.schedule-venue-input{border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;padding:.5rem}.schedule-venue-input{width:100%}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:1.5rem;height:28px;transition:background .2s;width:28px}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{background:#fee2e2}.btn{border:none;border-radius:6px;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn:disabled{opacity:.5}.btn-primary{background:#1abc9c;color:#fff}.btn-primary:hover:not(:disabled){background:#16a085;box-shadow:0 2px 4px #1abc9c4d}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-small{font-size:.85rem;padding:.4rem .8rem}.capacity-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.capacity-stats{display:flex;gap:2rem;margin-bottom:1rem}.stat-item{display:flex;gap:.5rem}.stat-label{color:#6b7280;font-weight:500}.stat-value{color:#1f2937;font-weight:700}.registrations-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-weight:500;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.tab-btn:hover{color:#1f2937}.tab-btn.active{border-bottom-color:#1abc9c;color:#1abc9c}.registrations-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.registrations-table{background:#fff;border-collapse:collapse;width:100%}.registrations-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:.85rem;font-weight:600;padding:.75rem;text-align:left;white-space:nowrap}.registrations-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.registrations-table th.sortable:hover{background:#f3f4f6}.registrations-table td{border-bottom:1px solid #e5e7eb;font-size:.85rem;padding:.75rem}.registrations-table tbody tr:hover{background:#f9fafb}.waitlist-position{color:#f59e0b;font-size:.8rem;font-weight:400}.skill-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.skill-beginner{background:#dbeafe;color:#1e40af}.skill-intermediate{background:#fef3c7;color:#92400e}.skill-advanced{background:#d1fae5;color:#065f46}.medical-notes{color:#6b7280;cursor:help;display:inline-block;max-width:150px}@media (max-width:1024px){.camp-modal-grid{grid-template-columns:1fr}}@media (max-width:768px){.camp-registrations-container,.camps-admin-container{padding:1rem}.camps-filters,.camps-header,.registrations-header{align-items:stretch;flex-direction:column}.filter-stats{margin-left:0}.camp-info-grid{grid-template-columns:1fr}.camp-actions{flex-direction:column}.camp-actions .btn{width:100%}.form-group-row,.schedule-day-fields{grid-template-columns:1fr}.capacity-stats{flex-direction:column;gap:.5rem}.registrations-table{font-size:.75rem}.registrations-table td,.registrations-table th{padding:.5rem}}.camp-form-page{margin:0 auto;max-width:1600px;padding:2rem}.breadcrumb{align-items:center;display:flex;font-size:.95rem;gap:.5rem;margin-bottom:1.5rem}.breadcrumb-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.95rem;padding:0;text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:#1d4ed8;text-decoration:underline}.breadcrumb-separator{color:#9ca3af}.breadcrumb-current{color:#6b7280}.page-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}.page-header h1{color:#1f2937;font-size:2rem;margin:0}.camp-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.camp-form-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;padding:2rem}.camp-form-column h3{border-bottom:2px solid #e5e7eb;color:#374151;font-size:1.25rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.form-actions{background:#f9fafb;border-radius:0 0 8px 8px;border-top:2px solid #e5e7eb;bottom:0;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;z-index:10}@media (max-width:1200px){.camp-form-grid{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.camp-form-grid,.camp-form-page,.form-actions{padding:1rem}}.pwa-install-prompt{animation:slideUp .3s ease-out;bottom:var(--spacing-md);left:50%;max-width:600px;position:fixed;transform:translateX(-50%);width:calc(100% - 40px);z-index:9999}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.pwa-install-content{align-items:center;background:linear-gradient(135deg,#2c5282,#3d6da6);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);color:#fff;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.pwa-install-icon{flex-shrink:0;font-size:40px}.pwa-install-text{flex:1 1;min-width:0}.pwa-install-text strong{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xxs)}.pwa-install-text p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;opacity:.9}.pwa-install-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.pwa-install-button{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease;white-space:nowrap}.pwa-install-accept{background-color:#fff;color:#2c5282}.pwa-install-accept:hover{background-color:#f0f0f0;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.pwa-install-dismiss{background-color:initial;border:var(--border-width-md) solid #ffffff80;color:#fff}.pwa-install-dismiss:hover{background-color:#ffffff1a;border-color:#fff}@media (max-width:600px){.pwa-install-prompt{bottom:var(--spacing-sm);width:calc(100% - 20px)}.pwa-install-content{flex-direction:column;padding:var(--spacing-sm);text-align:center}.pwa-install-text strong{font-size:var(--font-size-base)}.pwa-install-text p{font-size:var(--font-size-xs)}.pwa-install-actions{flex-direction:column;width:100%}.pwa-install-button{width:100%}}@media (min-width:601px) and (max-width:900px){.pwa-install-content{padding:var(--spacing-md)}}@media (max-height:500px){.pwa-install-prompt{display:none}}.offline-indicator{left:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease-out;z-index:10000}.offline-indicator.show{transform:translateY(0)}.offline-indicator-content{align-items:center;box-shadow:var(--shadow-md);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xs) var(--spacing-md)}.offline-indicator.offline .offline-indicator-content{background-color:var(--color-danger);color:#fff}.offline-indicator.online .offline-indicator-content{background-color:var(--color-success);color:#fff}.offline-indicator-icon{flex-shrink:0;font-size:20px}.offline-indicator-text{display:flex;flex-direction:column;gap:2px}.offline-indicator-text small{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);opacity:.9}@media (max-width:600px){.offline-indicator-content{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.offline-indicator-icon{font-size:18px}.offline-indicator-text small{font-size:var(--font-size-xxs)}}.offline-indicator.offline .offline-indicator-content{animation:pulse 2s ease-in-out infinite}.update-notification{animation:slideInRight .3s ease-out;max-width:400px;position:fixed;right:var(--spacing-md);top:var(--spacing-md);width:calc(100% - 40px);z-index:9998}.update-notification-content{align-items:center;background:linear-gradient(135deg,#059669,#10b981);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);color:#fff;display:flex;gap:var(--spacing-xs);padding:var(--spacing-md)}.update-notification-icon{animation:rotate 2s linear infinite;flex-shrink:0;font-size:32px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.update-notification-text{flex:1 1;min-width:0}.update-notification-text strong{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xxs)}.update-notification-text p{font-size:var(--font-size-xs);margin:0;opacity:.95}.update-notification-actions{display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.update-notification-button{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xxs) var(--spacing-sm);transition:all .2s ease;white-space:nowrap}.update-accept{background-color:#fff;color:#059669}.update-accept:hover{background-color:#f0f0f0;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.update-dismiss{background-color:initial;border:var(--border-width-sm) solid #ffffff80;color:#fff}.update-dismiss:hover{background-color:#ffffff1a;border-color:#fff}@media (max-width:600px){.update-notification{left:var(--spacing-sm);max-width:none;right:var(--spacing-sm);top:var(--spacing-sm);width:auto}.update-notification-content{flex-direction:column;padding:var(--spacing-sm);text-align:center}.update-notification-icon{font-size:28px}.update-notification-text strong{font-size:var(--font-size-base)}.update-notification-text p{font-size:var(--font-size-xs)}.update-notification-actions,.update-notification-button{width:100%}}@media (min-width:601px) and (max-width:900px){.update-notification{max-width:350px}.update-notification-content{padding:var(--spacing-sm)}}:root{--color-primary:#0078d7;--color-primary-dark:#005a9e;--color-primary-light:#4a9eff;--color-primary-hover:#006cc1;--color-secondary:#6c757d;--color-secondary-dark:#545b62;--color-secondary-light:#868e96;--color-success:#28a745;--color-success-dark:#218838;--color-success-light:#d4edda;--color-danger:#dc3545;--color-danger-dark:#c82333;--color-danger-light:#f8d7da;--color-warning:#ffc107;--color-warning-dark:#e0a800;--color-warning-light:#fff3cd;--color-info:#17a2b8;--color-info-dark:#117a8b;--color-info-light:#d1ecf1;--color-white:#fff;--color-gray-50:#f9f9f9;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#ccc;--color-gray-500:#999;--color-gray-600:#666;--color-gray-700:#444;--color-gray-800:#333;--color-gray-900:#222;--color-black:#000;--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#e8ecf1;--bg-hover:#f0f0f0;--bg-disabled:#e8e8e8;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--text-disabled:#ccc;--text-inverse:#fff;--border-color:#ddd;--border-color-light:#e0e0e0;--border-color-dark:#ccc;--border-color-focus:#0078d7;--shadow-sm:0 1px 3px #0000001a;--shadow-base:0 2px 4px #0000001a;--shadow-md:0 2px 6px #00000026;--shadow-lg:0 4px 12px #0003;--shadow-xl:0 10px 40px #00000040;--color-student-bg:#f0f0f0;--color-student-unavailable:#f8d7da;--color-cell-warning:#ffc107;--color-coach-header-start:#0078d7;--color-coach-header-end:#005a9e;--space-0:0;--space-xs:4px;--space-6:6px;--space-sm:8px;--space-10:10px;--space-md:12px;--space-15:15px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--space-5xl:48px;--radius-none:0;--radius-sm:3px;--radius-md:4px;--radius-6:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:50%;--font-xs:11px;--font-sm:12px;--font-13:13px;--font-base:14px;--font-md:15px;--font-lg:16px;--font-xl:18px;--font-2xl:20px;--font-3xl:24px;--font-4xl:28px;--font-5xl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--z-index-base:1;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--z-index-max:10000;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-all:all 0.2s ease;--breakpoint-mobile:480px;--breakpoint-tablet:720px;--breakpoint-desktop:1024px;--breakpoint-wide:1280px;--max-width-content:1200px;--sidebar-width:250px;--header-height:60px;--input-height:38px;--input-height-sm:32px;--input-height-lg:44px;--input-padding-x:12px;--input-padding-y:8px;--input-border-width:1px;--input-border-radius:var(--radius-md);--button-height:38px;--button-height-sm:32px;--button-height-lg:44px;--button-padding-x:20px;--button-padding-y:10px;--button-border-radius:var(--radius-md)}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-rendering:optimizeLegibility}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-base);line-height:var(--line-height-normal);margin:0;overflow-x:hidden;padding:0}#root,body{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Helvetica,Arial,sans-serif;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--space-md) 0}h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base)}p{line-height:var(--line-height-normal);margin:0 0 var(--space-md) 0}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--color-primary-dark)}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}ol,ul{margin:0 0 var(--space-md) 0;padding-left:var(--space-2xl)}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}li{margin-bottom:var(--space-xs)}code,pre{background-color:var(--color-gray-100);border-radius:var(--radius-sm);font-family:Courier New,Courier,monospace;font-size:.9em;padding:2px 6px}pre{word-wrap:break-word;overflow-x:auto;padding:var(--space-md);white-space:pre-wrap}img{display:block;height:auto;max-width:100%}table{border-collapse:collapse;margin-bottom:var(--space-lg);width:100%}td,th{border-bottom:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);text-align:left}th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:var(--font-weight-semibold)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background-color:var(--bg-secondary)}::-webkit-scrollbar-thumb{background-color:var(--color-gray-400);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-500)}::selection{background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:var(--color-primary);color:#fff}.container{margin:0 auto;max-width:var(--max-width-content)}.container,.container-fluid{padding:0 var(--space-lg);width:100%}.container-narrow{max-width:800px}.container-wide{max-width:1400px}.dashboard{background-color:var(--bg-secondary);display:flex;min-height:100vh}.dashboard-sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-color);flex-shrink:0;padding:var(--space-xl);width:var(--sidebar-width)}.dashboard-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.dashboard-header{align-items:center;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;height:var(--header-height);justify-content:space-between;padding:var(--space-lg) var(--space-2xl)}.dashboard-header h1{color:var(--text-primary);font-size:var(--font-3xl);font-weight:var(--font-weight-semibold);margin:0}.dashboard-header-content{align-items:center;display:flex;gap:var(--space-lg);margin:0 auto;max-width:var(--max-width-content);width:100%}.dashboard-nav{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 var(--space-2xl)}.dashboard-nav-content{display:flex;gap:var(--space-2xl);margin:0 auto;max-width:var(--max-width-content)}.nav-item{border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--space-lg) 0;text-decoration:none;transition:var(--transition-all)}.nav-item.active,.nav-item:hover{color:var(--color-primary)}.nav-item.active{border-bottom-color:var(--color-primary)}.dashboard-content{flex:1 1;margin:0 auto;max-width:var(--max-width-content);padding:var(--space-2xl);width:100%}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-lg) var(--space-xl)}.card-header h2,.card-header h3{color:var(--text-primary);font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin:0}.card-body{padding:var(--space-xl)}.card-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-lg) var(--space-xl)}.grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-gap-sm{gap:var(--space-sm)}.flex-gap-md{gap:var(--space-md)}.flex-gap-lg{gap:var(--space-lg)}.page-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg)}.page-header h1{color:var(--text-primary);font-size:var(--font-4xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-sm) 0}.page-header p{color:var(--text-secondary);font-size:var(--font-md);margin:0}.page-header-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.section{margin-bottom:var(--space-3xl)}.section-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-xl);padding-bottom:var(--space-md)}.section-header h2{color:var(--text-primary);font-size:var(--font-2xl);font-weight:var(--font-weight-semibold);margin:0}.section-content{padding:var(--space-lg) 0}.empty-state{color:var(--text-secondary);padding:var(--space-5xl) var(--space-2xl);text-align:center}.empty-state-icon{font-size:var(--font-5xl);margin-bottom:var(--space-lg);opacity:.5}.empty-state h3{color:var(--text-primary);font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.empty-state p{margin-bottom:var(--space-xl);margin-left:auto;margin-right:auto;max-width:400px}@media (max-width:1024px){.dashboard{flex-direction:column}.dashboard-sidebar{border-bottom:1px solid var(--border-color);border-right:none;width:100%}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.container,.container-fluid{padding:0 var(--space-md)}.dashboard-content,.dashboard-header,.dashboard-nav{padding:var(--space-md)}.dashboard-header h1{font-size:var(--font-xl)}.dashboard-nav-content{gap:var(--space-lg);overflow-x:auto}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-header h1{font-size:var(--font-2xl)}.card-body{padding:var(--space-lg)}}.auth-form,.form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-field,.form-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.form-field:last-child,.form-group:last-child{margin-bottom:0}.form-field label,.form-group label,.form-label{color:var(--text-primary);font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.form-group label.required:after,.form-label.required:after{color:var(--color-danger);content:" *"}.form-label-inline{align-items:center;display:flex;gap:var(--space-sm)}.form-field input,.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text],.form-group input[type=url],.form-input{background-color:var(--bg-primary);border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);font-size:var(--font-base);line-height:var(--line-height-normal);outline:none;padding:var(--input-padding-y) var(--input-padding-x);transition:var(--transition-all);width:100%}.form-field input:focus,.form-group input:focus,.form-input:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field input:disabled,.form-group input:disabled,.form-input:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-field input::placeholder,.form-group input::placeholder,.form-input::placeholder{color:var(--text-tertiary)}.form-field select,.form-group select,.form-select{-webkit-appearance:none;appearance:none;background-color:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);cursor:pointer;font-size:var(--font-base);line-height:var(--line-height-normal);outline:none;padding:var(--input-padding-y) var(--input-padding-x);padding-right:36px;transition:var(--transition-all);width:100%}.form-field select:focus,.form-group select:focus,.form-select:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field select:disabled,.form-group select:disabled,.form-select:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-field textarea,.form-group textarea,.form-textarea{background-color:var(--bg-primary);border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--font-base);line-height:var(--line-height-normal);min-height:80px;outline:none;padding:var(--input-padding-y) var(--input-padding-x);resize:vertical;transition:var(--transition-all);width:100%}.form-field textarea:focus,.form-group textarea:focus,.form-textarea:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field textarea:disabled,.form-group textarea:disabled,.form-textarea:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-check{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm)}.form-check input[type=checkbox],.form-check input[type=radio]{cursor:pointer;height:18px;width:18px}.form-check label{cursor:pointer;font-weight:var(--font-weight-normal);margin-bottom:0}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input[type=checkbox]{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--color-gray-400);border-radius:var(--radius-full);bottom:0;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:var(--transition-base)}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.error-message,.form-error{background-color:var(--color-danger-light);border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger-dark);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-field.has-error input,.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--color-danger)}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #dc35451a}.form-success,.success-message{background-color:var(--color-success-light);border-left:4px solid var(--color-success);border-radius:var(--radius-sm);color:var(--color-success-dark);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-group.has-success input,.form-group.has-success select,.form-group.has-success textarea{border-color:var(--color-success)}.form-warning,.warning-message{background-color:var(--color-warning-light);border-left:4px solid var(--color-warning);color:var(--color-gray-900)}.form-info,.form-warning,.info-message,.warning-message{border-radius:var(--radius-sm);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-info,.info-message{background-color:var(--color-info-light);border-left:4px solid var(--color-info);color:var(--color-info-dark)}.form-help,.help-text{color:var(--text-secondary);display:block;font-size:var(--font-sm);margin-top:var(--space-xs)}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg)}.form-actions.right{justify-content:flex-end}.form-actions.center{justify-content:center}.form-actions.between{justify-content:space-between}@media (max-width:720px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.btn{border:var(--input-border-width) solid #0000;border-radius:var(--button-border-radius);cursor:pointer;display:inline-block;font-size:var(--font-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);outline:none;padding:var(--button-padding-y) var(--button-padding-x);text-align:center;text-decoration:none;transition:var(--transition-all);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled{background-color:var(--bg-disabled);border-color:var(--border-color);color:var(--text-disabled)}.btn-secondary{background-color:initial;border-color:var(--border-color-dark);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--text-secondary)}.btn-secondary:active:not(:disabled){background-color:var(--color-gray-300)}.btn-secondary:disabled{background-color:initial;border-color:var(--border-color-light);color:var(--text-disabled)}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success:active:not(:disabled){background-color:var(--color-success-dark);transform:translateY(0)}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){background-color:var(--color-danger-dark);transform:translateY(0)}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-gray-900)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark);border-color:var(--color-warning-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning:active:not(:disabled){background-color:var(--color-warning-dark);transform:translateY(0)}.btn-cancel{background-color:var(--color-gray-400);border-color:var(--color-gray-400);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--color-gray-500);border-color:var(--color-gray-500)}.btn-cancel:active:not(:disabled){background-color:var(--color-gray-600)}.btn-text{background-color:initial;border-color:#0000;color:var(--color-primary);padding:var(--space-sm) var(--space-md);text-decoration:underline}.btn-text:hover:not(:disabled){background-color:initial;color:var(--color-primary-dark)}.btn-link{background-color:initial;border-color:#0000;color:var(--color-primary);padding:var(--space-sm) var(--space-md);text-decoration:none}.btn-link:hover:not(:disabled){color:var(--color-primary-dark);text-decoration:underline}.btn-sm,.btn-small{font-size:var(--font-sm);height:var(--button-height-sm);padding:6px 12px}.btn-large,.btn-lg{font-size:var(--font-lg);height:var(--button-height-lg);padding:12px 24px}.btn-block{display:block;width:100%}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.btn-group .btn{flex:0 0 auto}.btn-icon{align-items:center;display:inline-flex;height:var(--button-height);justify-content:center;padding:var(--space-sm);width:var(--button-height)}.btn-icon.btn-sm,.btn-icon.btn-small{height:var(--button-height-sm);width:var(--button-height-sm)}.btn-icon.btn-large,.btn-icon.btn-lg{height:var(--button-height-lg);width:var(--button-height-lg)}.btn-with-icon{align-items:center;display:inline-flex;gap:var(--space-sm)}.btn-save{background-color:var(--color-success);border-color:var(--color-success);color:var(--text-inverse)}.btn-save:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);box-shadow:var(--shadow-md)}.btn-delete,.delete-button{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--text-inverse)}.btn-delete:hover:not(:disabled),.delete-button:hover:not(:disabled){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:var(--shadow-md)}.btn-edit{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn-edit:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-close,.close-button{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-2xl);line-height:1;padding:var(--space-sm);transition:var(--transition-base)}.btn-close:hover,.close-button:hover{background-color:var(--bg-hover);border-radius:var(--radius-md);color:var(--text-primary)}@media (max-width:720px){.btn{font-size:var(--font-sm);padding:var(--space-sm) var(--space-md)}.btn-sm,.btn-small{font-size:var(--font-xs);padding:var(--space-xs) var(--space-sm)}.btn-large,.btn-lg{font-size:var(--font-base);padding:var(--space-md) var(--space-lg)}}.modal-overlay{align-items:center;animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;height:100%;justify-content:center;left:0;overflow-y:auto;padding:var(--space-lg);position:fixed;right:0;top:0;width:100%;z-index:var(--z-index-modal-backdrop)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay.clickable{cursor:pointer}.modal-overlay .modal-content{cursor:default}.modal-content{animation:slideIn var(--transition-slow);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%;z-index:var(--z-index-modal)}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-content.modal-sm{max-width:400px}.modal-content.modal-lg{max-width:800px}.modal-content.modal-xl{max-width:1000px}.modal-content.modal-fullscreen{border-radius:0;height:100%;max-height:100%;max-width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-xl) var(--space-2xl)}.modal-header h2,.modal-header h3{color:var(--text-primary);font-size:var(--font-3xl);font-weight:var(--font-weight-semibold);margin:0}.modal-header .close-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-4xl);height:32px;justify-content:center;line-height:1;padding:0;transition:var(--transition-base);width:32px}.modal-header .close-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.modal-body{color:var(--text-primary);padding:var(--space-2xl)}.modal-body p{line-height:var(--line-height-normal);margin:0 0 var(--space-md) 0}.modal-body p:last-child{margin-bottom:0}.modal-body.scrollable{max-height:400px;overflow-y:auto}.modal-actions,.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-xl) var(--space-2xl)}.modal-actions.center,.modal-footer.center{justify-content:center}.modal-actions.between,.modal-footer.between{justify-content:space-between}.dialog{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;padding:var(--space-2xl);width:100%}.dialog h2,.dialog h3{font-size:var(--font-2xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-lg) 0}.dialog-buttons{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.dialog-buttons button{min-width:100px}.confirmation-dialog{text-align:center}.confirmation-dialog .icon{font-size:var(--font-5xl);margin-bottom:var(--space-lg)}.confirmation-dialog .icon.danger{color:var(--color-danger)}.confirmation-dialog .icon.warning{color:var(--color-warning)}.confirmation-dialog .icon.success{color:var(--color-success)}.confirmation-dialog .icon.info{color:var(--color-info)}.confirmation-dialog h3{margin-bottom:var(--space-md)}.confirmation-dialog p{color:var(--text-secondary);margin-bottom:var(--space-xl)}.confirmation-dialog .dialog-buttons{justify-content:center}.alert{align-items:flex-start;border-left:4px solid;border-radius:var(--radius-md);display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg)}.alert-icon{flex-shrink:0;font-size:var(--font-xl)}.alert-content{flex:1 1}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.alert-message{font-size:var(--font-sm);line-height:var(--line-height-normal)}.alert.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert.alert-danger,.alert.alert-error{background-color:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger-dark)}.alert.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-gray-900)}.alert.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-dismissible{padding-right:var(--space-4xl);position:relative}.alert-dismissible .close-button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-xl);opacity:.6;position:absolute;right:var(--space-md);top:var(--space-md);transition:var(--transition-base)}.alert-dismissible .close-button:hover{opacity:1}.toast-container{display:flex;flex-direction:column;gap:var(--space-md);pointer-events:none;position:fixed;right:var(--space-xl);top:var(--space-xl);z-index:var(--z-index-max)}.toast{animation:slideInRight var(--transition-slow);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;min-width:300px;padding:var(--space-lg);pointer-events:all}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast.toast-success{border-left:4px solid var(--color-success)}.toast.toast-danger,.toast.toast-error{border-left:4px solid var(--color-danger)}.toast.toast-warning{border-left:4px solid var(--color-warning)}.toast.toast-info{border-left:4px solid var(--color-info)}@media (max-width:720px){.modal-overlay{padding:var(--space-md)}.modal-content{max-width:100%}.modal-body,.modal-footer,.modal-header{padding:var(--space-lg)}.modal-header h2,.modal-header h3{font-size:var(--font-xl)}.dialog-buttons,.modal-actions,.modal-footer{flex-direction:column}.dialog-buttons .btn,.modal-actions .btn,.modal-footer .btn{width:100%}.toast-container{left:var(--space-md);right:var(--space-md);top:var(--space-md)}.toast{max-width:100%}}.loading-container{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:var(--space-3xl)}.loading-container.fullscreen{background-color:var(--bg-secondary);min-height:100vh}.loading-container p{color:var(--text-secondary);font-size:var(--font-md);margin-top:var(--space-lg)}.spinner{animation:spin 1s linear infinite;border:4px solid var(--color-gray-300);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:48px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner-sm{border-width:3px;height:24px;width:24px}.spinner-lg{border-width:5px;height:64px;width:64px}.spinner-success{border-top-color:var(--color-success)}.spinner-danger{border-top-color:var(--color-danger)}.spinner-warning{border-top-color:var(--color-warning)}.spinner-white{border-color:#fff #ffffff4d #ffffff4d}.btn .spinner-inline{animation:spin .8s linear infinite;border:2px solid;border-radius:var(--radius-full);border-top:2px solid #0000;display:inline-block;height:16px;margin-right:var(--space-sm);vertical-align:middle;width:16px}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#ffffffe6;bottom:0;display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.loading-overlay.dark{background-color:#000000b3;color:#fff}.loading-overlay p{color:var(--text-primary);font-size:var(--font-lg);font-weight:var(--font-weight-medium)}.loading-overlay.dark p{color:#fff}.generating-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.generating-overlay .spinner{border-color:#fff #ffffff4d #ffffff4d;border-width:5px;height:60px;margin-bottom:var(--space-xl);width:60px}.generating-overlay p{color:#fff;font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin:0}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-300) 50%,var(--color-gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:var(--radius-sm);height:16px;margin-bottom:var(--space-sm)}.skeleton-title{border-radius:var(--radius-sm);height:24px;margin-bottom:var(--space-md);width:60%}.skeleton-paragraph{border-radius:var(--radius-sm);height:14px;margin-bottom:var(--space-xs)}.skeleton-paragraph:last-child{width:80%}.skeleton-avatar{border-radius:var(--radius-full);height:48px;width:48px}.skeleton-card{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.progress{background-color:var(--color-gray-200);height:8px;overflow:hidden;width:100%}.progress,.progress-bar{border-radius:var(--radius-md)}.progress-bar{background-color:var(--color-primary);height:100%;transition:width var(--transition-slow)}.progress-bar.progress-success{background-color:var(--color-success)}.progress-bar.progress-danger{background-color:var(--color-danger)}.progress-bar.progress-warning{background-color:var(--color-warning)}.progress-bar.indeterminate{animation:indeterminate 1.5s infinite;width:30%}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.dots-loader{align-items:center;display:flex;gap:var(--space-sm);justify-content:center}.dots-loader .dot{animation:bounce 1.4s ease-in-out infinite both;background-color:var(--color-primary);border-radius:var(--radius-full);height:12px;width:12px}.dots-loader .dot:first-child{animation-delay:-.32s}.dots-loader .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.is-loading{opacity:.6;pointer-events:none;position:relative}.is-loading:after{animation:spin .8s linear infinite;border:3px solid var(--color-gray-300);border-radius:var(--radius-full);border-top-color:var(--color-primary);content:"";height:24px;left:50%;margin:-12px 0 0 -12px;position:absolute;top:50%;width:24px}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:visible!important;padding:0}#root,body,html{height:100%}h1,h2,h3{font-family:Helvetica,Arial,sans-serif}.student{background-color:#add8e6;padding:5px}.student.red{background-color:red}