@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-report-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary-gradient);padding:var(--spacing-lg)}.error-report{background:var(--color-background-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);max-width:900px;width:100%;padding:var(--spacing-2xl);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.error-header h1{color:var(--color-error);margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}.error-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0}.error-details{display:flex;flex-direction:column;gap:25px}.error-section{background:var(--color-background-dark);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-error)}.error-section h2{color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.error-count{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-error);margin:var(--spacing-sm) 0}.error-timestamp{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0}.missing-vars-list{display:flex;flex-direction:column;gap:15px}.missing-var-item{background:var(--color-background-light);padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.var-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.var-key{font-family:Courier New,monospace;font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-lg)}.var-status{background:var(--color-error);color:var(--color-text-inverse);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.var-description{color:var(--color-text-secondary);margin:var(--spacing-xs) 0}.var-value{margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-sm)}.var-value code{background:var(--color-background-dark);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-family:Courier New,monospace}.error-messages{list-style:none;padding:0;margin:0}.error-messages li{background:var(--color-background-light);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--radius-sm);border-left:3px solid var(--color-error);color:var(--color-text-primary)}.resolution-steps{padding-left:20px}.resolution-steps li{margin:var(--spacing-md) 0;color:var(--color-text-primary)}.resolution-steps ul{margin-top:var(--spacing-sm);padding-left:var(--spacing-lg)}.resolution-steps code{background:var(--color-border-dark);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-family:Courier New,monospace;color:var(--color-error)}.code-example{background:#1e1e1e;color:#d4d4d4;padding:var(--spacing-md);border-radius:var(--radius-sm);margin-top:var(--spacing-sm);overflow-x:auto}.code-example pre{margin:0;font-family:Courier New,monospace;font-size:.9em;line-height:1.5}.error-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:2px solid var(--color-border);text-align:center}.error-footer p{color:var(--color-text-secondary);margin:0;line-height:1.6}@media(max-width:768px){.error-report{padding:20px}.error-header h1{font-size:2em}.var-header{flex-direction:column;align-items:flex-start;gap:8px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:20px;position:relative;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-background{position:absolute;inset:0;overflow:hidden;z-index:0}.background-shapes{position:relative;width:100%;height:100%}.shape{position:absolute;border-radius:50%;background:#ffffff1a;animation:float 20s infinite ease-in-out}.shape-1{width:300px;height:300px;top:-100px;right:-100px;animation-delay:0s}.shape-2{width:200px;height:200px;bottom:-50px;left:-50px;animation-delay:5s}.shape-3{width:150px;height:150px;top:50%;left:10%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.login-card{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #fff3;padding:60px 50px;max-width:480px;width:100%;text-align:center;animation:slideUp .6s cubic-bezier(.16,1,.3,1);position:relative;z-index:1}.login-header{margin-bottom:40px}.logo-container{margin-bottom:24px}.logo-icon{font-size:64px;display:inline-block;animation:bounce 2s infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.login-header h1{color:#1a1a1a;margin:0 0 12px;font-size:2.75em;font-weight:800;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header .tagline{color:#667eea;margin:0 0 20px;font-size:1.25em;font-weight:600;font-style:italic;letter-spacing:.01em}.login-header .subtitle{color:#666;font-size:.95em;font-weight:400;line-height:1.6;max-width:380px;margin:0 auto}.error-message{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;padding:14px 18px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.9em;font-weight:500;border:1px solid rgba(198,40,40,.2);box-shadow:0 2px 8px #c628281a}.google-sign-in-button{width:100%;padding:16px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;font-size:1.05em;font-weight:600;color:#3c4043;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:24px;font-family:Inter,sans-serif;box-shadow:0 2px 8px #00000014}.google-sign-in-button:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.google-sign-in-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0000001a}.google-sign-in-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.terms-acceptance{margin:24px 0;padding:16px;background:#667eea0d;border-radius:12px;border:1px solid rgba(102,126,234,.2)}.terms-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.terms-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.terms-text{font-size:.9em;color:#444;line-height:1.5;flex:1}.terms-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease;border-bottom:1px solid transparent}.terms-link:hover{color:#764ba2;border-bottom-color:#764ba2}.google-icon{width:22px;height:22px;flex-shrink:0}.spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.security-badge{display:flex;align-items:center;justify-content:center;gap:8px;color:#888;font-size:.85em;font-weight:500}.lock-icon{font-size:1.1em;filter:grayscale(.3)}.spinner-large{width:50px;height:50px;border:4px solid rgba(102,126,234,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@media(max-width:480px){.login-card{padding:50px 30px}.login-header h1{font-size:2.2em}.login-header .tagline{font-size:1.1em}.login-header .subtitle{font-size:.9em}.logo-icon{font-size:56px}.google-sign-in-button{padding:14px 20px;font-size:1em}.terms-acceptance{padding:12px}.terms-text{font-size:.85em}}@media(max-width:360px){.login-card{padding:40px 24px}.login-header h1{font-size:1.9em}}.feedback-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-in-out}.feedback-modal{background:var(--color-background-light);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);animation:slideUp .3s ease-out}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.feedback-modal-header h2{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.feedback-modal-close{background:none;border:none;font-size:var(--font-size-3xl);color:var(--color-text-secondary);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.feedback-modal-close:hover{background:var(--color-background-dark);color:var(--color-text-primary)}.feedback-modal-close:disabled{opacity:.5;cursor:not-allowed}.feedback-form{padding:30px}.feedback-form-group{margin-bottom:24px}.feedback-form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base)}.feedback-required{color:var(--color-error)}.feedback-select,.feedback-input,.feedback-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-fast);background:var(--color-background-light);color:var(--color-text-primary)}.feedback-select:focus,.feedback-input:focus,.feedback-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.feedback-select:disabled,.feedback-input:disabled,.feedback-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.feedback-textarea{resize:vertical;min-height:120px;font-family:inherit}.feedback-char-count{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.feedback-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.feedback-button{padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;gap:8px}.feedback-button:disabled{opacity:.6;cursor:not-allowed}.feedback-button-secondary{background:var(--color-background-dark);color:var(--color-text-secondary);border:1px solid var(--color-border)}.feedback-button-secondary:hover:not(:disabled){background:var(--color-border-dark)}.feedback-button-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.feedback-button-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:600px){.feedback-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh}.feedback-modal-header,.feedback-form{padding:20px}.feedback-form-actions{flex-direction:column-reverse}.feedback-button{width:100%;justify-content:center}}.gamification-status-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;text-align:center}.gamification-status-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 12px;text-align:left}.circular-progress-container{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:12px}.circular-progress-svg{transform:rotate(-90deg)}.progress-circle-bg{stroke:#e5e7eb}.progress-circle-fill{stroke:#3b82f6;transition:stroke-dashoffset .3s ease}.circular-progress-avatar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;border:4px solid #FFFFFF;box-shadow:0 2px 8px #0000001a}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:2rem;font-weight:700}.level-display{margin-top:12px;font-size:1.125rem;font-weight:700;color:#1f2937}.xp-progress-text{font-size:.875rem;color:#6b7280;font-weight:400;margin-top:8px}.streak-milestone-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.streak-header{margin-bottom:10px}.streak-title{font-size:1.125rem;font-weight:700;color:#1f2937}.streak-flame-icon{font-size:3rem;margin:8px 0;display:block}.streak-message{font-size:.875rem;color:#6b7280;font-weight:500;margin-top:6px;line-height:1.4}.achievements-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.achievements-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}.achievements-icon{font-size:1.5rem}.achievements-label{font-size:1rem;font-weight:600;color:#1f2937}.achievements-count{font-size:.9rem;color:#6b7280;margin-bottom:12px}.achievements-next{margin:12px 0;padding:12px;background:#f3f4f6;border-radius:8px}.next-badge-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.next-badge-icon{font-size:2rem}.achievements-view-link{display:inline-block;margin-top:8px;padding:6px 12px;color:#3b82f6;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease;border-radius:6px}.achievements-view-link:hover{background:#f3f4f6;color:#2563eb;text-decoration:underline}.games-widget{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e9ecef}.widget-header h3{margin:0;font-size:1.3rem;color:var(--color-text-primary, #333)}.widget-link{color:var(--primary-color, #4a90e2);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.widget-link:hover{color:var(--primary-dark, #357abd)}.widget-content{padding-top:.5rem}.widget-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-secondary, #666)}.btn-link{display:inline-block;margin-top:.5rem;color:var(--primary-color, #4a90e2);text-decoration:none;font-weight:500}.time-remaining{background:#e7f3ff;border:2px solid #3b82f6;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}.time-remaining.limit-reached{background:#fff3cd;border-color:#ffc107}.time-remaining-label{font-size:.9rem;font-weight:600;color:var(--color-text-secondary, #666);margin-bottom:.25rem}.time-remaining.limit-reached .time-remaining-label{color:#856404}.time-remaining-value{font-size:1.3rem;font-weight:700;color:var(--primary-color, #4a90e2)}.time-remaining.limit-reached .time-remaining-value{color:#856404}.games-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-item{text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-label{display:block;font-size:.85rem;color:var(--color-text-secondary, #666);margin-bottom:.5rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color, #4a90e2)}.recent-games{margin-bottom:1.5rem}.recent-games h4{margin:0 0 1rem;font-size:1rem;color:var(--color-text-primary, #333)}.recent-games-list{display:flex;flex-direction:column;gap:.75rem}.recent-game-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:var(--color-text-primary, #333);transition:background .2s}.recent-game-item:hover{background:#e9ecef}.recent-game-item .game-icon{font-size:2rem}.game-info-small{flex:1;display:flex;flex-direction:column}.game-name{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.game-stats-small{font-size:.85rem;color:var(--color-text-secondary, #666)}.btn-play-games{display:block;width:100%;text-align:center;background:var(--primary-color, #4a90e2);color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s;margin-top:1rem}.btn-play-games:hover{background:var(--primary-dark, #357abd)}@media(max-width:768px){.games-stats{grid-template-columns:1fr}}.action-focus-section{margin-bottom:0}.action-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.action-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.action-card-blue{border-top:4px solid #3B82F6}.action-card-green{border-top:4px solid #10B981}.action-card-orange{border-top:4px solid #F97316}.action-card-title{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.action-card-header{margin-bottom:12px}.action-card-title{font-size:.9rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.action-card-content{display:flex;flex-direction:column;align-items:center;gap:8px}.circular-progress{position:relative;width:80px;height:80px}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle,.progress-ring-progress{transition:stroke-dashoffset .35s}.progress-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:#1f2937}.progress-label{font-size:.85rem;color:#6b7280;font-weight:500}.weekly-progress-text{font-size:1.125rem;font-weight:600;color:#1f2937;text-align:center;margin-bottom:6px}.weekly-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.weekly-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;transition:width .3s ease}.reward-points-needed{font-size:1rem;color:#6b7280;text-align:center;margin-bottom:10px;font-weight:500}.reward-redeem-button{padding:8px 16px;background:#f97316;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.reward-redeem-button:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 8px #f973164d}@media(max-width:1023px){.action-focus-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.action-focus-grid{grid-template-columns:1fr}}.task-complete-checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.task-complete-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.task-complete-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #D1D5DB;border-radius:4px;background:#fff;transition:all .2s ease;font-size:14px;font-weight:700;color:transparent}.task-complete-checkbox-small .task-complete-mark{width:20px;height:20px;font-size:12px}.task-complete-checkbox-medium .task-complete-mark{width:24px;height:24px;font-size:14px}.task-complete-checkbox-large .task-complete-mark{width:28px;height:28px;font-size:16px}.task-complete-mark.checked{background:#10b981;border-color:#10b981;color:#fff}.task-complete-mark.loading{opacity:.6;cursor:wait}.task-complete-checkbox:hover .task-complete-mark:not(.checked):not(.loading){border-color:#10b981;background:#f0fdf4}.task-complete-checkbox:hover .task-complete-mark.checked{background:#059669;border-color:#059669}.task-complete-input:disabled+.task-complete-mark{opacity:.5;cursor:not-allowed}.skeleton-card,.skeleton-line,.skeleton-avatar,.skeleton-badge,.skeleton-button{position:relative;overflow:hidden;background:var(--color-background-dark);border-radius:var(--radius-md)}.skeleton-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.skeleton-card{border-radius:12px;background:#f5f5f5}.skeleton-text{display:flex;flex-direction:column}.skeleton-line{height:12px;border-radius:var(--radius-sm);background:var(--color-border)}.skeleton-avatar{border-radius:50%;background:var(--color-border)}.skeleton-badge{width:60px;height:24px;border-radius:var(--radius-full);background:var(--color-border)}.skeleton-button{border-radius:var(--radius-md);background:var(--color-border)}.task-card-skeleton{background:var(--color-background-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md);position:relative;overflow:hidden}.skeleton-task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.skeleton-task-footer{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.stat-card-skeleton{background:var(--color-background-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;min-height:120px}.badge-card-skeleton{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;text-align:center;position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;align-items:center;gap:1rem}.leaderboard-row-skeleton{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:12px;margin-bottom:.5rem;position:relative;overflow:hidden}@media(max-width:768px){.task-card-skeleton,.stat-card-skeleton,.badge-card-skeleton{padding:1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-full-width{width:100%}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:32px}.btn-md{padding:.75rem 1.5rem;font-size:var(--font-size-base);min-height:44px}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-lg);min-height:48px}.btn-primary{background:var(--color-primary-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-border);border-color:var(--color-border-dark);transform:translateY(-2px)}.btn-success{background:var(--color-success);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-success:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-ghost{background:transparent;color:var(--color-text-primary);border:2px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--color-background-dark);border-color:var(--color-border)}.btn-loading{pointer-events:none}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.btn-content-loading{opacity:.7}@media(max-width:768px){.btn{min-height:44px}.btn-md{padding:.875rem 1.25rem}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-secondary)}.empty-state-sm{padding:var(--spacing-xl) var(--spacing-md)}.empty-state-md{padding:var(--spacing-2xl) var(--spacing-lg)}.empty-state-lg{padding:calc(var(--spacing-2xl) * 1.5) var(--spacing-xl)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.6;line-height:1}.empty-state-sm .empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.empty-state-lg .empty-state-icon{font-size:5rem;margin-bottom:var(--spacing-xl)}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.empty-state-sm .empty-state-title{font-size:var(--font-size-lg)}.empty-state-lg .empty-state-title{font-size:var(--font-size-2xl)}.empty-state-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px;line-height:1.6}.empty-state-sm .empty-state-message{font-size:var(--font-size-sm);max-width:300px}.empty-state-lg .empty-state-message{font-size:var(--font-size-lg);max-width:500px}.empty-state-action{margin-top:var(--spacing-md)}.empty-state-action-link{text-decoration:none;display:inline-block}@media(max-width:768px){.empty-state{padding:var(--spacing-xl) var(--spacing-md)}.empty-state-icon{font-size:3.5rem}.empty-state-title{font-size:var(--font-size-lg)}.empty-state-message{font-size:var(--font-size-sm);max-width:100%}}.todays-focus-section{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible}.todays-focus-header{margin-bottom:12px;flex-shrink:0}.todays-focus-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 4px}.todays-focus-subtitle{font-size:.875rem;color:#6b7280;margin:0;font-weight:400}.todays-focus-content{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:row;gap:8px}.todays-focus-loading{display:flex;flex-direction:column;gap:8px}.todays-focus-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;overflow:hidden}@media(max-width:768px){.todays-focus-content{flex-direction:column}}.todays-focus-group-header{display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:8px;border-bottom:2px solid #F3F4F6}.todays-focus-group-icon{font-size:1.125rem;line-height:1}.todays-focus-group-title{font-size:.9375rem;font-weight:600;color:#1f2937;margin:0;flex:1}.todays-focus-group-count{font-size:.8125rem;font-weight:600;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.todays-focus-group-tasks{display:flex;flex-direction:column;gap:4px;padding-top:0}.todays-focus-task-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;transition:background-color .2s ease;cursor:pointer;min-height:36px}.todays-focus-task-item:hover{background-color:#f9fafb}.todays-focus-task-checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;height:20px;line-height:20px;margin-top:0;padding-top:0}.todays-focus-task-title{flex:1;font-size:.9375rem;font-weight:500;color:#1f2937;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease;line-height:20px;display:flex;align-items:center;margin-top:0;padding-top:0;height:20px}.todays-focus-task-title:hover{color:#667eea}.todays-focus-empty{padding:16px;text-align:center}.competitive-focus-section{background:#fff;border-radius:12px;padding:16px!important;box-shadow:0 2px 8px #00000014;margin-bottom:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.competitive-header{margin-bottom:10px}.competitive-title{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0}.competitive-empty{text-align:center;padding:20px;color:#9ca3af;font-size:.9rem}.competitive-content{display:flex;flex-direction:column;gap:4px}.leaderboard-entry{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #F3F4F6}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-entry-user{background:#f9fafb;padding:6px 8px;border-radius:8px;border-bottom:none;margin-top:4px}.leaderboard-rank-medal{display:flex;align-items:center;gap:4px;min-width:50px}.leaderboard-rank{font-size:.85rem;font-weight:600;color:#6b7280}.leaderboard-medal{font-size:1rem}.leaderboard-name{flex:1;font-size:.9rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-points{font-size:.85rem;font-weight:600;color:#3b82f6}.points-to-beat{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#eff6ff;border-radius:8px;margin-top:2px}.points-to-beat-check{color:#10b981;font-weight:700;font-size:1rem}.points-to-beat-text{font-size:.85rem;color:#1f2937;font-weight:500}.view-full-link{display:block;text-align:center;margin-top:0;padding:4px;color:#3b82f6;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease;border-radius:6px}.view-full-link:hover{background:#f3f4f6;color:#2563eb;text-decoration:underline}.quick-actions-section{background:#fff;border-radius:12px;padding:16px!important;box-shadow:0 2px 8px #00000014;margin-top:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.quick-actions-header{margin-bottom:10px}.quick-actions-title{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:0}.quick-action-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;text-decoration:none;transition:all .2s ease;cursor:pointer;min-height:80px;justify-content:center}.quick-action-button:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.quick-action-button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.quick-action-button.primary:hover{background:#2563eb;border-color:#2563eb}.quick-action-icon{font-size:1.5rem;line-height:1}.quick-action-button.primary .quick-action-icon{font-size:1.75rem;font-weight:700}.quick-action-label{font-size:.85rem;font-weight:600;color:#1f2937;text-align:center}.quick-action-button.primary .quick-action-label{color:#fff}.penalty-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-in-out}.penalty-modal{background:var(--color-background-light, #ffffff);border-radius:var(--radius-lg, 16px);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .3));border:1px solid var(--color-border, #e0e0e0);animation:slideUp .3s ease-out}.penalty-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg, 20px) var(--spacing-xl, 24px);border-bottom:1px solid var(--color-border, #e0e0e0);background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:16px 16px 0 0}.penalty-modal-header h2{margin:0;font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1a1a1a)}.penalty-modal-close{background:none;border:none;font-size:var(--font-size-3xl, 2rem);color:var(--color-text-secondary, #666);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full, 50%);transition:all var(--transition-fast, .2s)}.penalty-modal-close:hover{background:var(--color-background-dark, #f0f0f0);color:var(--color-text-primary, #1a1a1a)}.penalty-modal-close:disabled{opacity:.5;cursor:not-allowed}.penalty-form{padding:var(--spacing-xl, 24px)}.penalty-form-group{margin-bottom:24px}.penalty-form-group label{display:block;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1a1a1a);margin-bottom:8px;font-size:var(--font-size-base, 1rem)}.penalty-select,.penalty-input,.penalty-textarea{width:100%;padding:12px 16px;border:2px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);font-family:inherit;font-size:var(--font-size-base, 1rem);transition:all var(--transition-fast, .2s);background:var(--color-background-light, #ffffff);color:var(--color-text-primary, #1a1a1a)}.penalty-select:focus,.penalty-input:focus,.penalty-textarea:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.penalty-select:disabled,.penalty-input:disabled,.penalty-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-background-dark, #f5f5f5)}.penalty-textarea{resize:vertical;min-height:100px;font-family:inherit}.penalty-points-input-wrapper{position:relative;display:flex;align-items:center}.penalty-points-prefix{position:absolute;left:16px;font-size:1.2rem;font-weight:700;color:#dc2626;z-index:1;pointer-events:none}.penalty-points-input{padding-left:40px;font-weight:600;color:#dc2626}.penalty-hint{display:block;margin-top:6px;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #666)}.penalty-loading,.penalty-error{padding:12px 16px;border-radius:var(--radius-md, 8px);font-size:var(--font-size-base, 1rem)}.penalty-loading{background:var(--color-background-dark, #f5f5f5);color:var(--color-text-secondary, #666);text-align:center}.penalty-error{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.penalty-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border, #e0e0e0)}.penalty-btn{padding:12px 24px;border-radius:var(--radius-md, 8px);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all var(--transition-fast, .2s);border:none}.penalty-btn:disabled{opacity:.5;cursor:not-allowed}.penalty-btn-cancel{background:var(--color-background-dark, #f5f5f5);color:var(--color-text-primary, #1a1a1a)}.penalty-btn-cancel:hover:not(:disabled){background:#e5e5e5}.penalty-btn-submit{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 12px #dc26264d}.penalty-btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 6px 16px #dc262666;transform:translateY(-1px)}.penalty-btn-submit:active:not(:disabled){transform:translateY(0)}.quick-penalty-card{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #fecaca;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 12px #dc26261a;transition:all .3s ease}.quick-penalty-card:hover{box-shadow:0 6px 20px #dc262626;transform:translateY(-2px)}.quick-penalty-header{margin-bottom:12px}.quick-penalty-title{margin:0;font-size:1.1rem;font-weight:700;color:#991b1b}.quick-penalty-content{display:flex;flex-direction:column;gap:12px}.quick-penalty-description{margin:0;font-size:.875rem;color:#7f1d1d;line-height:1.4}.quick-penalty-button{width:100%;padding:12px 20px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #dc26264d}.quick-penalty-button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 4px 12px #dc262666;transform:translateY(-1px)}.quick-penalty-button:active{transform:translateY(0)}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary-gradient);padding:var(--spacing-lg);color:var(--color-text-inverse)}.error-boundary-card{background:var(--color-background-light);color:var(--color-text-primary);padding:var(--spacing-2xl);border-radius:var(--radius-lg);max-width:600px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.error-boundary-title{color:var(--color-error);margin-top:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.error-boundary-details{margin-top:var(--spacing-lg)}.error-boundary-summary{cursor:pointer;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.error-boundary-pre{background:var(--color-background-dark);padding:var(--spacing-md);border-radius:var(--radius-sm);overflow:auto;margin-top:var(--spacing-sm);font-family:Courier New,monospace;font-size:var(--font-size-sm)}.error-boundary-button{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}.error-boundary-button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.dashboard-layout{display:grid;grid-template-columns:260px 1fr 260px;gap:8px;padding:0;width:100%;max-width:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;box-sizing:border-box;overflow-x:hidden;overflow-y:visible}.dashboard-left-column,.dashboard-right-column{display:flex;flex-direction:column;gap:8px;align-items:stretch}.dashboard-middle-column{display:flex;flex-direction:column;gap:8px;min-width:0}.dashboard-left-column>*,.dashboard-right-column>*,.dashboard-middle-column>*{min-height:0}@media(max-width:1023px){.dashboard-layout{grid-template-columns:240px 1fr;gap:8px}.dashboard-right-column{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:8px}.dashboard-right-column>*{flex:1;min-width:calc(50% - 4px)}}@media(max-width:767px){.dashboard-layout{grid-template-columns:1fr;gap:8px;padding:16px 0}.dashboard-left-column,.dashboard-right-column{flex-direction:row;flex-wrap:wrap;gap:8px}.dashboard-left-column>*,.dashboard-right-column>*{flex:1;min-width:calc(50% - 4px)}.dashboard-left-column>*:first-child,.dashboard-right-column>*:first-child{min-width:100%}.dashboard-middle-column{gap:8px}}@media(max-width:480px){.dashboard-left-column,.dashboard-right-column{flex-direction:column}.dashboard-left-column>*,.dashboard-right-column>*{min-width:100%}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-card{padding:var(--spacing-2xl);min-height:200px}.loading-fullscreen{position:fixed;inset:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;min-height:100vh}.loading-inline{display:inline-flex;flex-direction:row;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);min-height:auto}.loading-inline .spinner-small,.loading-inline .spinner-medium,.loading-inline .spinner-large{margin:0}.loading-inline .loading-message{margin:0;margin-left:var(--spacing-sm)}@media(max-width:768px){.loading-card{padding:var(--spacing-xl);min-height:150px}}.dashboard-container{min-height:calc(100vh - 120px);background:#f7fafc;padding-top:8px;padding-bottom:80px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:visible}.dashboard-content{width:100%;max-width:100%;box-sizing:border-box;padding:0 16px;margin-top:0;overflow-x:hidden;overflow-y:visible}@media(min-width:769px){.dashboard-container{padding-bottom:80px}}.user-info{display:flex;align-items:center;gap:20px}.user-details{display:flex;align-items:center;gap:12px}.user-avatar{width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,255,255,.3);object-fit:cover}.user-name{font-weight:600;font-size:1em}.user-role{font-size:.85em;opacity:.9;font-weight:500}.settings-button,.logout-button,.notifications-button{padding:10px 20px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:.9em;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;position:relative}.settings-button:hover,.logout-button:hover,.notifications-button:hover{background:#ffffff4d;border-color:#ffffff80}.notification-badge{position:absolute;top:-8px;right:-8px;background:#f44336;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75em;font-weight:700;min-width:20px;text-align:center;border:2px solid white;box-shadow:0 2px 4px #0003}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 2px 10px #0000000d;display:flex;align-items:center;gap:20px;transition:all .3s ease;border-left:4px solid transparent}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.stat-card-points{border-left-color:#4caf50}.stat-card-lifetime{border-left-color:#ff9800}.stat-card-streak{border-left-color:#f44336}.stat-card-leaderboard{border-left-color:gold;background:linear-gradient(135deg,#fff9e6,#fff)}.stat-card-leaderboard:hover{transform:translateY(-5px);box-shadow:0 8px 20px #ffd7004d}.stat-card-feedback{border-left-color:#2196f3;cursor:pointer}.stat-card-feedback:hover{transform:translateY(-5px);box-shadow:0 8px 25px #2196f333}.stat-icon{font-size:3em;line-height:1}.stat-label{color:#666;font-size:.9em;font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:#333;font-size:2.2em;font-weight:700;margin-bottom:4px;line-height:1}.stat-sublabel{color:#999;font-size:.85em}.stat-link-text{color:#667eea;font-size:.85em;font-weight:600;margin-top:8px;transition:color .2s}.stat-card:hover .stat-link-text{color:#5568d3}.tasks-section,.approvals-section{margin-top:40px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px}.section-header h2{color:#333;margin:0 0 5px;font-size:1.8em;font-weight:700}.section-subtitle{color:#666;font-size:.95em;margin:0}.add-task-button{padding:12px 24px;background:#667eea;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px #667eea4d}.add-task-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.view-all-link{color:#667eea;text-decoration:none;font-weight:600;font-size:.95em;white-space:nowrap;transition:all .2s ease}.view-all-link:hover{color:#5568d3;text-decoration:underline}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.quick-action-card{background:#fff;border-radius:12px;padding:30px 20px;box-shadow:0 2px 10px #0000000d;text-decoration:none;text-align:center;transition:all .3s ease;border:2px solid transparent}.quick-action-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.quick-action-icon{font-size:2.5em;margin-bottom:12px}.quick-action-text{color:#333;font-weight:600;font-size:1em}.dashboard-stats-section{margin-bottom:2rem}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.stat-widget{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.stat-widget:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-widget-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.stat-widget-icon{font-size:1.5rem}.stat-widget-header h3{margin:0;font-size:1rem;font-weight:600;color:#666}.stat-widget-value{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-widget-detail{font-size:.9rem;color:#666;margin-bottom:.5rem}.stat-widget-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;margin-top:.5rem}.stat-widget-badge.success{background:#4caf50;color:#fff}.stat-widget-chart{grid-column:1 / -1}@media(max-width:768px){.dashboard-stats-grid,.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.quick-actions-grid{grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{font-size:2.5em}.stat-value{font-size:1.8em}}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.onboarding-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:50px 40px;max-width:550px;width:100%;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{text-align:center;margin-bottom:40px}.onboarding-header h1{color:#333;margin:0 0 10px;font-size:2.2em;font-weight:700}.subtitle{color:#666;font-size:1.1em;margin:0}.onboarding-form{display:flex;flex-direction:column;gap:25px}.form-group label{color:#333;font-weight:600;font-size:.95em}.form-group input,.form-group select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.help-text{color:#666;font-size:.85em;margin-top:4px}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.9em;border-left:4px solid #c62828}.submit-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;margin-top:10px}.submit-button:active:not(:disabled){transform:translateY(0)}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.onboarding-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0;text-align:center}.onboarding-footer p{color:#666;font-size:.9em;margin:0;line-height:1.6}@media(max-width:480px){.onboarding-card{padding:40px 30px}.onboarding-header h1{font-size:1.8em}}.confirm-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.confirm-dialog-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.confirm-dialog-header{padding:24px 24px 16px;border-bottom:1px solid #e2e8f0}.confirm-dialog-title{margin:0;color:#1a202c;font-size:1.5rem;font-weight:600}.confirm-dialog-body{padding:24px;flex:1}.confirm-dialog-message{margin:0;color:#4a5568;font-size:1rem;line-height:1.6}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px;border-top:1px solid #e2e8f0}@media(max-width:640px){.confirm-dialog-content{max-width:100%;margin:0;border-radius:12px 12px 0 0}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions button{width:100%}}.profile-edit-container{min-height:100vh;background:#f5f7fa;padding:20px}.profile-edit-card{max-width:700px;margin:0 auto;background:#fff;border-radius:12px;padding:40px;box-shadow:0 2px 10px #0000000d}.profile-edit-card h1{color:#333;margin:0 0 30px;font-size:2em}.error-message,.success-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.error-message{background:#ffebee;color:#c62828;border-left:4px solid #c62828}.success-message{background:#e8f5e9;color:#2e7d32;border-left:4px solid #2e7d32}.profile-form{display:flex;flex-direction:column;gap:30px}.form-section{display:flex;flex-direction:column;gap:10px}.form-section label{color:#333;font-weight:600;font-size:.95em}.required{color:#d32f2f}.form-section input[type=text]{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-family:inherit}.form-section input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-section small{color:#666;font-size:.85em}.color-palette{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{width:50px;height:50px;border:3px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2em}.color-swatch:hover{transform:scale(1.1);box-shadow:0 4px 8px #0003}.color-swatch.selected{border-color:#333;box-shadow:0 0 0 3px #667eea4d}.color-swatch.used{opacity:.6;position:relative}.color-swatch.used:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px dashed #666}.avatar-upload-section{margin-bottom:20px}.upload-label{display:inline-block}.upload-button{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.upload-button:hover{background:#5568d3}.photo-preview{margin-top:15px;display:flex;align-items:center;gap:15px}.photo-preview img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #667eea}.photo-preview button{padding:8px 16px;background:#f56565;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em}.avatar-categories{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.avatar-categories button{padding:8px 16px;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;color:#666;transition:all .2s ease}.avatar-categories button:hover{background:#e0e0e0}.avatar-categories button.active{background:#667eea;color:#fff}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;background:#f8f9fa;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.avatar-option:hover{background:#e9ecef;border-color:#667eea}.avatar-option.selected{background:#e3f2fd;border-color:#667eea}.avatar-emoji{font-size:2.5em}.avatar-name{font-size:.85em;color:#333;text-align:center}.checkmark{position:absolute;top:5px;right:5px;background:#667eea;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700}.form-actions{margin-top:20px}.submit-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.profile-edit-card{padding:20px}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.tag-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:all var(--transition-fast);cursor:default}.tag-chip-clickable{cursor:pointer}.tag-chip-clickable:hover{transform:scale(1.05);opacity:.9}.tag-chip-small{padding:2px var(--spacing-sm);font-size:.65rem;border-radius:var(--radius-md)}.tag-chip-medium{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-lg)}.tag-chip-large{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.tag-chip-removable{padding-right:var(--spacing-xs)}.tag-chip-remove{background:#ffffff4d;border:none;border-radius:var(--radius-full);width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1;margin-left:var(--spacing-xs);transition:all var(--transition-fast);color:currentColor}.tag-chip-remove:hover{background:#ffffff80;transform:scale(1.1)}.tag-chip-remove:active{transform:scale(.95)}.tag-management{padding:20px}.tag-management-header{margin-bottom:20px}.tag-management-header h3{margin:0 0 8px;color:#333;font-size:1.3em}.tag-management-description{margin:0;color:#666;font-size:.9em;line-height:1.5}.tag-management-loading{padding:40px;text-align:center;color:#666}.no-tags-message{padding:40px;text-align:center;background:#f8f9fa;border-radius:8px;color:#666}.tags-list{display:flex;flex-direction:column;gap:12px}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s ease}.tag-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.tag-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2em;padding:4px 8px;border-radius:4px;transition:all .2s ease;opacity:.7}.btn-icon:hover{opacity:1;background:#f0f0f0;transform:scale(1.1)}.btn-icon-danger:hover{background:#ffebee}.tag-edit-form{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tag-edit-name-input{flex:1;min-width:150px;padding:6px 10px;border:2px solid #e0e0e0;border-radius:6px;font-size:.9em}.tag-edit-name-input:focus{outline:none;border-color:#667eea}.color-picker-inline{display:flex;gap:6px;align-items:center}.color-option{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.15);border-color:#333}.color-option.selected{border-color:#667eea;box-shadow:0 0 0 2px #fff,0 0 0 4px #667eea}.tag-edit-actions{display:flex;gap:6px}.tag-delete-confirm{flex:1;padding:12px;background:#fff3cd;border-radius:6px;border:1px solid #ffc107}.tag-delete-warning{margin-bottom:10px;color:#856404;font-size:.9em;line-height:1.5}.tag-delete-actions{display:flex;gap:8px}.btn-danger{background:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;transition:all .2s ease}.btn-danger:hover{background:#d32f2f;transform:translateY(-1px);box-shadow:0 2px 8px #f443364d}.tag-management-info{margin-top:20px;padding:15px;background:#e3f2fd;border-radius:8px;border-left:4px solid #2196f3;font-size:.9em;color:#1976d2}.tag-management-info p{margin:0;line-height:1.5}.reminder-settings{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.reminder-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.reminder-settings-header h3{margin:0;font-size:1.5rem;color:#1a1a1a;font-weight:700}.editing-for{font-size:.9rem;color:#666;font-style:italic}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-bottom:1px solid #f0f0f0}.setting-item:last-child{border-bottom:none}.setting-item.nested{padding-left:2rem;border-bottom:none;padding-top:.75rem;padding-bottom:.75rem}.setting-label{flex:1;display:flex;flex-direction:column;gap:.25rem}.setting-label label{font-weight:600;color:#1a1a1a;font-size:1rem}.setting-description{font-size:.85rem;color:#666;line-height:1.4}.reminder-times-list{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.reminder-time-chip{display:flex;align-items:center;gap:.5rem;background:#f0f0f0;padding:.5rem .75rem;border-radius:8px;font-weight:600;color:#1a1a1a}.remove-time-btn{background:none;border:none;color:#999;font-size:1.2rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.remove-time-btn:hover{background:#e0e0e0;color:#d32f2f}.add-reminder-time{display:flex;gap:.5rem;align-items:center}.time-input{padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;width:120px}.time-input:focus{outline:none;border-color:#667eea}.add-time-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.add-time-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.add-time-btn:disabled{opacity:.5;cursor:not-allowed}.quiet-hours-inputs{display:flex;align-items:center;gap:1rem}.time-input-group{display:flex;flex-direction:column;gap:.25rem}.time-input-group label{font-size:.85rem;color:#666;font-weight:500}.time-separator{color:#999;font-weight:600;margin-top:1.5rem}.setting-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.setting-section h4{margin:0 0 1rem;font-size:1.1rem;color:#1a1a1a;font-weight:700}.number-input{padding:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;width:80px;text-align:center}.number-input:focus{outline:none;border-color:#667eea}.settings-actions{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end}.btn-primary{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.reminder-settings{padding:1.5rem}.setting-item{flex-direction:column;align-items:flex-start;gap:1rem}.quiet-hours-inputs{flex-direction:column;align-items:flex-start}.time-separator{margin-top:0}.settings-actions{justify-content:stretch}.btn-primary{width:100%}}.calendar-sync-container{padding:2rem;max-width:800px;margin:0 auto}.calendar-sync-header{margin-bottom:2rem}.calendar-sync-header h2{font-size:1.75rem;margin-bottom:.5rem;color:#333}.calendar-sync-header .subtitle{color:#666;font-size:1rem}.calendar-sync-setup{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.setup-info h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.setup-info p{color:#666;margin-bottom:1.5rem;line-height:1.6}.feature-list{list-style:none;padding:0;margin:1.5rem 0}.feature-list li{padding:.5rem 0;color:#555;font-size:.95rem}.calendar-sync-status{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.status-card{display:flex;flex-direction:column;gap:1.5rem}.status-header{display:flex;align-items:center;gap:.75rem}.status-icon{font-size:1.5rem}.status-header h3{font-size:1.5rem;margin:0;color:#333}.status-details{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:6px}.status-item{display:flex;justify-content:space-between;align-items:center}.status-item .label{font-weight:600;color:#555}.status-item .value{color:#333}.status-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#45a049}.btn-secondary{background:#2196f3;color:#fff}.btn-secondary:hover:not(:disabled){background:#0b7dda}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.help-text{padding:1rem;background:#e3f2fd;border-radius:6px;border-left:4px solid #2196F3}.help-text p{margin:0;color:#1976d2;font-size:.9rem}@media(max-width:768px){.calendar-sync-container{padding:1rem}.status-actions{flex-direction:column}.btn-primary,.btn-secondary,.btn-danger{width:100%}}.game-time-restrictions{padding:2rem;max-width:1000px;margin:0 auto}.restrictions-header{margin-bottom:2rem}.restrictions-header h3{margin:0 0 .5rem;color:var(--color-text-primary, #333);font-size:1.5rem}.restrictions-description{margin:0;color:var(--color-text-secondary, #666);font-size:.95rem;line-height:1.5}.no-members{text-align:center;padding:2rem;color:var(--color-text-secondary, #666)}.members-restrictions{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.member-restrictions-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;border:1px solid #e9ecef}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.member-info{display:flex;align-items:center;gap:1rem}.member-avatar{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:50%}.member-info h4{margin:0;font-size:1.2rem;color:var(--color-text-primary, #333)}.today-usage{margin-top:.25rem;font-size:.9rem}.usage-normal{color:#28a745}.usage-limit-reached{color:#dc3545;font-weight:600}.btn-edit{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-edit:hover:not(:disabled){background:var(--primary-dark, #357abd)}.btn-edit:disabled{opacity:.6;cursor:not-allowed}.restrictions-form{margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary, #333);font-size:.95rem}.form-group label input[type=checkbox]{margin-right:.5rem}.form-group input[type=number],.form-group input[type=time]{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input[type=number]:focus,.form-group input[type=time]:focus{outline:none;border-color:var(--primary-color, #4a90e2)}.form-help{display:block;margin-top:.25rem;font-size:.85rem;color:var(--color-text-secondary, #666)}.time-window-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.time-window-inputs>div{display:flex;flex-direction:column}.time-window-inputs label{margin-bottom:.5rem;font-size:.9rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.btn-save,.btn-cancel,.btn-delete{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-save{background:#28a745;color:#fff}.btn-save:hover:not(:disabled){background:#218838}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background:#5a6268}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover:not(:disabled){background:#c82333}.btn-save:disabled,.btn-cancel:disabled,.btn-delete:disabled{opacity:.6;cursor:not-allowed}.restrictions-display{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.restriction-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e9ecef}.restriction-item:last-child{border-bottom:none}.restriction-label{font-weight:600;color:var(--color-text-secondary, #666)}.restriction-value{font-weight:500;color:var(--color-text-primary, #333)}.no-restrictions{text-align:center;padding:2rem;color:var(--color-text-secondary, #666);font-style:italic}.restrictions-info{margin-top:2rem;padding:1.5rem;background:#e7f3ff;border-radius:12px;border-left:4px solid #3b82f6}.restrictions-info h4{margin:0 0 1rem;color:var(--color-text-primary, #333);font-size:1.1rem}.restrictions-info ul{margin:0;padding-left:1.5rem;color:var(--color-text-secondary, #666)}.restrictions-info li{margin-bottom:.5rem;line-height:1.5}.restrictions-info li:last-child{margin-bottom:0}@media(max-width:768px){.game-time-restrictions{padding:1rem}.member-header{flex-direction:column;align-items:stretch;gap:1rem}.time-window-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-save,.btn-cancel,.btn-delete{width:100%}}.game-settings{padding:2rem;max-width:1000px;margin:0 auto}.game-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.game-settings-header h2{margin:0 0 .5rem;color:var(--color-text-primary, #333);font-size:1.8rem}.header-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn-view-family-progress{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color, #4a90e2);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s;font-size:.95rem;white-space:nowrap}.btn-view-family-progress:hover{background:var(--primary-dark, #357abd)}.game-settings-description{margin:0;color:var(--color-text-secondary, #666);font-size:1rem}.btn-seed-games{background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-seed-games:hover:not(:disabled){background:#218838}.btn-seed-games:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.no-games-message{text-align:center;padding:3rem;background:#f8f9fa;border-radius:12px;color:var(--color-text-secondary, #666)}.games-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.game-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;transition:all .2s;border:2px solid transparent}.game-item.enabled{border-color:#28a745;background:#f8fff9}.game-item.disabled{opacity:.6;background:#f8f9fa}.game-item-main{display:flex;align-items:center;gap:1.5rem;flex:1}.game-icon-large{font-size:3rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:12px;flex-shrink:0}.game-info{flex:1}.game-name{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:var(--color-text-primary, #333)}.game-description{margin:0 0 .75rem;color:var(--color-text-secondary, #666);font-size:.95rem;line-height:1.4}.game-meta{display:flex;gap:1rem;align-items:center}.game-category,.game-age{padding:.25rem .75rem;background:#e9ecef;border-radius:12px;font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #666)}.game-actions{display:flex;align-items:center;gap:1rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#28a745}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.btn-delete-game{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-delete-game:hover:not(:disabled){background:#c82333}.btn-delete-game:disabled{background:#6c757d;cursor:not-allowed;opacity:.7}.game-settings-info{margin-top:2rem;padding:1.5rem;background:#e7f3ff;border-radius:12px;border-left:4px solid #3b82f6}.game-settings-info h3{margin:0 0 1rem;color:var(--color-text-primary, #333);font-size:1.1rem}.game-settings-info ul{margin:0;padding-left:1.5rem;color:var(--color-text-secondary, #666)}.game-settings-info li{margin-bottom:.5rem;line-height:1.5}.game-settings-info li:last-child{margin-bottom:0}.game-time-restrictions-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #e9ecef}@media(max-width:768px){.game-settings{padding:1rem}.game-settings-header{flex-direction:column}.game-item{flex-direction:column;align-items:stretch;gap:1rem}.game-actions{justify-content:space-between;padding-top:1rem;border-top:1px solid #e9ecef}}.member-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #0000001a;flex-shrink:0;position:relative;background:linear-gradient(135deg,#667eea,#764ba2)}.member-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.member-avatar-emoji{font-size:1.5em;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.member-avatar-initials{font-size:.875rem;font-weight:700;color:#fff;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.5px}.member-avatar.avatar-error .member-avatar-image{display:none}.member-avatar[size=small]{width:32px;height:32px;min-width:32px;min-height:32px}.member-avatar[size=small] .member-avatar-initials{font-size:.75rem}.member-avatar[size=small] .member-avatar-emoji{font-size:1.2em}.member-avatar[size=large]{width:64px;height:64px;min-width:64px;min-height:64px}.member-avatar[size=large] .member-avatar-initials{font-size:1.125rem}.member-avatar[size=large] .member-avatar-emoji{font-size:2em}.settings-container{min-height:calc(100vh - 60px);background:var(--color-background);padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + 70px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(min-width:769px){.settings-container{padding-bottom:var(--spacing-lg)}}@media(max-width:768px){.settings-container{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + 70px)}}.household-name-section{background:var(--color-background-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.household-name-display{margin-top:15px}.current-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:var(--spacing-md);background:var(--color-background-dark);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.settings-card{max-width:900px;margin:0 auto;background:var(--color-background-light);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}@media(max-width:768px){.settings-card{padding:var(--spacing-lg);border-radius:var(--radius-md)}}.settings-card h1{color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1.3}@media(max-width:768px){.settings-card h1{font-size:1.5rem}}.timezone-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-background-dark);border-radius:var(--radius-md)}.timezone-display{padding:var(--spacing-md);background:var(--color-background-light);border-radius:var(--radius-sm);border-left:4px solid var(--color-primary)}.current-timezone{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tabs{display:flex;gap:var(--spacing-sm);border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-xl)}.tabs button{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tabs button:hover{color:#3b82f6}.tabs button.active{color:#3b82f6;border-bottom-color:#3b82f6}.section-header h2{color:var(--color-text-primary);margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.action-buttons{display:flex;gap:10px}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:6px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#d0d0d0}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e}.form-card{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:30px}.form-card h3{color:#333;margin:0 0 20px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:1em;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:10px;margin-top:20px}.members-list,.invitations-list{margin-top:30px}.members-list h3,.invitations-list h3{color:#333;margin:0 0 15px}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.member-card{background:#f8f9fa;border-radius:8px;padding:15px;display:flex;align-items:center;gap:12px}.member-info h4{margin:0 0 4px;color:#333;font-size:1em}.member-info p{margin:0;color:#666;font-size:.85em}.managed-badge{display:inline-block;background:#667eea;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75em;margin-top:4px}.invitation-card{background:#fff3cd;border-radius:8px;padding:15px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.invitation-info p{margin:4px 0;color:#333}.profile-section,.notifications-section{padding:20px 0}.section-description{color:#666;font-size:.95em;margin-bottom:30px;line-height:1.6}.notification-status{background:#f8f9fa;border-radius:12px;padding:30px;margin-top:20px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.status-header h3{color:#333;margin:0;font-size:1.3em}.status-badge{padding:6px 16px;border-radius:20px;font-size:.9em;font-weight:600}.status-badge.enabled{background:#4caf50;color:#fff}.status-badge.disabled{background:#e0e0e0;color:#666}.status-message{color:#666;margin:15px 0;line-height:1.6}.notification-features{list-style:none;padding:0;margin:20px 0}.notification-features li{padding:10px 0;color:#333;font-size:.95em;border-bottom:1px solid #e0e0e0}.notification-features li:last-child{border-bottom:none}.notification-actions{margin-top:20px}.help-text{color:#999;font-size:.85em;margin-top:15px;line-height:1.5}@media(max-width:768px){.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{min-width:100px;flex-shrink:0}.member-item{padding:var(--spacing-md);min-height:60px}.member-item button{min-height:44px;min-width:44px}.settings-card{padding:var(--spacing-md)}.settings-card{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:15px}.action-buttons{width:100%;flex-direction:column}.action-buttons button{width:100%}}.invite-accept-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.invite-accept-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:50px 40px;max-width:450px;width:100%;text-align:center}.invite-accept-card.error{border-left:4px solid #d32f2f}.invite-accept-card h2{color:#333;margin:0 0 15px}.invite-accept-card p{color:#666;margin:15px 0}.spinner-large{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.btn-primary{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1em;font-weight:600;cursor:pointer;margin-top:20px}.btn-primary:hover{background:#5568d3}.legal-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:40px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.legal-container{max-width:900px;margin:0 auto;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:60px 50px;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.legal-header{text-align:center;margin-bottom:50px;padding-bottom:30px;border-bottom:2px solid #e8e8e8}.legal-header h1{color:#1a1a1a;margin:0 0 12px;font-size:2.5em;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.last-updated{color:#666;font-size:.95em;margin:0;font-style:italic}.legal-content{line-height:1.8;color:#333}.legal-content section{margin-bottom:40px}.legal-content h2{color:#667eea;font-size:1.5em;font-weight:700;margin:0 0 16px;padding-top:20px}.legal-content h3{color:#764ba2;font-size:1.2em;font-weight:600;margin:24px 0 12px}.legal-content p{margin:0 0 16px;color:#444;font-size:1em}.legal-content ul{margin:16px 0;padding-left:30px}.legal-content li{margin:8px 0;color:#444}.legal-content strong{color:#667eea;font-weight:600}.legal-footer{margin-top:50px;padding-top:30px;border-top:2px solid #e8e8e8;text-align:center}.back-link{display:inline-block;color:#667eea;text-decoration:none;font-weight:600;font-size:1.05em;transition:all .3s ease;padding:12px 24px;border-radius:8px}.back-link:hover{color:#764ba2;background:#667eea1a;transform:translate(-4px)}@media(max-width:768px){.legal-container{padding:40px 30px}.legal-header h1{font-size:2em}.legal-content h2{font-size:1.3em}.legal-content h3{font-size:1.1em}}@media(max-width:480px){.legal-page{padding:20px 10px}.legal-container{padding:30px 20px}.legal-header h1{font-size:1.75em}}.task-filters-container{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 12px #00000014;border:1px solid #e2e8f0}.search-bar{margin-bottom:20px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-md);font-size:1.2em;color:var(--color-text-secondary);pointer-events:none}.search-input{width:100%;padding:var(--spacing-sm) 50px var(--spacing-sm) 48px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);transition:all var(--transition-base);background:var(--color-background);color:var(--color-text-primary)}.search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-background-light);box-shadow:0 0 0 3px var(--color-primary-light)}.clear-search-btn{position:absolute;right:var(--spacing-sm);background:none;border:none;font-size:1.2em;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-full);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.clear-search-btn:hover{background:var(--color-background-dark);color:var(--color-text-primary)}.quick-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.preset-chip{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);transition:all var(--transition-base);white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-xs)}.preset-chip:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.preset-chip.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.active-filters{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.active-filters-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.active-filter-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-light);border:1px solid var(--color-border-dark);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.remove-filter-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.remove-filter-btn:hover{background:var(--color-background-dark);color:var(--color-text-primary)}.clear-all-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:var(--color-error-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.clear-all-btn:hover{background:var(--color-error);border-color:var(--color-error-dark);color:var(--color-text-inverse)}.advanced-filters{margin-top:20px;padding-top:20px;border-top:2px solid #e2e8f0}.toggle-filters-btn{width:100%;padding:var(--spacing-sm);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);transition:all var(--transition-base);text-align:left;display:flex;align-items:center;gap:var(--spacing-sm)}.toggle-filters-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-background-light)}.filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background-light);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.filter-select:hover{border-color:var(--color-border-dark)}@media(max-width:768px){.task-filters-container{padding:16px}.filter-panel{grid-template-columns:1fr}.quick-filters{gap:8px}.preset-chip{padding:8px 14px;font-size:.85em}}.recurring-deletion-group{margin:20px 0;padding:16px;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.recurring-deletion-options{display:flex;flex-direction:column;gap:12px;margin-top:12px}.recurring-deletion-options .deletion-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.recurring-deletion-options .deletion-option:hover{border-color:#cbd5e0}.recurring-deletion-options .deletion-option input[type=radio]{margin-top:2px;cursor:pointer}.recurring-deletion-options .deletion-option:has(input[type=radio]:checked){border-color:#667eea;background:#f0f4ff}.recurring-deletion-options .option-content{display:flex;flex-direction:column;gap:4px;flex:1}.recurring-deletion-options .option-content strong{color:#1a202c;font-size:.9375rem}.recurring-deletion-options .option-description{color:#718096;font-size:.8125rem;line-height:1.4}.recurring-tasks-list{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.recurring-tasks-list strong{display:block;margin-bottom:8px;color:#2d3748;font-size:.875rem}.recurring-tasks-list ul{margin:0;padding-left:20px;list-style:disc}.recurring-tasks-list li{color:#4a5568;font-size:.875rem;margin-bottom:4px}.confirm-bulk-action-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.confirm-bulk-action-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#1a1a1a;font-weight:700}.btn-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-close:hover{background:#f0f0f0;color:#1a1a1a}.modal-body{padding:2rem}.action-message{font-size:1rem;color:#666;margin:0 0 1.5rem;line-height:1.5}.selected-tasks-summary{background:#f5f5f5;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;color:#667eea;font-size:.95rem}.confirm-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#1a1a1a;font-size:.9rem}.form-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input textarea{resize:vertical;min-height:100px;font-family:inherit}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.btn-cancel,.btn-confirm{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-confirm{background:#667eea;color:#fff}.btn-confirm:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-confirm.destructive{background:#f44336}.btn-confirm.destructive:hover{background:#d32f2f;box-shadow:0 4px 12px #f443364d}@media(max-width:768px){.confirm-bulk-action-modal{width:95%;max-height:85vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.3rem}.modal-body{padding:1.5rem}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-confirm{width:100%}}.bulk-actions-toolbar{position:sticky;top:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;box-shadow:0 4px 12px #00000026;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:2rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-actions-info{display:flex;align-items:center;gap:1rem}.selection-count{font-weight:600;font-size:1rem;background:#fff3;padding:.5rem 1rem;border-radius:8px}.btn-clear-selection{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-clear-selection:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.btn-clear-selection:disabled{opacity:.6;cursor:not-allowed}.bulk-actions-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.btn-bulk-action{background:#fffffff2;color:#667eea;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;box-shadow:0 2px 6px #0000001a}.btn-bulk-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #00000026}.btn-bulk-action:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-bulk-action.btn-approve:hover:not(:disabled){background:#4caf50;color:#fff}.btn-bulk-action.btn-reject:hover:not(:disabled){background:#f44336;color:#fff}.btn-bulk-action.btn-delete:hover:not(:disabled){background:#d32f2f;color:#fff}.btn-bulk-action.btn-assign:hover:not(:disabled){background:#2196f3;color:#fff}.btn-bulk-action.btn-status:hover:not(:disabled){background:#ff9800;color:#fff}.bulk-action-loading{position:fixed;inset:0;background:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;z-index:1000;color:#fff;font-size:1.1rem;font-weight:600}.bulk-action-loading .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.bulk-actions-toolbar{flex-direction:column;padding:1rem;gap:1rem}.bulk-actions-buttons{width:100%;justify-content:center}.btn-bulk-action{flex:1;min-width:100px;font-size:.85rem;padding:.5rem .75rem}}.quick-actions-overlay{position:fixed;inset:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease-out}.quick-actions-menu{position:fixed;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:1000;min-width:200px;padding:.5rem 0;animation:slideUp .2s ease-out;transform:translate(-50%,-100%);margin-top:-10px}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-90%)}to{opacity:1;transform:translate(-50%,-100%)}}.quick-action-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.5rem;border:none;background:none;text-align:left;cursor:pointer;font-size:1rem;color:#1a1a1a;transition:background-color .2s}.quick-action-item:hover{background:#f5f5f5}.quick-action-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.quick-action-item:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.action-icon{font-size:1.2rem;width:24px;text-align:center}.action-approve{color:#4caf50}.action-approve:hover{background:#e8f5e9}.action-reject{color:#f44336}.action-reject:hover{background:#ffebee}.action-delete{color:#d32f2f}.action-delete:hover{background:#ffebee}@media(max-width:768px){.quick-actions-menu{min-width:180px}.quick-action-item{padding:.65rem 1.25rem;font-size:.95rem}}.swipeable-task-card{position:relative;transition:transform .2s ease-out,background-color .2s ease-out;overflow:hidden;border-radius:16px}.swipeable-task-card.swiping{transition:none}.swipeable-task-card.loading{opacity:.7;pointer-events:none}.swipe-action-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}.swipe-action-indicator.swipe-right{justify-content:flex-start;padding-left:2rem}.swipe-action-indicator.swipe-left{justify-content:flex-end;padding-right:2rem}.swipe-icon{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);display:flex;align-items:center;gap:.5rem}.swipeable-task-content{position:relative;z-index:2;background:#fff;transition:opacity .2s}.swipeable-task-card.swiping .swipeable-task-content{opacity:.9}@media(max-width:768px){.swipeable-task-card{touch-action:pan-y}.swipe-action-indicator{font-size:1.2rem}}.inline-editable-title{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;padding:2px 4px;border-radius:4px;display:inline-block;min-width:20px}.inline-editable-title:hover:not(.disabled){background-color:#3b82f61a;outline:1px dashed rgba(59,130,246,.3)}.inline-editable-title.disabled{cursor:default}.inline-editable-title-input{width:100%;border:2px solid #3B82F6;border-radius:4px;padding:4px 8px;font-size:inherit;font-weight:inherit;font-family:inherit;background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f61a}.inline-editable-title-input:disabled{opacity:.6;cursor:wait}.priority-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:4px;border:1px solid;white-space:nowrap;transition:all .2s ease}.priority-badge-small{font-size:.75rem;padding:2px 6px;min-width:24px;height:20px}.priority-badge-medium{font-size:.875rem;padding:4px 8px;min-width:32px;height:24px}.priority-badge-large{font-size:1rem;padding:6px 12px;min-width:40px;height:28px}.priority-badge:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.snooze-button-container{position:relative;display:inline-block}.snooze-button{background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;opacity:.7}.snooze-button:hover{opacity:1;background-color:#3b82f61a;transform:scale(1.1)}.snooze-button:disabled{opacity:.5;cursor:wait}.snooze-menu{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:220px;overflow:hidden}.snooze-menu-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #E5E7EB;font-size:.875rem;font-weight:600;color:#1f2937}.snooze-menu-options{display:flex;flex-direction:column;padding:8px}.snooze-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;font-family:inherit}.snooze-option:hover:not(:disabled){background:#f3f4f6}.snooze-option:disabled{opacity:.6;cursor:wait}.snooze-icon{font-size:1.2rem;flex-shrink:0}.snooze-label{flex:1;font-size:.9rem;font-weight:500;color:#1f2937}.snooze-time{font-size:.8rem;color:#6b7280;font-weight:400}.snooze-option-custom{border-top:1px solid #E5E7EB;margin-top:4px;padding-top:12px}.task-card .snooze-menu{right:auto;left:0}.kanban-task-card .snooze-menu{right:auto;left:0;margin-top:4px}.kanban-task-card{background:#fff;border-radius:8px;border-left:4px solid;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;position:relative}.kanban-task-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.kanban-task-card.selected{border-color:#4299e1;box-shadow:0 2px 8px #4299e14d}.kanban-task-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1;min-width:0;position:relative}.kanban-task-complete-checkbox{position:absolute;top:8px;left:8px;z-index:10;flex-shrink:0}.kanban-task-snooze{position:absolute;top:8px;right:8px;z-index:10;opacity:0;transition:opacity .2s ease}.kanban-task-card:hover .kanban-task-snooze{opacity:1}.kanban-task-checkbox{position:absolute;top:8px;right:8px;width:20px;height:20px;cursor:pointer;z-index:10}.kanban-task-checkbox input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.checkbox-mark{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid #cbd5e0;border-radius:4px;background:#fff;transition:all .2s}.checkbox-mark.checked{background:#4299e1;border-color:#4299e1}.checkbox-mark.checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.kanban-task-icon{font-size:20px;margin-bottom:8px}.kanban-status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}.kanban-task-title{font-size:.95rem;font-weight:600;color:#2d3748;margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-task-points{font-size:.85rem;font-weight:700;color:#4a5568;margin-bottom:8px}.kanban-task-date{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:4px}.kanban-column{flex:1;min-width:280px;background:#f7fafc;border-radius:12px;border-top:4px solid;display:flex;flex-direction:column;margin-right:16px;max-height:calc(100vh - 200px);overflow:hidden}.kanban-column-header{padding:16px;background:#fff;border-bottom:2px solid;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.kanban-column-title{font-size:1rem;font-weight:700;color:#2d3748;margin:0;text-transform:uppercase;letter-spacing:.5px}.kanban-column-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#edf2f7;border-radius:12px;font-size:.85rem;font-weight:700;color:#4a5568}.kanban-column-content{flex:1;padding:16px;overflow-y:auto;overflow-x:hidden}.kanban-column-empty{text-align:center;padding:40px 20px;color:#a0aec0;font-size:.9rem}.kanban-column-content::-webkit-scrollbar{width:6px}.kanban-column-content::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.kanban-column-content::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.kanban-column-content::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media(max-width:768px){.kanban-column{min-width:260px;margin-right:12px}}.error-display{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:var(--color-background-light);border:2px solid var(--color-error);border-radius:var(--radius-lg);margin:var(--spacing-lg) 0}.error-display-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.8}.error-display-content{margin-bottom:var(--spacing-lg)}.error-display-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-error);margin:0 0 var(--spacing-sm) 0}.error-display-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6;max-width:500px}.error-display-actions{margin-top:var(--spacing-md)}@media(max-width:768px){.error-display{padding:var(--spacing-xl) var(--spacing-md)}.error-display-icon{font-size:2.5rem}.error-display-title{font-size:var(--font-size-lg)}.error-display-message{font-size:var(--font-size-sm)}}.task-list-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:24px 24px 94px;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.task-list-container{padding:16px 16px 86px}}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #E5E7EB;flex-wrap:wrap;gap:16px}.task-list-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.task-list-header-controls{display:flex;align-items:center;gap:16px}.view-toggle{display:flex;background:#fff;border-radius:8px;padding:4px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB}.view-toggle-btn{padding:8px 16px;border:none;background:transparent;color:#6b7280;font-size:.875rem;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s ease;transition:all .2s}.view-toggle-btn:hover{background:#f7fafc;color:#4a5568}.view-toggle-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.kanban-board{display:flex;gap:0;overflow-x:auto;margin:-20px -20px 0;padding:20px}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.kanban-board::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.kanban-board::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media(max-width:768px){.task-list-header{flex-direction:column;align-items:flex-start;gap:16px}.task-list-title{font-size:1.5rem}.view-toggle{width:100%}.view-toggle-btn{flex:1}}.pull-to-refresh-indicator{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;background:#4299e1;color:#fff;font-weight:600;overflow:hidden;z-index:10}.refreshing-indicator .spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#4299e1;border-radius:50%;animation:spin .8s linear infinite}.results-count{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0}.results-number{font-size:1.5em;font-weight:800;color:#4a5568}.select-all-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0;font-weight:600;color:#4a5568;transition:all .2s}.select-all-checkbox:hover{background:#f7fafc;border-color:#cbd5e0}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:#4299e1}.tasks-grid{display:grid;gap:24px}.tasks-grid-day{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:28px}.tasks-grid-week{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.tasks-grid-month{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.task-card-wrapper{position:relative}.task-card-wrapper.selected .task-card{border-color:#4299e1;box-shadow:0 4px 16px #4299e133}.checkbox-custom{width:20px;height:20px;border:2px solid #4299e1;border-radius:4px;background:#fff;position:relative;transition:all .2s}.task-checkbox:checked+.checkbox-custom{background:#4299e1;border-color:#4299e1}.task-card{background:#fff;border-radius:12px;padding:24px 24px 24px 27px;box-shadow:0 2px 8px #0000000f;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e2e8f0;border-left:3px solid #cbd5e0;position:relative;overflow:visible}.task-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;border-color:#cbd5e0;border-left-color:#4299e1}.task-card-day{padding:28px 28px 28px 31px;border-radius:14px;box-shadow:0 3px 10px #00000014;border-left-width:4px}.task-card-day:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f;border-left-color:#4299e1}.task-card-week{padding:20px 20px 20px 24px;border-radius:12px;border-left-width:3px}.task-card-week:hover{border-left-color:#4299e1}.task-card-month{padding:16px 16px 16px 20px;border-radius:10px;box-shadow:0 1px 4px #0000000d;border-left-width:3px}.task-card-month:hover{transform:translateY(-1px);box-shadow:0 3px 10px #00000014;border-left-color:#4299e1}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;position:relative;z-index:1}.task-category-icon{font-size:1.5em}.status-badge{padding:4px 12px;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase}.badge-assigned{background:#e3f2fd;color:#1976d2}.badge-in-progress{background:#fff3e0;color:#f57c00}.badge-review-pending{background:#f3e5f5;color:#7b1fa2}.badge-changes-needed{background:#ffebee;color:#c62828}.badge-completed{background:#e8f5e9;color:#2e7d32}.badge-skipped{background:#f5f5f5;color:#757575}.task-title{color:var(--color-text-primary);margin:0;padding-left:0;margin-bottom:var(--spacing-sm);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.4;position:relative;z-index:1}.task-card-day .task-title{font-size:1.35rem;margin-bottom:12px}.task-card-week .task-title{font-size:1.15rem;margin-bottom:10px}.task-card-month .task-title{font-size:1rem;margin-bottom:8px;line-height:1.3}.task-snooze-button{position:absolute;top:8px;right:8px;z-index:10;opacity:0;transition:opacity .2s ease}.task-card:hover .task-snooze-button{opacity:1}.task-description{color:#4a5568;font-size:.95em;margin:0 0 18px;padding-left:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-description-compact{-webkit-line-clamp:1;margin-bottom:12px;font-size:.9em;line-height:1.5}.task-card-month .task-description{display:none}.task-tags-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;margin-bottom:15px;padding-left:0}.task-tags-compact{margin-bottom:12px}.tags-more{font-size:.75rem;color:#718096;font-weight:600;padding:2px 6px;background:#f7fafc;border-radius:4px}.task-card-month .task-tags-list{display:none}.task-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:2px solid #f7fafc;margin-top:8px}.task-points{display:flex;align-items:baseline;gap:4px;padding:6px 12px;background:#edf2f7;border-radius:8px;color:#2d3748;border:1px solid #E2E8F0;transition:all .2s}.task-points:hover{background:#e2e8f0}.points-value{font-size:1.4em;font-weight:800;color:#2d3748}.points-label{font-size:.8em;color:#718096;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.task-card-month .task-points{padding:4px 10px}.task-card-month .points-value{font-size:1.2em}.task-card-month .points-label{font-size:.7em}.task-due-date{font-size:.9em;color:#718096;font-weight:600;padding:4px 10px;background:#f7fafc;border-radius:6px}.task-due-date.overdue{color:#fff;background:linear-gradient(135deg,#f56565,#e53e3e);font-weight:700;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.proof-required{font-size:1.2em}.tag-chip{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid;margin-right:.5rem;margin-bottom:.25rem}.loading-state,.empty-state,.error-state{text-align:center;padding:40px 20px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4299e1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@media(max-width:768px){.task-card{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) + 4px);min-height:60px}.task-card-day{padding:20px 20px 20px 24px}.task-card-week{padding:16px 16px 16px 20px}.task-card-month{padding:14px 14px 14px 18px}.task-card-actions{gap:var(--spacing-sm)}.task-card-actions button{min-height:44px;min-width:44px}.tasks-grid,.tasks-grid-day,.tasks-grid-week,.tasks-grid-month{grid-template-columns:1fr;gap:16px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.delete-recurring-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;color:#1a202c}.modal-close{background:none;border:none;font-size:28px;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-content{padding:24px}.task-title{font-size:1.125rem;font-weight:600;color:#2d3748;margin:0 0 12px}.task-info{color:#4a5568;margin:0 0 16px;line-height:1.5}.instance-count{background:#edf2f7;padding:12px;border-radius:8px;color:#2d3748;margin:0 0 20px;font-size:.875rem}.deletion-options{display:flex;flex-direction:column;gap:12px}.deletion-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.deletion-option:hover{border-color:#cbd5e0;background:#f7fafc}.deletion-option input[type=radio]{margin-top:2px;cursor:pointer}.deletion-option input[type=radio]:checked+.option-content{color:#2d3748}.deletion-option:has(input[type=radio]:checked){border-color:#667eea;background:#f0f4ff}.option-content{display:flex;flex-direction:column;gap:4px;flex:1}.option-content strong{color:#1a202c;font-size:1rem}.option-description{color:#718096;font-size:.875rem;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e2e8f0}.btn-secondary,.btn-danger{padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#edf2f7;color:#2d3748}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background:#c53030}.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.time-picker-container{margin-top:0}.time-picker-modes{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.time-mode-btn{padding:10px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .2s ease;flex:1;min-width:100px;box-shadow:0 1px 3px #0000000d}.time-mode-btn:hover:not(:disabled){background:#f7fafc;border-color:#667eea;transform:translateY(-1px);box-shadow:0 2px 6px #667eea26}.time-mode-btn.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:600;box-shadow:0 2px 8px #667eea4d}.time-mode-btn:disabled{opacity:.6;cursor:not-allowed}.time-period-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:#f7fafc;border-radius:10px;border:1px solid #e2e8f0}.period-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-sm);background:var(--color-background-light);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);transition:all var(--transition-fast)}.period-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-primary)}.period-btn.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.period-time{font-size:.75em;font-weight:400;opacity:.8}.time-specific-selector{padding:12px;background:#f7fafc;border-radius:10px;border:1px solid #e2e8f0}.time-selector-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.time-select-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:120px}.time-select-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.time-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-background-light);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.time-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.time-select:disabled{opacity:.6;cursor:not-allowed}.time-display{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-background-light);border-radius:var(--radius-md);border:2px solid var(--color-primary);min-width:140px}.time-display-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.time-display-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}@media(max-width:768px){.time-picker-modes{flex-direction:column}.time-mode-btn{width:100%}.time-period-selector{grid-template-columns:1fr}.time-selector-row{flex-direction:column;align-items:stretch}.time-display{width:100%;text-align:center}}.tag-selector{display:flex;flex-direction:column;gap:15px}.selected-tags,.tag-search-section{display:flex;flex-direction:column;gap:8px}.selected-tags label,.tag-search-section label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm)}.tag-chips-container{display:flex;flex-wrap:wrap;gap:6px}.tag-search-input{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);width:100%;transition:all var(--transition-base);background:var(--color-background-light);color:var(--color-text-primary)}.tag-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.create-tag-form{padding:var(--spacing-md);background:var(--color-background-dark);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm)}.create-tag-row{display:flex;gap:10px;align-items:center}.create-tag-name-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--color-background-light);color:var(--color-text-primary)}.create-tag-name-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.color-picker{display:flex;gap:6px;align-items:center}.color-option{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.1);border-color:var(--color-text-primary)}.color-option.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-background-light),0 0 0 4px var(--color-primary)}.create-tag-actions{display:flex;gap:8px}.btn-small{padding:6px 12px;font-size:.85em}.create-tag-button{width:fit-content;margin-top:5px}.available-tags{max-height:150px;overflow-y:auto;padding:var(--spacing-sm);background:var(--color-background-dark);border-radius:var(--radius-sm)}.tag-section-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.no-tags-found{padding:var(--spacing-sm);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tag-chip-button{background:none;border:none;padding:0;cursor:pointer;transition:transform .2s ease}.tag-chip-button:hover{transform:scale(1.05)}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0;margin-left:var(--spacing-xs);transition:color var(--transition-fast)}.link-button:hover{color:var(--color-primary-dark)}.tag-selector-compact{display:flex;flex-direction:column;gap:8px}.tag-selector-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-label-inline{font-size:.85rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;margin:0;flex-shrink:0}.tag-input-group{display:flex;align-items:center;gap:6px;flex:1;min-width:150px}.tag-search-input-compact{flex:1;padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:.9em;background:#f7fafc;transition:all .2s ease;min-width:120px}.tag-search-input-compact:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.btn-create-tag-compact{padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;font-size:1.1em;font-weight:600;color:#667eea;cursor:pointer;transition:all .2s ease;flex-shrink:0;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-create-tag-compact:hover{border-color:#667eea;background:#f7fafc;transform:translateY(-1px)}.tag-chips-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.create-tag-form-compact{margin-top:8px;padding:10px;background:var(--color-background-dark);border-radius:8px;border:1px solid var(--color-border)}.create-tag-row-compact{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.create-tag-name-input-compact{flex:1;min-width:120px;padding:6px 10px;border:2px solid var(--color-border);border-radius:6px;font-size:.9em;background:var(--color-background-light)}.create-tag-name-input-compact:focus{outline:none;border-color:var(--color-primary)}.color-picker-compact{display:flex;gap:4px;align-items:center}.color-option-compact{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-option-compact:hover{transform:scale(1.1)}.color-option-compact.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-background-light)}.btn-create-compact,.btn-cancel-compact{padding:6px 12px;border:2px solid var(--color-border);border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-create-compact{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-create-compact:hover:not(:disabled){background:var(--color-primary-dark)}.btn-create-compact:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-compact{background:#fff;color:var(--color-text-secondary)}.btn-cancel-compact:hover{background:var(--color-background)}.available-tags-compact{margin-top:8px;padding:8px;background:var(--color-background-dark);border-radius:6px;max-height:120px;overflow-y:auto}.tag-chips-container-compact{display:flex;flex-wrap:wrap;gap:6px}.no-tags-found-compact{padding:8px;text-align:center;color:var(--color-text-secondary);font-size:.85em}.link-button-compact{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0;margin-left:4px}.link-button-compact:hover{color:var(--color-primary-dark)}.priority-selector{display:flex;flex-direction:column;gap:8px}.priority-selector-label{font-size:.875rem;font-weight:500;color:#374151}.priority-selector-options{display:flex;gap:8px;flex-wrap:wrap}.priority-option{display:flex;align-items:center;gap:6px;padding:10px 14px;border:2px solid #D1D5DB;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.875rem;box-shadow:0 1px 3px #0000000d}.priority-option:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.priority-option:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.priority-option:disabled{opacity:.5;cursor:not-allowed}.priority-option.active{font-weight:600}.priority-option-small{padding:4px 8px;font-size:.75rem}.priority-option-medium{padding:8px 12px;font-size:.875rem}.priority-option-large{padding:10px 16px;font-size:1rem}.priority-option-icon{font-size:1rem}.priority-option-label{white-space:nowrap}@media(max-width:640px){.priority-selector-options{flex-direction:column}.priority-option{width:100%;justify-content:flex-start}}.subtask-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;transition:all .2s ease}.subtask-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.subtask-item.completed{opacity:.7}.subtask-checkbox-wrapper{position:relative;flex-shrink:0}.subtask-checkbox{width:20px;height:20px;cursor:pointer;opacity:0;position:absolute;z-index:1}.subtask-checkmark{display:inline-block;width:20px;height:20px;border:2px solid #D1D5DB;border-radius:4px;background:#fff;position:relative;transition:all .2s ease}.subtask-checkbox:checked+.subtask-checkmark{background:#3b82f6;border-color:#3b82f6}.subtask-checkbox:checked+.subtask-checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.subtask-checkbox:disabled+.subtask-checkmark{opacity:.5;cursor:not-allowed}.subtask-title{flex:1;font-size:.95rem;color:#1f2937;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background-color .2s ease}.subtask-item.completed .subtask-title{text-decoration:line-through;color:#9ca3af}.subtask-title:hover:not(.subtask-item.completed .subtask-title){background-color:#3b82f61a;outline:1px dashed rgba(59,130,246,.3)}.subtask-title-input{flex:1;padding:4px 8px;border:2px solid #3B82F6;border-radius:4px;font-size:.95rem;font-family:inherit;outline:none;box-shadow:0 0 0 3px #3b82f61a}.subtask-delete-btn{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;font-size:1.5rem;line-height:1;cursor:pointer;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.subtask-delete-btn:hover{background:#fee2e2;color:#dc2626}.subtask-list-section{margin-top:24px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #E5E7EB}.subtask-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.subtask-header-left{display:flex;align-items:center;gap:12px;flex:1}.subtask-parent-checkbox{position:relative;flex-shrink:0;cursor:pointer}.subtask-parent-checkbox-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.subtask-parent-checkmark{display:inline-block;width:24px;height:24px;border:2px solid #D1D5DB;border-radius:4px;background:#fff;position:relative;transition:all .2s ease}.subtask-parent-checkbox-input:checked+.subtask-parent-checkmark{background:#10b981;border-color:#10b981}.subtask-parent-checkbox-input:checked+.subtask-parent-checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700}.subtask-parent-checkbox:hover .subtask-parent-checkmark:not(.checked){border-color:#10b981;background:#f0fdf4}.subtask-list-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0}.subtask-progress{display:flex;align-items:center;gap:12px;flex:1;max-width:300px;margin-left:16px}.subtask-progress-text{font-size:.875rem;color:#6b7280;white-space:nowrap}.subtask-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.subtask-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .3s ease}.subtask-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.subtask-add-section{margin-top:12px}.subtask-add-button{width:100%;padding:10px 16px;background:#fff;border:1px dashed #D1D5DB;border-radius:6px;color:#6b7280;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.subtask-add-button:hover{border-color:#3b82f6;color:#3b82f6;background:#f0f9ff}.subtask-add-input{display:flex;flex-direction:column;gap:8px}.subtask-input{width:100%;padding:10px 16px;border:2px solid #3B82F6;border-radius:6px;font-size:.9rem;outline:none;transition:all .2s ease}.subtask-input:focus{box-shadow:0 0 0 3px #3b82f61a}.subtask-add-actions{display:flex;gap:8px;justify-content:flex-end}.subtask-add-btn,.subtask-cancel-btn{padding:6px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.subtask-add-btn{background:#3b82f6;color:#fff}.subtask-add-btn:hover:not(:disabled){background:#2563eb}.subtask-add-btn:disabled{opacity:.5;cursor:not-allowed}.subtask-cancel-btn{background:#f3f4f6;color:#6b7280}.subtask-cancel-btn:hover:not(:disabled){background:#e5e7eb}.breadcrumbs{margin-bottom:var(--spacing-lg);padding:var(--spacing-md) 0}.breadcrumbs-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumbs-item{display:flex;align-items:center;gap:var(--spacing-xs)}.breadcrumbs-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumbs-link:hover{color:var(--color-primary-dark);text-decoration:underline}.breadcrumbs-label{color:var(--color-text-secondary)}.breadcrumbs-current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breadcrumbs-separator{color:var(--color-text-muted);margin:0 var(--spacing-xs);-webkit-user-select:none;user-select:none}@media(max-width:768px){.breadcrumbs{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.breadcrumbs-list{font-size:var(--font-size-xs)}}.task-detail-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:24px 24px 94px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.task-detail-container{padding:16px 16px 86px}}.task-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:12px;max-width:900px;margin-left:auto;margin-right:auto}.task-header-actions{display:flex;gap:8px;align-items:center}.btn-sm{padding:6px 12px;font-size:.875rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500;border:none}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 4px #ef44444d}.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}@media(min-width:769px){.task-detail-container{padding-bottom:var(--spacing-xl)}}.task-detail-card{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB;position:relative}@media(max-width:768px){.task-detail-card{padding:20px;border-radius:8px}}.task-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.task-header-right{display:flex;align-items:center;gap:15px}.edit-button{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;transition:all .2s ease}.edit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.status-actions{padding:20px;background:#f8f9fa;border-radius:8px;margin-bottom:20px}.status-actions h3{margin:0 0 15px;color:#333;font-size:1.2em}.status-selector{display:flex;align-items:center;gap:10px;margin-bottom:10px}.status-selector label{font-weight:600;color:#333;font-size:.9em}.status-dropdown{padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95em;background:#fff;cursor:pointer;transition:all .2s ease;min-width:180px}.status-dropdown:focus{outline:none;border-color:#667eea}.status-quick-actions{display:flex;gap:10px;flex-wrap:wrap}.back-button{padding:8px 16px;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:.9em;color:#666;transition:all .2s ease}.back-button:hover{background:#e0e0e0}.task-status-badge{display:flex;align-items:center}.task-content{display:flex;flex-direction:column;gap:25px}.task-title-row{display:flex;align-items:center;gap:12px;margin-bottom:var(--spacing-md);flex-wrap:wrap}.task-title{color:var(--color-text-primary);margin:0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.2;background:var(--color-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;min-width:0}.task-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.7;margin:0 0 var(--spacing-xl) 0}.task-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:30px;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:16px;border:2px solid #e2e8f0}.task-tags-section{margin-top:20px;padding:20px;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:16px;border:2px solid #e2e8f0}.task-tags-section .info-label{display:block;font-weight:600;color:#333;margin-bottom:12px;font-size:.95em}.task-tags-container{display:flex;flex-wrap:wrap;gap:8px}.info-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border-radius:10px;border:1px solid #e2e8f0;transition:all .2s ease}.info-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:#cbd5e0}.info-label{font-size:.75em;color:#718096;font-weight:700;text-transform:uppercase;letter-spacing:1px}.info-value{font-size:1.2em;color:#2d3748;font-weight:700}.info-value.points{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:8px 16px;border-radius:8px;font-size:1.4em;display:inline-block;width:fit-content}.proof-section,.rejection-history,.comments-section{padding:20px;background:#f8f9fa;border-radius:8px}.proof-section h3,.rejection-history h3,.comments-section h3{margin:0 0 15px;color:#333;font-size:1.2em}.proof-photo-container{margin:15px 0;position:relative}.proof-photo{margin-bottom:10px}.proof-photo img{max-width:100%;border-radius:8px;border:2px solid #e0e0e0}.btn-delete-photo{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-delete-photo:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.btn-delete-photo:disabled{opacity:.6;cursor:not-allowed}.proof-comment{color:#666;margin:10px 0}.rejection-item{padding:12px;background:#ffebee;border-left:4px solid #c62828;border-radius:4px;margin-bottom:10px}.rejection-item p{margin:0 0 5px;color:#333}.comment-item{padding:12px;background:#fff;border-radius:6px;margin-bottom:10px}.comment-item strong{color:#667eea}.comment-item p{margin:5px 0;color:#333}.task-actions{display:flex;flex-direction:column;gap:25px;margin-top:20px}.submit-section,.approval-section,.comment-form{padding:20px;background:#f8f9fa;border-radius:8px}.submit-section h3,.approval-section h3,.comment-form h3{margin:0 0 15px;color:#333}.form-group{margin-bottom:15px}.form-group label{display:block;color:#333;font-weight:600;margin-bottom:8px;font-size:.9em}.form-group input[type=file],.form-group textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1em}.form-group textarea{resize:vertical;min-height:80px}.form-group input[type=file]:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.photo-preview{margin-top:10px}.photo-preview img{max-width:200px;border-radius:8px;border:2px solid #e0e0e0}.approval-buttons{display:flex;gap:15px;flex-wrap:wrap}.reject-form{display:flex;flex-direction:column;gap:15px}.form-actions{display:flex;gap:10px}.btn-primary,.btn-success,.btn-danger,.btn-secondary{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-success{background:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-secondary{background:var(--color-background-dark);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-primary:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;border-left:4px solid #c62828}.loading-state,.error-state{text-align:center;padding:40px 20px}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e2e8f0}.modal-header h2{margin:0;color:#1a202c;font-size:1.5em}.modal-close{background:none;border:none;font-size:1.5em;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:30px}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-body .form-group{margin-bottom:20px}.modal-body input[type=text],.modal-body input[type=number],.modal-body input[type=date],.modal-body select,.modal-body textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1em;transition:all .2s ease}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-body .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.modal-body .checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px 30px;border-top:2px solid #e2e8f0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media(max-width:768px){.task-detail-card{padding:20px}.approval-buttons{flex-direction:column}.approval-buttons button{width:100%}.modal-content{max-width:100%;margin:10px}.modal-body .form-row{grid-template-columns:1fr}.task-header-right{flex-direction:column;gap:10px}}.help-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help}.help-tooltip{position:absolute;z-index:1000;background:#2d3748;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;line-height:1.4;white-space:normal;max-width:250px;box-shadow:0 4px 12px #00000026;animation:fadeIn .2s ease;pointer-events:none}.help-tooltip:before{content:"";position:absolute;width:0;height:0;border:6px solid transparent}.help-tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px}.help-tooltip-top:before{top:100%;left:50%;transform:translate(-50%);border-top-color:#2d3748}.help-tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.help-tooltip-bottom:before{bottom:100%;left:50%;transform:translate(-50%);border-bottom-color:#2d3748}.help-tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.help-tooltip-left:before{left:100%;top:50%;transform:translateY(-50%);border-left-color:#2d3748}.help-tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.help-tooltip-right:before{right:100%;top:50%;transform:translateY(-50%);border-right-color:#2d3748}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#cbd5e0;color:#4a5568;font-size:11px;font-weight:600;cursor:help;transition:all .2s ease}.help-icon:hover{background:#667eea;color:#fff}.form-field{margin-bottom:var(--spacing-lg)}.form-field-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.form-field-required{color:var(--color-error);margin-left:2px}.form-field-input-wrapper{position:relative}.form-field-input,.form-field-select{width:100%;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--color-background-light);color:var(--color-text-primary);transition:all var(--transition-base)}.form-field-input:focus,.form-field-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-field-input:disabled,.form-field-select:disabled{background:var(--color-background-dark);cursor:not-allowed;opacity:.6}.form-field-error{border-color:var(--color-error)!important}.form-field-error:focus{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #f443361a!important}.form-field-has-error .form-field-input,.form-field-has-error .form-field-select{border-color:var(--color-error)}.form-field-error-message{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error);display:flex;align-items:center;gap:var(--spacing-xs)}.form-field-helper-text{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-field-char-count{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.form-field-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}@media(max-width:768px){.form-field-input,.form-field-select{font-size:16px;min-height:44px}}.task-create-container{min-height:calc(100vh - 60px);background:linear-gradient(135deg,#f7fafc,#f0f4f8);padding:24px 24px 104px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%!important;max-width:100%!important;box-sizing:border-box;display:block!important}.task-create-left-column,.task-create-right-column{display:flex;flex-direction:column;gap:16px;min-width:0}.task-create-header{margin-bottom:24px}.task-create-header h1{color:#1a202c;margin:0 0 16px;font-size:2rem;font-weight:700;line-height:1.2;display:flex;align-items:center;gap:12px}.task-create-header h1:before{content:"✨";font-size:2rem;animation:sparkle 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(102,126,234,.3))}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.15) rotate(12deg);opacity:.85}}.task-create-container:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(102,126,234,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.03) 0%,transparent 50%);pointer-events:none;z-index:0}.task-create-container>*{position:relative;z-index:1}.error-message{background:linear-gradient(135deg,#ffebee,#fff3e0);color:#c62828;padding:14px 18px;border-radius:12px;display:flex;align-items:center;gap:10px;border-left:5px solid #c62828;margin-top:16px;box-shadow:0 2px 4px #c628281a;font-weight:500}.task-create-layout{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;width:100%!important;max-width:1600px!important;margin:0 auto!important;align-items:start;box-sizing:border-box!important}@media(min-width:769px){.task-create-layout{grid-template-columns:1fr 1fr!important;display:grid!important;gap:16px!important}.task-create-left-column,.task-create-right-column{width:100%!important;min-width:0!important}}.task-create-section-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.section-title{color:#4a5568;font-size:1.125rem;font-weight:700;margin:0 0 20px;padding-bottom:12px;border-bottom:3px solid #667eea;display:flex;align-items:center;gap:8px}.section-title:before{content:"🎯";font-size:1.25rem}.task-create-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;width:100%;box-sizing:border-box}.task-create-form .form-section.full-width{grid-column:1 / -1}.task-create-form .form-section{min-width:0}.form-section{display:flex;flex-direction:column;gap:6px}.form-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-section label{color:#4a5568;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.required,.required-indicator{color:#e53e3e;margin-left:4px}.form-section input[type=text],.form-section input[type=number],.form-section input[type=date],.form-section select,.form-section textarea{padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:1em;font-family:inherit;background:#fff;transition:all .2s ease;width:100%;box-sizing:border-box}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-hint{display:block;margin-top:6px;font-size:.8125rem;color:#718096;font-style:italic}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-weight:400;cursor:pointer;text-transform:none;letter-spacing:normal;padding:8px;border-radius:6px;transition:background-color .2s ease}.radio-group label:hover{background-color:#f7fafc}.radio-group label input[type=radio]{margin-top:2px}.radio-group label span{font-size:.9375rem;font-weight:500;color:#1a202c}.radio-group label .form-hint{margin-top:0;font-size:.8125rem;color:#718096}.checkbox-label{display:flex;align-items:flex-start;gap:8px;font-weight:400;cursor:pointer;text-transform:none;letter-spacing:normal;color:#4a5568;font-size:.9375rem;line-height:1.5}.task-create-container input[type=checkbox],.task-create-container input[type=radio]{width:18px;height:18px;min-width:18px;min-height:18px;margin-top:2px;cursor:pointer;flex-shrink:0}.assignees-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:14px;background:linear-gradient(135deg,#f7fafc,#fff);border-radius:12px;border:2px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.assignees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.days-selector{display:flex;gap:8px;flex-wrap:wrap}.day-button{padding:10px 16px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;font-weight:600;color:#4a5568;transition:all .2s ease;font-size:.875rem;min-width:50px}.day-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.day-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea4d;transform:scale(1.05)}.recurrence-options{border-left:4px solid #667eea;margin-top:10px;background:linear-gradient(to right,rgba(102,126,234,.05),transparent);padding:12px 18px;border-radius:8px}.recurrence-schedule{display:flex;flex-direction:column;gap:12px}.custom-interval-input{margin-top:8px}.custom-interval-input input{width:100%;padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:.9375rem;font-family:inherit;background:#f7fafc;transition:all .2s ease;box-sizing:border-box}.custom-interval-input input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.preview-info{padding:14px;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:10px;margin-top:12px;border-left:4px solid #667eea;box-shadow:0 2px 4px #0000000d}.preview-info p{margin:0;color:#1976d2;font-size:.9375rem;font-weight:500}.task-create-notes-section,.task-create-subtasks-section{grid-column:1 / -1;margin-top:16px}.subtask-row{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;background-color:#f9fafb}.subtask-row-content{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.subtask-fields-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.subtask-dependencies-select{min-height:60px;width:100%}.task-create-footer{grid-column:1 / -1;display:flex!important;gap:12px!important;justify-content:flex-end!important;align-items:center!important;padding:24px 0 104px;margin-top:16px;border-top:1px solid #e2e8f0}.task-create-footer .btn{min-width:140px!important;height:44px!important;min-height:44px!important;max-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;line-height:1.5!important;padding:.75rem 1.5rem!important;margin:0!important;vertical-align:middle!important;gap:.5rem!important}.task-create-submit-btn,.task-create-cancel-btn{font-size:1rem!important;font-weight:600!important}.task-create-footer .btn>*,.task-create-footer .btn span{display:inline-flex!important;align-items:center!important;line-height:1.5!important;vertical-align:middle!important}@media(max-width:768px){.task-create-layout{grid-template-columns:1fr!important;gap:16px}.task-create-form{grid-template-columns:1fr!important}}@media(max-width:768px){.task-create-container{padding:16px}.task-create-header h1{font-size:1.5rem}.task-create-section-card{padding:16px}.form-row{grid-template-columns:1fr;gap:16px}.form-section-grid{grid-template-columns:1fr;gap:12px}.task-create-footer{flex-direction:column;padding:16px 0 96px}.task-create-footer .btn{width:100%;min-width:unset}.assignees-grid{grid-template-columns:1fr}.subtask-fields-grid{grid-template-columns:1fr;gap:12px}.subtask-row-content{grid-template-columns:1fr}}.preparation-tasks-section{margin-top:16px}.preparation-tasks-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.preparation-task-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.preparation-task-row{display:grid;grid-template-columns:2fr 1fr 80px 1.5fr auto;gap:12px;align-items:end}.preparation-task-field{display:flex;flex-direction:column;gap:4px}.preparation-task-field.full-width{grid-column:1 / -1;margin-top:8px}.preparation-task-field label{font-size:.875rem;font-weight:500;color:#4a5568}.preparation-task-field input,.preparation-task-field select{padding:8px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:.875rem;transition:border-color .2s}.preparation-task-field input:focus,.preparation-task-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.preparation-task-field small{font-size:.75rem;color:#718096;margin-top:2px}.btn-remove-prep-task{background:#fee;border:1px solid #fcc;color:#c33;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s;align-self:end;height:fit-content}.btn-remove-prep-task:hover{background:#fdd;border-color:#f99}.btn-add-prep-task{background:#e6f3ff;border:1px solid #b3d9ff;color:#06c;border-radius:8px;padding:12px 20px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;width:100%}.btn-add-prep-task:hover{background:#cce6ff;border-color:#9cf}@media(max-width:768px){.preparation-task-row{grid-template-columns:1fr;gap:12px}.btn-remove-prep-task{width:100%;align-self:stretch}}.approval-queue-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:24px 24px 94px;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.approval-queue-container{padding:16px 16px 86px}}.pull-to-refresh-indicator{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;overflow:hidden;z-index:10}.refresh-icon{font-size:.9rem;text-align:center}.refreshing-indicator{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:#fff;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.refreshing-indicator .spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.approval-queue-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.approval-queue-header h2{margin:0 0 8px;color:#1f2937;font-size:1.875rem;font-weight:700;line-height:1.3}@media(max-width:768px){.approval-queue-header h2{font-size:1.5rem}}.approval-queue-subtitle{margin:0;color:#6b7280;font-size:.95em;font-weight:500}.badge-count{background:#3b82f6;color:#fff;padding:8px 16px;border-radius:20px;font-size:1.1em;font-weight:700;box-shadow:0 2px 8px #3b82f64d;white-space:nowrap}.results-count-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:1rem}.results-count{display:flex;align-items:baseline;gap:8px;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0}.select-all-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0;font-weight:600;color:#667eea;transition:all .2s}.select-all-checkbox:hover{background:#f5f5ff;border-color:#667eea}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.results-number{font-size:1.5em;font-weight:800;color:#667eea}.results-label{font-size:.95em;color:#718096;font-weight:600}.approval-tasks-list{display:flex;flex-direction:column;gap:15px}.approval-task-card-wrapper{position:relative}.approval-task-card-wrapper.selected .approval-task-card{border-color:#667eea;box-shadow:0 4px 16px #667eea4d}.task-checkbox-label{position:absolute;top:12px;left:12px;z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:all .2s}.task-checkbox-label:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.task-checkbox{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:20px;height:20px;border:2px solid #667eea;border-radius:4px;background:#fff;position:relative;transition:all .2s}.task-checkbox:checked+.checkbox-custom{background:#667eea;border-color:#667eea}.task-checkbox:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.approval-task-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB;border-left:4px solid #F3E5F5;text-decoration:none;color:inherit;transition:all .2s ease;position:relative;overflow:hidden}.approval-task-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#f3e5f5,#7b1fa2);transition:width .3s ease}.approval-task-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-left-color:#7b1fa2}.approval-task-card:hover:before{width:6px}.approval-task-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.task-category-icon{font-size:1.5em;flex-shrink:0}.task-header-row{display:flex;justify-content:space-between;align-items:center;flex:1;gap:16px}.task-header-row h3{margin:0;color:#1a202c;font-size:1.3em;font-weight:700;line-height:1.3;flex:1}.task-description{color:#4a5568;font-size:.95em;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.points-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:12px;font-size:.95em;font-weight:700;box-shadow:0 2px 8px #667eea4d;white-space:nowrap}.assigned-to{color:#666;margin:8px 0;font-size:.9em}.proof-indicator{display:flex;align-items:center;gap:8px;color:#2e7d32;font-size:.9em;margin:8px 0}.due-date{color:#999;font-size:.85em}.loading-state,.empty-state{text-align:center;padding:40px 20px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}.empty-subtitle{color:#666;font-size:.9em;margin-top:8px}.proposal-queue-container{max-width:1200px;margin:0 auto;padding:2rem}.proposal-queue-header{margin-bottom:2rem}.proposal-queue-header h1{font-size:2rem;margin-bottom:.5rem;color:#1a1a1a}.proposal-queue-header .subtitle{color:#666;font-size:1rem}.error-banner{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1rem}.empty-state h2{color:#333;margin-bottom:.5rem}.proposals-list{display:flex;flex-direction:column;gap:1.5rem}.proposal-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s}.proposal-card:hover{box-shadow:0 4px 8px #0000001a}.proposal-header{margin-bottom:1rem}.proposal-info h3{font-size:1.25rem;margin-bottom:.75rem;color:#1a1a1a}.proposal-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.proposer-badge,.category-badge,.points-badge,.date-badge{padding:.25rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500}.proposer-badge{background:#e3f2fd;color:#1976d2}.category-badge{background:#f3e5f5;color:#7b1fa2}.points-badge{background:#fff3e0;color:#e65100}.date-badge{background:#e8f5e9;color:#2e7d32}.proposal-description{margin:1rem 0;color:#666;line-height:1.6}.proposal-details{margin:1rem 0;padding:1rem;background:#f9f9f9;border-radius:8px}.detail-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.detail-row:last-child{margin-bottom:0}.proposal-edit-form{margin:1rem 0;padding:1rem;background:#f9f9f9;border-radius:8px}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.edit-actions{display:flex;gap:.5rem;margin-top:1rem}.proposal-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover:not(:disabled){background:#d0d0d0}.btn-success{background:#4caf50;color:#fff}.btn-success:hover:not(:disabled){background:#45a049}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover:not(:disabled){background:#da190b}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:1rem;color:#1a1a1a}.modal-content p{margin-bottom:1rem;color:#666}.modal-actions{display:flex;gap:.5rem;margin-top:1.5rem;justify-content:flex-end}.loading-spinner{text-align:center;padding:4rem;color:#666}.error-message{text-align:center;padding:4rem;color:#c33}.error-message h2{margin-bottom:1rem}@media(max-width:768px){.proposal-queue-container{padding:1rem}.form-row{grid-template-columns:1fr}.proposal-actions{flex-direction:column}.btn{width:100%}}.notifications-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:24px 24px 94px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.notifications-container{padding:16px 16px 86px}}.notifications-header{max-width:800px;margin:0 auto 30px;display:flex;justify-content:space-between;align-items:center}.notifications-header h1{color:#1f2937;margin:0;font-size:1.875rem;font-weight:700;line-height:1.3}@media(max-width:768px){.notifications-header h1{font-size:1.5rem}}.mark-all-read-btn{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.mark-all-read-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.notifications-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.notification-item{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB;display:flex;align-items:flex-start;gap:15px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;box-shadow:0 2px 8px #0000000d}.notification-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.notification-item.unread{background:#f0f4ff;border-left:4px solid #667eea}.notification-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5em;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:1.1em;color:#333;margin-bottom:6px}.notification-message{color:#666;font-size:.95em;line-height:1.5;margin-bottom:8px}.notification-time{color:#999;font-size:.85em}.notification-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.unread-badge{width:10px;height:10px;background:#667eea;border-radius:50%;display:block}.delete-btn{width:28px;height:28px;border:none;background:#f0f0f0;border-radius:50%;color:#666;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.delete-btn:hover{background:#e0e0e0;color:#333}.empty-state{max-width:800px;margin:100px auto;text-align:center}.empty-icon{font-size:4em;margin-bottom:20px}.empty-state p{color:#666;font-size:1.1em;margin:10px 0}.empty-subtitle{color:#999;font-size:.9em}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.loading-state .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-message{max-width:800px;margin:0 auto 20px;background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;border-left:4px solid #c62828}@media(max-width:768px){.notifications-container{padding:15px}.notifications-header{flex-direction:column;align-items:flex-start;gap:15px}.mark-all-read-btn{width:100%}.notification-item{padding:15px}.notification-icon{width:40px;height:40px;font-size:1.2em}}.reward-store-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:20px 24px 90px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}@media(max-width:768px){.reward-store-container{padding:16px 16px 86px}}.reward-store-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:16px}.reward-store-header-left{display:flex;align-items:center;gap:24px;flex:1;min-width:0}.reward-store-header h1{margin:0;font-size:1.75rem;font-weight:700;color:#1f2937;line-height:1.3;white-space:nowrap}@media(max-width:768px){.reward-store-header{flex-direction:column;align-items:stretch}.reward-store-header-left{flex-direction:column;align-items:flex-start;gap:12px}.reward-store-header h1{font-size:1.5rem}}.reward-store-points-compact{display:flex;flex-direction:column;gap:4px;padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;color:#fff;box-shadow:0 2px 6px #3b82f640}.reward-store-points-main{display:flex;align-items:baseline;gap:6px}.reward-store-points-icon{font-size:1.25rem}.reward-store-points-amount{font-size:1.5rem;font-weight:700;line-height:1}.reward-store-points-label-compact{font-size:.875rem;opacity:.9;font-weight:500}.reward-store-points-lifetime-compact{font-size:.75rem;opacity:.85;font-weight:400}.reward-store-content{margin-top:4px}.reward-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}@media(max-width:768px){.reward-store-grid{grid-template-columns:1fr;gap:12px}}.reward-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB;transition:all .2s ease;display:flex;flex-direction:column;gap:10px;position:relative}.reward-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.reward-card-top-line{display:flex;justify-content:space-between;align-items:center;width:100%}.reward-card-icon{font-size:2.25rem;flex-shrink:0;line-height:1;width:2.25rem}.reward-card-title-line{display:flex;gap:8px;margin-top:10px;align-items:flex-start}.reward-card-title-spacer{width:2.25rem;flex-shrink:0}.reward-card-title{flex:1;font-size:1.125rem;font-weight:700;color:#1f2937;margin:0;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.reward-card-description-wrapper{display:flex;gap:8px;margin-top:4px}.reward-card-description-spacer{width:2.25rem;flex-shrink:0}.reward-card-description{flex:1;font-size:.8125rem;color:#6b7280;margin:0;line-height:1.4;min-width:0}.reward-card-footer{padding-top:10px;border-top:1px solid #E5E7EB}.reward-card-cost-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.reward-card-cost-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reward-card-cost{font-size:1rem;font-weight:700;color:#3b82f6}.reward-card-stock{font-size:.7rem;font-weight:500;padding:2px 6px;border-radius:4px;white-space:nowrap}.reward-card-stock.in-stock{color:#10b981;background:#d1fae5}.reward-card-stock.out-of-stock{color:#ef4444;background:#fee2e2}.reward-card-affordability{display:flex;justify-content:flex-end}.reward-afford-badge{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:4px;white-space:nowrap}.reward-afford-badge.can-afford{color:#10b981;background:#d1fae5}.reward-afford-badge.need-more{color:#ef4444;background:#fee2e2}.reward-card-actions{display:flex;gap:4px;flex-direction:row;flex-shrink:0}.reward-action-btn{width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:none;border-radius:5px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff;box-shadow:0 1px 2px #0000001a;border:1px solid #E5E7EB;line-height:1;flex-shrink:0}.reward-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000002e}.reward-action-btn:active:not(:disabled){transform:translateY(0)}.reward-action-btn:disabled{opacity:.5;cursor:not-allowed}.reward-action-edit{color:#3b82f6}.reward-action-edit:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6}.reward-action-delete{color:#ef4444}.reward-action-delete:hover:not(:disabled){background:#fee2e2;border-color:#ef4444}.reward-action-buy{color:#10b981}.reward-action-buy:hover:not(:disabled){background:#d1fae5;border-color:#10b981}.reward-card-button{padding:8px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reward-card-button-primary{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.reward-card-button-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.reward-card-button-primary:disabled{opacity:.5;cursor:not-allowed}.reward-card-button-secondary{background:#f3f4f6;color:#374151;border:1px solid #E5E7EB}.reward-card-button-secondary:hover:not(:disabled){background:#e5e7eb}.reward-store-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB}.reward-store-empty-icon{font-size:4rem;margin-bottom:16px}.reward-store-empty h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 8px}.reward-store-empty p{font-size:1rem;color:#6b7280;margin:0 0 24px}.reward-create-container{min-height:calc(100vh - 60px);background:#f7fafc;padding:24px 24px 94px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}.reward-create-wrapper{max-width:800px;margin:0 auto}@media(max-width:768px){.reward-create-container{padding:16px 16px 86px}}.reward-create-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.reward-create-header h1{margin:0;font-size:1.875rem;font-weight:700;color:#1f2937;line-height:1.3}@media(max-width:768px){.reward-create-header h1{font-size:1.5rem}}.reward-create-header a{color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s ease}.reward-create-header a:hover{color:#2563eb}.reward-create-header a:hover{text-decoration:underline}.reward-create-form{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014;border:1px solid #E5E7EB}@media(max-width:768px){.reward-create-form{padding:20px;border-radius:8px}}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.required{color:#e74c3c;margin-left:2px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=url],.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.85rem;margin-top:5px}.form-hint{color:#666;font-size:.85rem;margin-top:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.icon-selector{display:flex;gap:10px;align-items:center}.icon-input{width:80px!important;text-align:center;font-size:1.5rem}.icon-preview{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#f5f5f5;border-radius:8px;border:2px solid #e0e0e0}.preview-icon{font-size:2rem}.common-icons{margin-top:15px}.common-icons-label{font-size:.9rem;color:#666;margin-bottom:10px;font-weight:500}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.icon-button{width:45px;height:45px;font-size:1.5rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-button:hover{border-color:#3b82f6;background:#dbeafe;transform:scale(1.1)}.icon-button.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.quantity-input-group{margin-top:10px;display:flex;align-items:center;gap:10px}.quantity-input-group input{width:100px!important}.quantity-label{color:#666;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b}.loading-message,.error-message{text-align:center;padding:40px;font-size:1.1rem;color:#666}.error-message{color:#e74c3c}@media(max-width:768px){.reward-create-header{flex-direction:column;align-items:flex-start;gap:15px}.form-row{grid-template-columns:1fr}.icon-grid{grid-template-columns:repeat(6,1fr)}.form-actions{flex-direction:column-reverse}.btn{width:100%}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.event-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.event-detail-modal{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.event-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #e0e0e0;padding-bottom:16px}.event-detail-header h2{margin:0;font-size:24px;color:#333}.event-detail-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.event-detail-close:hover{background-color:#f0f0f0}.event-detail-content{margin-bottom:24px}.event-detail-section{margin-bottom:20px}.event-detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.event-detail-label{font-weight:600;color:#666;min-width:100px}.event-detail-value{color:#333;text-align:right;flex:1}.event-detail-description{color:#555;line-height:1.6;margin-top:8px;padding:12px;background-color:#f9f9f9;border-radius:4px}.event-detail-actions{display:flex;flex-direction:column;gap:12px;border-top:1px solid #e0e0e0;padding-top:16px}.event-detail-action-buttons{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}.virtual-task-notice{padding:16px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:12px}.virtual-task-message{margin:0 0 8px;color:#856404;font-size:14px;line-height:1.5}.virtual-task-hint{margin:0;color:#856404;font-size:12px;font-style:italic;opacity:.8}.calv2-root{padding:20px;max-width:100%;overflow-x:auto}.rbc-toolbar{display:none!important}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.calendar-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:24px;gap:24px;padding:20px 0}.header-left{display:flex;flex-direction:column;gap:6px}.header-left h1{margin:0;font-size:28px;font-weight:700;color:#1a1a1a;line-height:1.2}.header-left .subtitle{margin:0;color:#555;font-size:14px}.header-center{display:flex;flex-direction:column;align-items:center;gap:12px}.view-toggle{display:flex;gap:4px;background:#f5f5ff;padding:4px;border-radius:999px}.view-btn{padding:8px 18px;border:none;background:transparent;color:#555;font-size:13px;font-weight:500;cursor:pointer;border-radius:999px;transition:all .18s ease;min-width:70px}.view-btn:hover{background:#ececff}.view-btn.active{background:#667eea;color:#fff;box-shadow:0 2px 6px #667eea59}.week-navigation{display:flex;gap:6px;align-items:center}.nav-btn{padding:6px 12px;border:1px solid #d0d0ff;border-radius:999px;background:#fff;cursor:pointer;font-size:13px;transition:all .18s ease;white-space:nowrap;color:#444}.nav-btn:hover{background:#f5f5ff;border-color:#667eea}.nav-btn.today-btn{background:#667eea;color:#fff;border-color:#667eea}.nav-btn.today-btn:hover{background:#5568d3}.header-actions{display:flex;flex-direction:column;gap:16px;align-items:flex-end}.member-filter{display:flex;flex-direction:column;gap:8px}.member-filter label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.member-filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{padding:6px 12px;border:2px solid #ddd;border-radius:999px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .18s ease}.filter-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.filter-btn.active{font-weight:600}.calendar-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:16px;overflow:hidden}.rbc-calendar{font-family:inherit}.rbc-time-view,.rbc-month-view,.rbc-time-header,.rbc-header{border-color:#e0e0f5}.rbc-time-content{border-top:2px solid #e0e0f5}.rbc-event{border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s ease}.rbc-event:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026;z-index:10}.rbc-event-label{font-size:11px;opacity:.9}.rbc-time-view .rbc-today,.rbc-month-view .rbc-today{background-color:#f0f4ff!important}.rbc-time-header-cell .rbc-today,.rbc-header.rbc-today{background-color:#e0e7ff!important}.rbc-event.conflict{border:2px dashed #ff6b6b;background:#ff6b6b1a!important}.rbc-event.external-event{border-style:dashed;opacity:.9}.calv2-header-cell{display:flex;align-items:center;justify-content:center;padding:8px 4px;white-space:pre-line;font-size:12px;font-weight:600;color:#2d3748}.calv2-header-label{text-align:center}.quick-add-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.quick-add-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 4px 20px #0000002e}.quick-add-modal h3{margin:0 0 16px;font-size:20px;color:#1a1a1a}.quick-add-info{margin-bottom:20px;padding:12px;background:#f5f5ff;border-radius:8px}.quick-add-info p{margin:8px 0;font-size:14px;color:#333}.quick-add-info strong{color:#667eea}.quick-add-actions{display:flex;flex-direction:column;gap:10px}.primary-btn,.secondary-btn,.cancel-btn{padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .18s ease}.primary-btn{background:#667eea;color:#fff}.primary-btn:hover{background:#5568d3}.secondary-btn{background:#f5f5ff;color:#667eea;border:2px solid #667eea}.secondary-btn:hover{background:#e8eaf6}.cancel-btn{background:transparent;color:#666;border:1px solid #ddd}.cancel-btn:hover{background:#f5f5f5}@media(max-width:1024px){.calendar-header{grid-template-columns:1fr;gap:16px}.header-left{text-align:center}.header-actions{align-items:center}}@media(max-width:768px){.calendar-container{padding:8px}.rbc-calendar{font-size:12px}.rbc-event{font-size:11px;padding:2px 6px}}.streak-calendar-container{max-width:1200px;margin:0 auto;padding:2rem;background:#f8f9fa;min-height:100vh}.streak-calendar-loading,.streak-calendar-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.streak-calendar-error{color:#d32f2f;font-size:1.1rem}.streak-calendar-header{text-align:center;margin-bottom:2rem}.streak-calendar-header h1{font-size:2.5rem;color:#1a1a1a;margin-bottom:.5rem;font-weight:700}.streak-subtitle{color:#666;font-size:1.1rem}.streak-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:2.5rem;margin-bottom:2rem;text-align:center;color:#fff;box-shadow:0 8px 24px #667eea4d}.streak-fire{display:flex;flex-direction:column;align-items:center;gap:.5rem}.fire-icon{font-size:4rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-count{font-size:4rem;font-weight:700;line-height:1}.streak-label{font-size:1.2rem;opacity:.9}.streak-message{margin-top:1rem;font-size:1.3rem;font-weight:600}.streak-milestones{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.streak-milestones h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.3rem}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.milestone-badge{background:#f5f5f5;border-radius:8px;padding:1rem;text-align:center;position:relative;transition:transform .2s,box-shadow .2s}.milestone-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.milestone-badge.achieved{background:linear-gradient(135deg,gold,#ffed4e);border:2px solid #ffc107}.milestone-badge.pending{opacity:.6}.milestone-icon{font-size:2rem;margin-bottom:.5rem}.milestone-days{font-size:1.8rem;font-weight:700;color:#1a1a1a}.milestone-label{font-size:.9rem;color:#666;margin-top:.25rem}.milestone-check{position:absolute;top:.5rem;right:.5rem;background:#4caf50;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.nav-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s,transform .2s}.nav-button:hover{background:#5568d3;transform:translateY(-1px)}.nav-button:active{transform:translateY(0)}.month-title{font-size:1.5rem;color:#1a1a1a;margin:0;font-weight:600}.streak-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.calendar-day-header{text-align:center;font-weight:600;color:#666;padding:.75rem;font-size:.9rem;text-transform:uppercase}.calendar-day{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .2s,box-shadow .2s;cursor:pointer;background:#f8f9fa}.calendar-day:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;z-index:1}.calendar-day.empty{border:none;background:transparent;cursor:default}.calendar-day.empty:hover{transform:none;box-shadow:none}.calendar-day.has-completion{border-color:#4caf50;font-weight:600}.calendar-day.missed{border-color:#d32f2f;font-weight:600}.calendar-day.missed .day-number{color:#fff}.missed-dot{position:absolute;top:.25rem;right:.25rem;font-size:.7rem;color:#fff;background:#ffffff4d;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.calendar-day.today{border-color:#667eea;border-width:3px;box-shadow:0 0 0 2px #667eea33}.calendar-day.past{opacity:.7}.day-number{font-size:1rem;color:#1a1a1a;font-weight:600}.calendar-day.has-completion .day-number{color:#fff}.completion-dot{position:absolute;top:.25rem;right:.25rem;font-size:.7rem;color:#fff;background:#ffffff4d;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.streak-legend{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.streak-legend h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.2rem}.legend-items{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:24px;height:24px;border-radius:4px;border:1px solid #ddd}.today-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s;margin-top:1rem}.today-button:hover{background:#5568d3}.streak-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.stat-item{background:#fff;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #0000001a}.stat-value{font-size:2.5rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.stat-label{color:#666;font-size:1rem}.streak-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.tab-button{flex:1;padding:.75rem 1.5rem;border:none;background:transparent;color:#666;font-size:1rem;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s;white-space:nowrap}.tab-button.active{background:#667eea;color:#fff;box-shadow:0 2px 8px #667eea4d}.history-chart-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.history-chart-container h2{margin:0 0 .5rem;color:#1a1a1a;font-size:1.5rem}.chart-description{color:#666;margin:0 0 1.5rem;font-size:1rem}.no-data-message{text-align:center;padding:3rem;color:#999;font-size:1.1rem}.breakdown-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.breakdown-container h2{margin:0 0 .5rem;color:#1a1a1a;font-size:1.5rem}.breakdown-table table{width:100%;border-collapse:collapse}.breakdown-table th,.breakdown-table td{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.breakdown-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.breakdown-table tr:hover{background:#f8f9fa}.breakdown-table td{color:#666}.streak-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap}.tab-button{flex:1;min-width:120px;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;color:#666;transition:all .2s}.tab-button:hover{background:#f5f5f5;color:#333}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.chart-container{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.chart-container h2{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.5rem;font-weight:600}.no-data-message{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.breakdown-table{margin-top:2rem;overflow-x:auto}.breakdown-table h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.2rem;font-weight:600}.breakdown-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.breakdown-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.breakdown-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.breakdown-table td{padding:1rem;border-bottom:1px solid #e0e0e0;color:#333}.breakdown-table tbody tr:hover{background:#f5f5f5}.breakdown-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.streak-calendar-container{padding:1rem}.streak-calendar-header h1{font-size:2rem}.streak-count,.fire-icon{font-size:3rem}.calendar-navigation{flex-direction:column;gap:1rem}.month-title{font-size:1.2rem}.streak-calendar-grid{gap:.25rem;padding:1rem}.calendar-day,.day-number{font-size:.9rem}.milestones-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.streak-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:.5rem 1rem;font-size:.9rem}.history-chart-container,.breakdown-container{padding:1rem}.breakdown-table{font-size:.9rem}.breakdown-table th,.breakdown-table td{padding:.75rem .5rem}}.calendar-day.missed{border-color:#d32f2f}.missed-dot{position:absolute;top:.25rem;right:.25rem;font-size:.7rem;color:#fff;background:#d32f2fcc;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.streak-recovery-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.streak-recovery-section h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.3rem}.recovery-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.recovery-feature-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;display:flex;gap:1rem;transition:transform .2s,box-shadow .2s}.recovery-feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.recovery-icon{font-size:2.5rem;line-height:1}.recovery-content{flex:1}.recovery-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.recovery-value{font-size:1rem;color:#667eea;font-weight:600;margin-bottom:.5rem}.recovery-description{font-size:.9rem;color:#666;margin-bottom:1rem;line-height:1.4}.recovery-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}.recovery-button:hover{background:#5568d3}.recovery-button.parent-button{background:#f44336}.recovery-button.parent-button:hover{background:#d32f2f}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.modal-content h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.5rem}.modal-content p{color:#666;margin-bottom:1.5rem}.missed-dates-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.missed-date-button{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:.75rem;cursor:pointer;text-align:left;transition:background .2s}.missed-date-button:hover{background:#e0e0e0}.modal-buttons{display:flex;gap:1rem;margin-bottom:1rem}.modal-close{background:#f5f5f5;color:#666;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s;width:100%}.modal-close:hover{background:#e0e0e0}.restore-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-bottom:1rem}.restore-input:focus{outline:none;border-color:#667eea}.modal-content label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.modal-content input[type=date]{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-bottom:1rem}.modal-content input[type=date]:focus{outline:none;border-color:#667eea}.recovery-history-container{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.recovery-section h3{font-size:1.3rem;color:#1a1a1a;margin-bottom:1rem;font-weight:600}.info-card{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1rem}.info-label{font-weight:500;color:#666}.info-value{font-weight:600;color:#1a1a1a;font-size:1.1rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #667eea;transition:transform .2s,box-shadow .2s}.history-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.history-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.history-icon{font-size:1.5rem}.history-title,.history-date{font-weight:600;color:#1a1a1a;font-size:1.1rem}.history-item-details{display:flex;gap:.5rem;margin-top:.5rem;color:#666}.history-label{font-weight:500}.history-value{color:#1a1a1a}.history-item-time{margin-top:.5rem;font-size:.85rem;color:#999}.loading-message{text-align:center;padding:2rem;color:#666}.recovery-history-container{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem}.recovery-history-container h2{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.5rem}.recovery-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.recovery-section:last-child{border-bottom:none}.recovery-section h3{margin:0 0 1rem;color:#333;font-size:1.2rem;font-weight:600}.recovery-info-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#666}.info-value{color:#1a1a1a;font-weight:600}.no-history-message{text-align:center;padding:2rem;color:#666}.no-history-message .subtext{font-size:.9rem;margin-top:.5rem;color:#999}.restoration-history-list{display:flex;flex-direction:column;gap:1rem}.restoration-item{background:#f8f9fa;border-radius:8px;padding:1.5rem;border-left:4px solid #667eea}.restoration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.restoration-date{color:#666;font-size:.9rem}.restoration-change{font-weight:600;color:#667eea;font-size:1.1rem}.restoration-reason{margin:.75rem 0;padding:.75rem;background:#fff;border-radius:4px;color:#333;font-size:.9rem}.restoration-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0;font-size:.85rem;color:#666}.restoration-by{font-style:italic}.loading-spinner{text-align:center;padding:2rem;color:#666}.leaderboard-container{max-width:1200px;margin:0 auto;padding:24px 24px 94px;background:#f7fafc;min-height:calc(100vh - 60px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:768px){.leaderboard-container{padding:16px 16px 86px}}.leaderboard-header{text-align:center;margin-bottom:2rem}.leaderboard-header h1{font-size:1.875rem;color:#1f2937;margin-bottom:.5rem;font-weight:700;line-height:1.3}@media(max-width:768px){.leaderboard-header h1{font-size:1.5rem}}.leaderboard-subtitle{color:#6b7280;font-size:1rem}.leaderboard-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab-button{padding:.75rem 2rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-button:hover{border-color:#3b82f6;background:#dbeafe}.tab-button.active{border-color:#3b82f6;background:#667eea;color:#fff}.leaderboard-chart-container{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.leaderboard-chart-container h3{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.3rem}.leaderboard-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.leaderboard-entry{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.leaderboard-entry:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.leaderboard-entry.current-user{border:2px solid #667eea;background:linear-gradient(135deg,#f5f5ff,#fff)}.leaderboard-entry.rank-1{background:linear-gradient(135deg,#fff9e6,#fff);border-left:4px solid #FFD700}.leaderboard-entry.rank-2{background:linear-gradient(135deg,#f5f5f5,#fff);border-left:4px solid #C0C0C0}.leaderboard-entry.rank-3{background:linear-gradient(135deg,#fdf4e6,#fff);border-left:4px solid #CD7F32}.rank-badge{font-size:2rem;min-width:60px;text-align:center;font-weight:700}.member-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid #e0e0e0;flex-shrink:0}.member-avatar .avatar-image{width:100%;height:100%;object-fit:cover}.member-avatar .avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border-radius:50%}.member-info{flex:1}.member-name-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.member-name-row h3{margin:0;font-size:1.2rem;color:#1a1a1a;font-weight:600}.you-badge{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.role-badge{background:#f0f0f0;color:#666;padding:.25rem .75rem;border-radius:12px;font-size:.85rem}.points-display{display:flex;align-items:baseline;gap:.5rem}.points-value{font-size:1.5rem;font-weight:700;color:#667eea}.points-label{font-size:.9rem;color:#666}.progress-bar-container{width:200px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;flex-shrink:0}.progress-bar{height:100%;border-radius:4px;transition:width .5s ease}.leaderboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #0000001a}.stat-value{font-size:2rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.loading-message,.error-message{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.error-message{color:#d32f2f}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;color:#666}@media(max-width:768px){.leaderboard-container{padding:1rem}.leaderboard-header h1{font-size:2rem}.leaderboard-entry{flex-wrap:wrap;gap:1rem}.progress-bar-container{width:100%;order:4}.rank-badge{font-size:1.5rem;min-width:50px}.member-avatar{width:50px;height:50px}.leaderboard-chart-container{padding:1rem;overflow-x:auto}.leaderboard-stats{grid-template-columns:1fr}}.badge-gallery-container{min-height:calc(100vh - 60px);background:linear-gradient(to bottom,#f7fafc,#edf2f7);padding:30px 20px}.badge-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.badge-gallery-header h1{margin:0;font-size:2.5em;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge-stats{display:flex;gap:1.5rem;align-items:center}.stat-item{font-size:1rem;color:#666}.stat-item strong{color:#667eea;font-size:1.2em}.badge-filters{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.6rem 1.2rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;color:#666}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.badge-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #00000014;border:2px solid #e0e0e0;transition:all .3s;position:relative;overflow:hidden}.badge-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.badge-card.earned{border-color:#4caf50;background:linear-gradient(135deg,#fff,#f1f8f4)}.badge-card.earned:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#2ecc71)}.badge-icon{font-size:4rem;text-align:center;margin-bottom:1rem;transition:all .3s}.badge-card.earned .badge-icon{animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.badge-info{text-align:center}.badge-name{margin:0 0 .5rem;font-size:1.3em;font-weight:700;color:#1a1a1a}.badge-description{margin:0 0 .75rem;font-size:.9em;color:#666;line-height:1.4}.badge-category{display:inline-block;padding:.25rem .75rem;background:#f0f0f0;border-radius:12px;font-size:.75em;font-weight:600;color:#666;text-transform:capitalize}.badge-progress{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease-out}.progress-text{font-size:.85em;color:#666;text-align:center;font-weight:600}.badge-earned-badge{position:absolute;top:1rem;right:1rem;background:#4caf50;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75em;font-weight:700;box-shadow:0 2px 8px #4caf504d}.badge-rarity{position:absolute;bottom:1rem;right:1rem;padding:.25rem .75rem;border-radius:12px;font-size:.7em;font-weight:700;text-transform:uppercase}.loading-state,.error-state{text-align:center;padding:4rem 2rem}.loading-state .spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.empty-state{text-align:center;padding:4rem 2rem;color:#666}@media(max-width:768px){.badge-gallery-header{flex-direction:column;align-items:flex-start}.badge-stats{width:100%;justify-content:space-between}.badge-grid{grid-template-columns:1fr}}.activity-feed-container{min-height:calc(100vh - 60px);background:linear-gradient(to bottom,#f7fafc,#edf2f7);padding:30px 20px}.activity-feed-header{margin-bottom:2rem}.activity-feed-header h1{margin:0 0 .5rem;font-size:2.5em;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-feed-subtitle{color:#666;font-size:1.1em;margin:0}.activity-filters{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.filter-group label{font-weight:600;color:#333;font-size:.9em}.filter-select{padding:.6rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;background:#fff;cursor:pointer;transition:border-color .2s;min-width:180px}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;align-items:flex-start;gap:1rem;transition:transform .2s,box-shadow .2s}.activity-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.activity-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5em;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.activity-user{font-weight:700;font-size:1.1em}.activity-type{font-size:.85em;color:#666;background:#f0f0f0;padding:.25rem .75rem;border-radius:12px}.activity-message{color:#333;font-size:1em;line-height:1.5;margin-bottom:.5rem}.activity-time{font-size:.85em;color:#999}.activity-link{color:#667eea;font-size:1.5em;text-decoration:none;padding:.5rem;transition:transform .2s;flex-shrink:0}.activity-link:hover{transform:scale(1.2)}.activity-skeleton-list{display:flex;flex-direction:column;gap:1rem}.activity-skeleton-item{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;align-items:flex-start;gap:1rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-state p{margin:.5rem 0;color:#333;font-size:1.2em}.empty-subtitle{color:#666!important;font-size:1em!important}.error-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#f44336}@media(max-width:768px){.activity-feed-container{padding:20px 15px}.activity-feed-header h1{font-size:2em}.activity-filters{flex-direction:column;gap:1rem}.filter-select{width:100%}.activity-item{padding:1rem}.activity-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.pre-built-templates-modal{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#1a202c}.modal-close{background:none;border:none;font-size:2rem;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f7fafc;color:#2d3748}.modal-content{flex:1;overflow-y:auto;padding:24px}.modal-description{margin-bottom:24px;color:#4a5568;line-height:1.6}.templates-selection{display:flex;flex-direction:column;gap:16px}.template-selection-card{border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s;background:#fff}.template-selection-card:hover{border-color:#cbd5e0;box-shadow:0 2px 4px #0000000d}.template-selection-card.selected{border-color:#667eea;background:#f7faff}.template-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.template-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.template-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.template-title{font-weight:600;font-size:1.125rem;color:#1a202c}.template-category{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#718096;background:#f7fafc;padding:4px 12px;border-radius:12px}.template-description{color:#4a5568;font-size:.9375rem;margin:8px 0 12px;line-height:1.5}.template-customization{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.customization-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.customization-row label{display:flex;flex-direction:column;gap:8px;font-weight:500;color:#2d3748;font-size:.875rem}.customization-row input,.customization-row select{padding:10px 12px;border:1px solid #cbd5e0;border-radius:8px;font-size:.9375rem;transition:border-color .2s}.customization-row input:focus,.customization-row select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.priority-field-wrapper{display:flex;flex-direction:column;gap:8px}.priority-field-wrapper .priority-selector{width:100%}.priority-field-wrapper .priority-selector-label{font-weight:500;color:#2d3748;font-size:.875rem}.priority-field-wrapper .priority-selector-options{display:flex;gap:8px}.priority-field-wrapper .priority-option-small{padding:8px 12px;font-size:.8125rem}.form-hint{font-size:.8125rem;color:#718096;margin-top:4px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e2e8f0;background:#f7fafc}.modal-footer .btn-primary,.modal-footer .btn-secondary{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.modal-footer .btn-primary{background:#667eea;color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:#5568d3}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-secondary{background:#fff;color:#4a5568;border:1px solid #cbd5e0}.modal-footer .btn-secondary:hover:not(:disabled){background:#f7fafc}@media(max-width:768px){.pre-built-templates-modal{max-height:95vh}.customization-row{grid-template-columns:1fr}}.template-gallery-container{padding:2rem;max-width:1400px;margin:0 auto}.template-gallery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-content h1{font-size:2rem;margin:0 0 .5rem;color:var(--text-primary)}.header-content .subtitle{color:var(--text-secondary);margin:0}.header-actions{display:flex;gap:1rem}.header-actions .btn-primary,.header-actions .btn-secondary{white-space:nowrap}.template-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.search-box{position:relative;flex:1;min-width:200px}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--primary-color)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.filter-group{display:flex;align-items:center}.filter-select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--primary-color)}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.btn-small{padding:.5rem 1rem;font-size:.9rem}.results-count{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.template-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;transition:all .2s;box-shadow:0 2px 4px #0000000d}.template-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.template-category{display:flex;align-items:center;gap:.5rem}.category-icon{font-size:1.25rem}.category-name{font-size:.85rem;color:var(--text-secondary);font-weight:500}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem;opacity:.6;transition:opacity .2s}.btn-icon:hover{opacity:1}.btn-delete:hover{color:var(--danger-color)}.template-card-body{flex:1;margin-bottom:1rem}.template-title{font-size:1.25rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.template-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.meta-item{display:flex;align-items:center;gap:.5rem}.meta-label{font-size:.85rem;color:var(--text-secondary)}.meta-value{font-size:.85rem;font-weight:600;color:var(--text-primary)}.template-badge{display:inline-block;padding:.25rem .75rem;background:var(--primary-color-light);color:var(--primary-color);border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.5rem}.template-card-footer{margin-top:auto}.btn-full{width:100%}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed var(--border-color);border-radius:12px}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;margin:0 0 .5rem;color:var(--text-primary)}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem}@media(max-width:768px){.template-gallery-container{padding:1rem}.template-gallery-header{flex-direction:column}.header-actions{width:100%;flex-direction:column}.header-actions .btn-primary,.header-actions .btn-secondary{width:100%}.template-filters{flex-direction:column;align-items:stretch}.search-box{width:100%}.template-grid{grid-template-columns:1fr}}.calendar-callback-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.calendar-callback-container .loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #2196F3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.calendar-callback-container p{color:#666;font-size:1.1rem}.day-navigator{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.day-nav-button{width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:2px solid #E2E8F0;border-radius:12px;font-size:1.5rem;font-weight:700;color:#4a5568;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.day-nav-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:scale(1.05)}.day-nav-button:active{transform:scale(.95)}.day-nav-date{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;background:#f7fafc;border:2px solid #E2E8F0;border-radius:12px;cursor:pointer;transition:all .2s ease}.day-nav-date:hover{background:#edf2f7;border-color:#cbd5e0}.day-nav-label{font-size:1.125rem;font-weight:700;color:#1a202c}.day-nav-indicator{width:8px;height:8px;border-radius:50%;transition:background-color .2s ease}@media(max-width:768px){.day-navigator{padding:10px 12px}.day-nav-button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:1.25rem}.day-nav-label{font-size:1rem}}.progress-header{padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.progress-bar-container{width:100%;height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:12px}.progress-bar-fill{height:100%;border-radius:6px;transition:width .3s ease,background-color .3s ease}.progress-bar-empty{text-align:center;padding:8px;color:#718096;font-size:.875rem}.progress-stats{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress-text{font-size:.9375rem;font-weight:600;color:#1a202c}.progress-remaining{font-size:.875rem;color:#718096;font-weight:500}.streak-indicator-header{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;margin-top:12px;background:linear-gradient(135deg,gold,orange);border-radius:20px;box-shadow:0 2px 8px #ffd7004d}.streak-indicator-inline{display:flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(135deg,gold,orange);border-radius:16px;box-shadow:0 2px 6px #ffd7004d}.streak-fire{font-size:1.25rem;animation:flicker 2s infinite}@keyframes flicker{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-count{font-size:.875rem;font-weight:700;color:#744210;white-space:nowrap}@media(max-width:768px){.progress-header{padding:12px}.progress-stats{flex-direction:column;align-items:flex-start;gap:4px}.streak-indicator-inline{margin-top:8px}}.task-checkbox-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;transition:all .2s ease;cursor:pointer}.task-checkbox-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.task-checkbox-item.completed{background:#f7fafc;opacity:.8}.task-checkbox-item.read-only .task-checkbox{opacity:.5;cursor:not-allowed}.task-checkbox-item.read-only .task-checkbox:hover{transform:none;background:#f7fafc;border-color:#e2e8f0}.task-checkbox-item.loading{opacity:.6;pointer-events:none}.task-checkbox{width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:3px solid #E2E8F0;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;z-index:1}.task-checkbox:hover:not(:disabled){background:#edf2f7;border-color:#667eea;transform:scale(1.05);box-shadow:0 2px 8px #667eea33}.task-checkbox:active:not(:disabled){transform:scale(.95)}.task-checkbox:disabled{opacity:.4;cursor:not-allowed}.task-checkbox-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.task-checkbox-mark{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:transparent;transition:all .2s ease}.task-checkbox-mark.checked{color:#10b981;animation:checkmarkDraw .4s cubic-bezier(.68,-.55,.265,1.55)}.task-checkbox.checked{background:#d1fae5;border-color:#10b981}.task-checkbox.checked:hover:not(:disabled){background:#a7f3d0;border-color:#059669}.task-checkbox-item.completed{animation:taskComplete .3s ease}@keyframes checkmarkDraw{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes taskComplete{0%{transform:scale(1)}50%{transform:scale(.98)}to{transform:scale(1)}}.task-checkbox-content{flex:1;min-width:0}.task-checkbox-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.task-checkbox-title{font-size:1.125rem;font-weight:600;color:#1a202c;line-height:1.4;flex:1;min-width:0}.task-priority-badge{font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:12px;white-space:nowrap;flex-shrink:0}.task-priority-badge.priority-p1{background:#fee2e2;color:#991b1b}.task-priority-badge.priority-p2{background:#fef3c7;color:#92400e}.task-priority-badge.priority-p3{background:#d1fae5;color:#065f46}.task-checkbox-item.completed .task-checkbox-title{text-decoration:line-through;color:#718096}.task-checkbox-metadata{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.875rem;color:#718096}.task-checkbox-category,.task-checkbox-points,.task-checkbox-status,.task-checkbox-time{display:flex;align-items:center;gap:4px}.task-checkbox-time{font-weight:500;color:#4a5568}.task-checkbox-status{color:#f59e0b;font-weight:500}@media(max-width:768px){.task-checkbox-item{padding:14px;gap:12px}.task-checkbox{width:44px;height:44px;min-width:44px;min-height:44px}.task-checkbox-title{font-size:1rem}.task-checkbox-metadata{font-size:.8125rem;gap:8px}}.member-task-section{margin-bottom:24px}.member-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#fff;border-radius:12px;border:2px solid #E2E8F0;border-left:4px solid #667eea;cursor:pointer;transition:all .2s ease;text-align:left}.member-section-header:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.member-section-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.member-section-avatar-wrapper{flex-shrink:0}.member-section-avatar{transition:transform .2s ease,box-shadow .2s ease;border:3px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #0000001a}.member-section-header:hover .member-section-avatar{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.member-section-details{flex:1;min-width:0}.member-section-name{font-size:1.125rem;font-weight:700;color:#1a202c;margin-bottom:4px}.member-section-progress{font-size:.875rem;color:#718096;font-weight:500}.member-section-empty-message{font-size:.875rem;color:#10b981;font-weight:500;font-style:italic}.member-task-section-empty .member-section-header{opacity:.9;cursor:default}.member-task-section-empty .member-section-header:hover{transform:none}.member-section-stats{display:flex;align-items:center;gap:12px}.member-progress-bar{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.member-progress-percentage{font-size:.875rem;font-weight:600;color:#4a5568;min-width:40px;text-align:right}.member-section-toggle{font-size:.875rem;color:#718096;min-width:20px;text-align:center}.member-section-tasks{margin-top:12px;padding:0 4px;display:flex;flex-direction:column;gap:12px}.time-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.time-group:last-child{margin-bottom:0}.time-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f7fafc;border-radius:8px;margin-bottom:4px}.time-group-label{font-size:.875rem;font-weight:600;color:#4a5568}.time-group-count{font-size:.75rem;color:#718096;font-weight:500}.time-group-tasks{display:flex;flex-direction:column;gap:8px;padding-left:8px}@media(max-width:768px){.member-section-header{padding:12px;flex-direction:column;align-items:flex-start;gap:12px}.member-section-stats{width:100%;justify-content:space-between}.member-progress-bar{flex:1;max-width:100px}.member-section-avatar{width:44px;height:44px;min-width:44px;min-height:44px}.member-avatar-emoji{font-size:1.5rem}.member-avatar-initials{font-size:1.125rem}.member-section-name{font-size:1rem}}.quick-filters{display:flex;gap:8px;padding:12px 16px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.quick-filter-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f7fafc;border:2px solid #E2E8F0;border-radius:8px;font-size:.875rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.quick-filter-btn:hover{background:#edf2f7;border-color:#cbd5e0}.quick-filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.filter-icon{font-size:1rem}.filter-label{white-space:nowrap}@media(max-width:768px){.quick-filters{padding:10px 12px;gap:6px}.quick-filter-btn{padding:8px 12px;font-size:.8125rem}.filter-label{display:none}.quick-filter-btn{flex:0 0 auto;min-width:44px}}.quick-stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;padding:0 16px 16px;margin-bottom:8px}.quick-stat-card{background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;border:2px solid #E2E8F0;transition:all .2s ease;min-height:70px}.quick-stat-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.stat-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.stat-tasks .stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-points .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-progress .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-members .stat-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-content{flex:1;min-width:0}.stat-value{font-size:1.25rem;font-weight:700;color:#1a202c;line-height:1.2;margin-bottom:2px}.stat-label{font-size:.75rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.quick-stats-container{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px 12px}.quick-stat-card{padding:10px;min-height:65px}.stat-icon{width:36px;height:36px;font-size:1.25rem}.stat-value{font-size:1.125rem}.stat-label{font-size:.6875rem}}.task-detail-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}.task-detail-modal{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;max-height:90vh;display:flex;flex-direction:column;z-index:1001;animation:slideUp .3s cubic-bezier(.32,.72,0,1);box-shadow:0 -4px 24px #0003;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.task-detail-modal-header{padding:12px 16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.task-detail-close{position:absolute;top:12px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:none;border-radius:50%;font-size:1.25rem;color:#4a5568;cursor:pointer;transition:all .2s ease}.task-detail-close:hover{background:#edf2f7;transform:scale(1.1)}.task-detail-drag-handle{width:40px;height:4px;background:#cbd5e0;border-radius:2px}.task-detail-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;-webkit-overflow-scrolling:touch;min-height:0}.task-detail-title-section{margin-bottom:24px}.task-detail-title{font-size:1.5rem;font-weight:700;color:#1a202c;margin:0 0 12px;line-height:1.3}.task-detail-category{font-size:.9375rem;color:#718096;font-weight:500}.task-detail-section{margin-bottom:24px}.task-detail-section h3{font-size:.875rem;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.task-detail-section p{font-size:1rem;color:#1a202c;line-height:1.6;margin:0}.task-detail-info{display:flex;flex-direction:column;gap:16px}.task-detail-info-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f7fafc;border-radius:8px}.info-label{font-size:.875rem;font-weight:600;color:#4a5568}.info-value{font-size:.9375rem;font-weight:500;color:#1a202c}.status-badge,.priority-badge{padding:4px 10px;border-radius:12px;font-size:.8125rem;font-weight:600}.status-completed{background:#d1fae5;color:#065f46}.status-review_pending{background:#fef3c7;color:#92400e}.status-in_progress{background:#dbeafe;color:#1e40af}.status-assigned{background:#e5e7eb;color:#374151}.task-detail-actions{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;border-top:1px solid #E2E8F0;background:#fff;flex-shrink:0;position:sticky;bottom:0;z-index:10}.task-detail-action-btn{padding:14px 20px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.task-detail-action-primary{background:#667eea;color:#fff}.task-detail-action-primary:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.task-detail-action-secondary{background:#f7fafc;color:#4a5568;border:2px solid #E2E8F0}.task-detail-action-secondary:hover{background:#edf2f7;border-color:#cbd5e0}.task-detail-action-ghost{background:transparent;color:#718096}.task-detail-action-ghost:hover{background:#f7fafc;color:#4a5568}@media(min-width:768px){.task-detail-modal{max-width:500px;left:50%;transform:translate(-50%);border-radius:24px;max-height:90vh}.task-detail-actions{flex-direction:row;justify-content:flex-end}.task-detail-action-btn{min-width:120px}}.quick-add-fab-container{position:fixed;bottom:80px;right:20px;z-index:999}.quick-add-fab-overlay{position:fixed;inset:0;background:#0000004d;z-index:998;animation:fadeIn .2s ease}.quick-add-fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea66;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:999}.quick-add-fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #667eea80}.quick-add-fab:active{transform:scale(.95)}.quick-add-fab.open{transform:rotate(45deg);background:linear-gradient(135deg,#f093fb,#f5576c)}.fab-icon{font-size:28px;color:#fff;font-weight:300;line-height:1;transition:transform .3s ease}.quick-add-menu{position:absolute;bottom:70px;right:0;background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:8px;min-width:180px;animation:slideUp .3s cubic-bezier(.4,0,.2,1);z-index:999}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.quick-add-option{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:background .2s ease;text-align:left}.quick-add-option:hover{background:#f7fafc}.quick-add-option:active{background:#edf2f7}.quick-add-icon{font-size:20px;width:24px;text-align:center}.quick-add-label{font-size:.9375rem;font-weight:600;color:#1a202c}@supports (padding-bottom: env(safe-area-inset-bottom)){.quick-add-fab-container{bottom:calc(80px + env(safe-area-inset-bottom))}}@media(max-width:768px){.quick-add-fab-container{bottom:90px;right:16px}.quick-add-fab{width:52px;height:52px}.fab-icon{font-size:24px}.quick-add-menu{bottom:65px;min-width:160px}}.daily-tracker{min-height:calc(100vh - 60px);background:linear-gradient(135deg,#f7fafc,#f0f4f8);display:flex;flex-direction:column;padding-bottom:80px;position:relative;z-index:1}.daily-tracker-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,#f7fafc,#f0f4f8);padding:24px 16px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #0000000d}.daily-tracker-content{flex:1;overflow-y:auto;padding:0 16px 16px;-webkit-overflow-scrolling:touch;position:relative}.pull-to-refresh-indicator{position:absolute;top:0;left:0;right:0;padding:12px;text-align:center;font-size:.875rem;color:#718096;background:#fff;border-radius:0 0 12px 12px;transition:transform .2s ease;z-index:10}.daily-tracker-loading{padding:24px 0}.daily-tracker-error{padding:24px;display:flex;flex-direction:column;gap:16px;align-items:center}.daily-tracker-tasks{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.daily-tracker-empty{padding:40px 20px;display:flex;justify-content:center;align-items:center;min-height:300px}.daily-tracker-bottom-padding{height:24px}.date-picker-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.date-picker-content{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;max-width:400px;width:100%;box-shadow:0 8px 24px #0003}.date-picker-content label{font-weight:600;color:#1a202c;font-size:1rem}.date-picker-content input[type=date]{padding:12px 16px;border:2px solid #E2E8F0;border-radius:8px;font-size:1rem;font-family:inherit;width:100%}.date-picker-content button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.date-picker-content button:hover{background:#5568d3;transform:translateY(-1px)}@media(min-width:768px){.daily-tracker{max-width:1200px;margin:0 auto;padding:24px}.daily-tracker-header{padding:24px;border-radius:16px;margin-bottom:24px}.daily-tracker-content{padding:0}.daily-tracker-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}}@media(min-width:1024px){.daily-tracker-tasks{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}}.seed-games-button{padding:1.5rem;margin:1rem 0 2rem;background:#f8f9fa;border-radius:8px;border:2px solid #28a745;text-align:center}.seed-label{margin:0 0 1rem;font-size:.9rem;color:#666;font-weight:500}.seed-buttons{display:flex;gap:1rem;margin-top:.5rem}.seed-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-seed,.btn-cleanup{color:#fff;border:none;padding:1rem 2rem;border-radius:6px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:background .2s}.btn-seed{background:#28a745;box-shadow:0 2px 4px #28a7454d}.btn-cleanup{background:#ffc107;color:#000;box-shadow:0 2px 4px #ffc1074d}.btn-seed:hover:not(:disabled){background:#218838}.btn-cleanup:hover:not(:disabled){background:#e0a800}.btn-seed:disabled,.btn-cleanup:disabled{background:#6c757d;color:#fff;cursor:not-allowed;box-shadow:none}.seed-result{margin-top:1rem;padding:1rem;border-radius:6px}.seed-result.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.seed-result.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.seed-result details{margin-top:.5rem;cursor:pointer}.seed-result pre{margin-top:.5rem;padding:.5rem;background:#0000000d;border-radius:4px;font-size:.85rem;overflow-x:auto}.seed-details{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.detail-success,.detail-skipped,.detail-error{padding:.5rem;border-radius:4px;font-size:.9rem}.detail-success{background:#d4edda;color:#155724}.detail-skipped{background:#fff3cd;color:#856404}.detail-error{background:#f8d7da;color:#721c24}.games-hub{padding:2rem;max-width:1200px;margin:0 auto}.games-hub-header{text-align:center;margin-bottom:2rem}.games-hub-header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--primary-color, #4a90e2)}.games-hub-header p{font-size:1.1rem;color:var(--text-secondary, #666)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.game-card{background:#fff;border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;text-align:center}.game-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.game-icon{font-size:4rem;margin-bottom:1rem}.game-card h3{margin:.5rem 0;color:var(--text-primary, #333);font-size:1.3rem}.game-description{color:var(--text-secondary, #666);font-size:.9rem;margin:.5rem 0;flex-grow:1}.game-meta{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}.game-category,.game-age{background:var(--primary-light, #e8f4f8);color:var(--primary-color, #4a90e2);padding:.25rem .75rem;border-radius:12px;font-size:.85rem}.games-loading,.games-error,.games-empty{text-align:center;padding:3rem}.games-loading .spinner{border:3px solid var(--primary-light, #e8f4f8);border-top:3px solid var(--primary-color, #4a90e2);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.games-error p,.games-empty p{color:var(--text-secondary, #666);font-size:1.1rem}.achievement-notification{position:fixed;top:20px;right:20px;z-index:10000;opacity:0;transform:translate(400px);transition:all .5s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none}.achievement-notification.visible{opacity:1;transform:translate(0);pointer-events:all}.achievement-notification-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:320px;max-width:400px;position:relative;display:flex;align-items:center;gap:1rem;animation:achievementSlideIn .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes achievementSlideIn{0%{transform:translate(400px) scale(.8);opacity:0}60%{transform:translate(-10px) scale(1.05)}to{transform:translate(0) scale(1);opacity:1}}.achievement-close{position:absolute;top:8px;right:8px;background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0}.achievement-close:hover{background:#ffffff4d}.achievement-icon{font-size:3.5rem;animation:achievementBounce 1s ease-in-out infinite;flex-shrink:0}@keyframes achievementBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}.achievement-text{flex:1}.achievement-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.9;margin-bottom:.25rem}.achievement-name{font-size:1.3rem;font-weight:700;margin-bottom:.25rem}.achievement-description{font-size:.95rem;opacity:.9;line-height:1.3}.achievement-sparkle{position:absolute;top:-10px;right:-10px;font-size:2rem;animation:sparkleRotate 2s linear infinite;pointer-events:none}@keyframes sparkleRotate{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@media(max-width:768px){.achievement-notification{top:10px;right:10px;left:10px}.achievement-notification-content{min-width:auto;max-width:none}}.level-celebration-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s ease}.level-celebration-overlay.visible{opacity:1;pointer-events:all}.confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confetti-fall 3s linear forwards;border-radius:2px}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.level-celebration-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:3rem 4rem;text-align:center;position:relative;box-shadow:0 20px 60px #00000080;max-width:500px;width:90%;animation:celebration-pop .5s cubic-bezier(.68,-.55,.265,1.55);color:#fff}.level-celebration-content.mastered{background:linear-gradient(135deg,#f093fb,#f5576c)}.level-celebration-content.unlocked{background:linear-gradient(135deg,#4facfe,#00f2fe)}@keyframes celebration-pop{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.celebration-close{position:absolute;top:1rem;right:1rem;background:#ffffff4d;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;font-weight:700}.celebration-close:hover{background:#ffffff80;transform:scale(1.1)}.celebration-icon{font-size:5rem;margin-bottom:1rem;animation:icon-bounce 1s ease infinite;display:inline-block}@keyframes icon-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}.mastered-icon{animation:icon-bounce 1s ease infinite,icon-glow 2s ease infinite}@keyframes icon-glow{0%,to{filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}50%{filter:drop-shadow(0 0 20px rgba(255,255,255,.8))}}.unlock-icon{font-size:4rem;animation:unlock-spin 2s ease infinite}@keyframes unlock-spin{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.celebration-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:title-shine 2s ease infinite}@keyframes title-shine{0%,to{text-shadow:2px 2px 4px rgba(0,0,0,.3)}50%{text-shadow:2px 2px 8px rgba(255,255,255,.5),0 0 20px rgba(255,255,255,.3)}}.celebration-level-name{font-size:1.8rem;font-weight:600;margin-bottom:1rem;background:#fff3;padding:.75rem 1.5rem;border-radius:12px;display:inline-block}.celebration-message{font-size:1.2rem;margin-bottom:2rem;line-height:1.6;opacity:.95}.next-level-preview{background:#ffffff26;border-radius:12px;padding:1.5rem;margin:1.5rem 0;border:2px dashed rgba(255,255,255,.3)}.next-level-label{font-size:.9rem;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.next-level-name{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.unlock-notice{font-size:.95rem;opacity:.85;font-style:italic}.celebration-sparkles{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.sparkle{font-size:2rem;animation:sparkle-twinkle 1.5s ease infinite;display:inline-block}.sparkle:nth-child(1){animation-delay:0s}.sparkle:nth-child(2){animation-delay:.5s}.sparkle:nth-child(3){animation-delay:1s}@keyframes sparkle-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(180deg);opacity:.7}}@media(max-width:768px){.level-celebration-content{padding:2rem 2.5rem;max-width:90%}.celebration-icon{font-size:4rem}.celebration-title{font-size:2rem}.celebration-level-name{font-size:1.5rem}.celebration-message{font-size:1.1rem}}.math-quiz{padding:2rem;max-width:600px;margin:0 auto}.number-line-jump{padding:2rem;max-width:800px;margin:0 auto}.instruction{text-align:center;margin-bottom:2rem}.instruction p{font-size:1.2rem;color:var(--text-primary, #333);font-weight:500}.number-line-container{margin:3rem 0;padding:2rem;background:#f8f9fa;border-radius:12px}.number-line{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:2rem}.number-line-item{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;background:#fff;border:3px solid var(--primary-color, #4a90e2);border-radius:50%;color:var(--primary-color, #4a90e2);box-shadow:0 2px 6px #0000001a;transition:transform .2s}.number-line-item.missing{background:#fff3cd;border-color:#ffc107;color:#856404;font-size:2.5rem;animation:bounce 1s ease-in-out infinite}.number-options{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}.number-option-btn{width:80px;height:80px;font-size:2rem;font-weight:700;background:#fff;border:3px solid var(--primary-color, #4a90e2);border-radius:50%;color:var(--primary-color, #4a90e2);cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #0000001a}.number-option-btn:hover{background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4a90e266}.number-option-btn:active{transform:scale(.95)}.math-whiz{padding:2rem;max-width:600px;margin:0 auto}.score,.streak,.timer{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333)}.game-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:300px}.difficulty-badge{display:inline-block;padding:.5rem 1rem;background:#e8f4f8;color:var(--primary-color, #4a90e2);border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:1.5rem}.question{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem;font-size:2.5rem}.number{font-weight:700;color:var(--primary-color, #4a90e2);min-width:60px}.question-mark{font-size:3rem;color:var(--primary-color, #4a90e2);min-width:60px}.balloon-pop-math{padding:2rem;max-width:800px;margin:0 auto}.game-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:500px;position:relative}.question-display{text-align:center;margin-bottom:2rem}.math-problem{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:2.5rem;margin-bottom:1rem}.math-problem .number{font-weight:700;color:var(--primary-color, #4a90e2);min-width:60px}.math-problem .operator,.math-problem .equals{font-size:2rem;color:var(--text-secondary, #666)}.math-problem .question-mark{font-size:3rem;color:var(--primary-color, #4a90e2);min-width:60px}.instruction{font-size:1.2rem;color:var(--text-secondary, #666);font-weight:500;margin-top:1rem}.balloons-container{position:relative;width:100%;height:400px;margin-top:2rem}.balloon{position:absolute;cursor:pointer;transition:transform .2s;animation:float 3s ease-in-out infinite}.balloon:nth-child(2n){animation-delay:-1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.balloon:hover:not(.popped){transform:scale(1.1)}.balloon.popped{animation:pop .5s ease-out forwards;pointer-events:none}@keyframes pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.8}to{transform:scale(0);opacity:0}}.balloon-body{width:80px;height:100px;border-radius:50%/60% 60% 40% 40%;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:inset -10px -10px #0000001a}.balloon.red .balloon-body{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.balloon.blue .balloon-body{background:linear-gradient(135deg,#4ecdc4,#44a3a9)}.balloon.green .balloon-body{background:linear-gradient(135deg,#95e1d3,#7bc8a4)}.balloon.yellow .balloon-body{background:linear-gradient(135deg,#fce38a,#f38181)}.balloon.purple .balloon-body{background:linear-gradient(135deg,#a8edea,#fed6e3)}.balloon.orange .balloon-body{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.balloon-number{font-size:2rem;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.balloon-string{width:2px;height:60px;background:#333;margin:-5px auto 0;position:relative}.balloon-string:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:8px;height:8px;background:#333;border-radius:50%}@media(max-width:768px){.balloons-container{height:350px}.balloon-body{width:60px;height:75px}.balloon-number{font-size:1.5rem}}.math-puzzle{padding:2rem;max-width:700px;margin:0 auto}.score,.difficulty,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.puzzle-container{text-align:center}.puzzle-display{margin-bottom:3rem}.puzzle-equation{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:3rem;font-weight:700;flex-wrap:wrap}.puzzle-part{color:var(--text-primary, #333)}.puzzle-input{width:120px;height:80px;font-size:2.5rem;text-align:center;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;outline:none;font-weight:700;transition:border-color .2s}.puzzle-input:focus{border-color:var(--primary-dark, #357abd);box-shadow:0 0 0 3px #4a90e233}.puzzle-input:disabled{background:#f5f5f5;cursor:not-allowed}.feedback{margin:2rem 0;padding:1rem;border-radius:8px;font-size:1.3rem;font-weight:600;animation:fadeIn .3s}.answer-form{margin-top:2rem}.btn-submit{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 3rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}@media(max-width:768px){.puzzle-equation{font-size:2rem}.puzzle-input{width:90px;height:60px;font-size:2rem}}.math-master{padding:2rem;max-width:700px;margin:0 auto}.score,.streak,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.streak{color:#ff6b35;background:#fff3e0;padding:.5rem 1rem;border-radius:6px;animation:streakGlow 2s ease-in-out infinite}@keyframes streakGlow{0%,to{box-shadow:0 0 5px #ff6b354d}50%{box-shadow:0 0 15px #ff6b3599}}.difficulty-badge{padding:.5rem 1rem;background:#28a745;color:#fff;border-radius:20px;font-size:.9rem;font-weight:600}.number-cruncher{padding:2rem;max-width:700px;margin:0 auto}.score,.progress,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.progress{color:#6c757d}.progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#357abd);transition:width .3s ease}.math-racer{padding:2rem;max-width:700px;margin:0 auto}.game-info{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.score,.speed,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.speed{color:#ff6b35;background:#fff3e0;padding:.5rem 1rem;border-radius:6px;animation:speedGlow 1s ease-in-out infinite}@keyframes speedGlow{0%,to{box-shadow:0 0 5px #ff6b354d}50%{box-shadow:0 0 15px #ff6b3599}}.race-track{position:relative;width:100%;height:60px;background:linear-gradient(to right,#e9ecef,#28a745);border-radius:8px;overflow:hidden;border:2px solid #333}.race-car{position:absolute;font-size:2rem;transition:left .3s ease;transform:translate(-50%);z-index:2}.finish-line{position:absolute;right:0;top:0;height:100%;width:40px;background:repeating-linear-gradient(90deg,#000 0px 10px,#fff 10px 20px);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.game-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:350px}.question-container{text-align:center}.question{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem;font-size:2.5rem}.number{font-weight:700;color:var(--primary-color, #4a90e2);min-width:80px}.operator,.equals{font-size:2rem;color:var(--text-secondary, #666)}.question-mark{font-size:3rem;color:var(--primary-color, #4a90e2);min-width:80px}.answer-form{display:flex;flex-direction:column;gap:1rem;max-width:300px;margin:0 auto}.answer-input{padding:1rem;font-size:1.5rem;text-align:center;border:2px solid var(--primary-light, #e8f4f8);border-radius:8px;outline:none;transition:border-color .2s}.answer-input:focus{border-color:var(--primary-color, #4a90e2)}.answer-input:disabled{background:#f5f5f5;cursor:not-allowed}.btn-submit{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:background .2s}.feedback{margin-top:1.5rem;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:600;animation:fadeIn .3s}.pattern-match{padding:2rem;max-width:700px;margin:0 auto}.pattern-section{text-align:center;margin-bottom:3rem}.instruction{font-size:1.3rem;color:var(--text-secondary, #666);margin-bottom:2rem;font-weight:500}.pattern-display{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap;margin:2rem 0}.pattern-item{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:#f0f0f0;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;font-weight:700}.pattern-item.missing{background:#fff3cd;border-style:dashed;color:var(--text-secondary, #666);font-size:2rem;animation:pulse 1.5s ease-in-out infinite}.options-grid{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:3rem}.option-btn{width:100px;height:100px;font-size:3rem;border:3px solid var(--primary-color, #4a90e2);background:#fff;color:var(--primary-color, #4a90e2);border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:700}.option-btn:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4a90e266}.option-btn:disabled{cursor:not-allowed;opacity:.7}.option-btn.correct{background:#28a745;border-color:#28a745;color:#fff;animation:correctPop .3s ease-out}.option-btn.wrong{background:#dc3545;border-color:#dc3545;color:#fff;animation:wrongShake .3s ease-out}@media(max-width:768px){.pattern-item{width:60px;height:60px;font-size:2rem}.pattern-item.missing{font-size:1.5rem}.pattern-display{gap:1rem}.option-btn{width:80px;height:80px;font-size:2.5rem}.options-grid{gap:1rem}}.time-telling{padding:2rem;max-width:900px;margin:0 auto}.btn-difficulty{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:180px}.clock-container{display:flex;justify-content:center;align-items:center;padding:2rem}.analog-clock{width:300px;height:300px;position:relative}.clock-face{width:100%;height:100%;border:8px solid var(--primary-color, #4a90e2);border-radius:50%;background:#fff;position:relative;box-shadow:0 4px 12px #0003}.hour-marker{font-size:1.2rem;font-weight:700;color:var(--text-primary, #333);z-index:1}.hand{position:absolute;background:var(--text-primary, #333);transform-origin:bottom center;border-radius:4px;left:50%;top:50%;transform:translate(-50%,-100%)}.hour-hand{width:6px;height:80px;margin-top:-80px;z-index:2}.minute-hand{width:4px;height:110px;margin-top:-110px;z-index:3}.clock-center{position:absolute;width:16px;height:16px;background:var(--text-primary, #333);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4}@media(max-width:768px){.analog-clock{width:250px;height:250px}.hour-hand{height:65px;margin-top:-65px}.minute-hand{height:90px;margin-top:-90px}.hour-marker{font-size:1rem}.answers-container{grid-template-columns:1fr}.answer-button{font-size:1.1rem;padding:1.25rem 1.5rem}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.money-math{padding:2rem;max-width:900px;margin:0 auto}.question-header h3{font-size:1.5rem;color:var(--text-primary, #333);margin:0}.money-display{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:2rem;background:var(--primary-light, #e8f4f8);border-radius:12px;min-width:100%}.money-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:120px}.money-emoji{font-size:3rem}.money-info{text-align:center}.money-name{font-weight:600;color:var(--text-primary, #333);font-size:.9rem}.money-value{font-size:1.2rem;font-weight:700;color:var(--primary-color, #4a90e2)}.money-count{font-size:.9rem;color:var(--text-secondary, #666);margin-top:.25rem}.answer-button{padding:1.5rem 2rem;font-size:1.3rem;font-weight:600;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;background:#fff;color:var(--text-primary, #333);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}@media(max-width:768px){.money-display{flex-direction:column}.money-item{width:100%;flex-direction:row;justify-content:space-between}.answers-container{grid-template-columns:1fr}.answer-button{font-size:1.1rem;padding:1.25rem 1.5rem}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.tic-tac-toe{padding:2rem;max-width:600px;margin:0 auto}.game-mode-selection,.difficulty-selection{margin:2rem 0}.game-mode-selection h3,.difficulty-selection h3{font-size:1.2rem;color:var(--text-primary, #333);margin-bottom:1rem}.mode-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.btn-mode{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-mode:hover{background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.difficulty-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-difficulty{background:#fff;color:var(--primary-color, #4a90e2);border:2px solid var(--primary-color, #4a90e2);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.btn-difficulty:hover{background:var(--primary-light, #e8f4f8)}.btn-difficulty.active{background:var(--primary-color, #4a90e2);color:#fff}.score{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333)}.game-mode-badge{background:var(--primary-light, #e8f4f8);color:var(--primary-color, #4a90e2);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500}.game-stats-inline{display:flex;gap:1rem;font-size:.9rem;color:var(--text-secondary, #666)}.game-stats-inline span{font-weight:500}.status-message{text-align:center;font-size:1.3rem;font-weight:600;color:var(--text-primary, #333);margin-bottom:2rem;padding:1rem;background:var(--primary-light, #e8f4f8);border-radius:8px}.board-container{display:flex;justify-content:center;margin:2rem 0}.board{display:inline-block;border:3px solid var(--primary-color, #4a90e2);border-radius:8px;overflow:hidden;background:#fff}.board-row{display:flex}.square{width:100px;height:100px;font-size:3rem;font-weight:700;border:2px solid var(--primary-color, #4a90e2);background:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:var(--text-primary, #333)}.square:hover:not(:disabled){background:var(--primary-light, #e8f4f8);transform:scale(1.05)}.square:disabled{cursor:not-allowed;opacity:.8}.square.game-over{cursor:default}.square-x{color:#e74c3c}.square-o{color:#3498db}.square:first-child{border-left:none}.square:last-child{border-right:none}.board-row:first-child .square{border-top:none}.board-row:last-child .square{border-bottom:none}.game-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-play-again,.btn-new-game{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-play-again{background:var(--primary-color, #4a90e2);color:#fff}.btn-end-session{background:#6c757d;color:#fff}.btn-end-session:hover{background:#5a6268;transform:translateY(-2px)}@media(max-width:768px){.square{width:80px;height:80px;font-size:2.5rem}.game-info{flex-direction:column;align-items:flex-start}.mode-buttons{gap:.75rem}.btn-mode{padding:.875rem 1.5rem;font-size:1rem}}.memory-match{padding:2rem;max-width:800px;margin:0 auto}.btn-difficulty{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:150px}.score,.moves,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.progress-bar-container{background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.progress-bar{width:100%;height:20px;background:#e0e0e0;border-radius:10px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#357abd);transition:width .3s ease;border-radius:10px}.progress-text{font-size:.9rem;color:var(--text-secondary, #666);font-weight:500}.game-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;position:relative;min-height:400px}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:600px;margin:0 auto}.memory-card{aspect-ratio:1;position:relative;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;background:#fff;cursor:pointer;transition:transform .3s;perspective:1000px}.memory-card:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #4a90e24d}.memory-card:disabled{cursor:not-allowed}.memory-card.flipped{transform:rotateY(180deg)}.memory-card.matched{border-color:#28a745;background:#d4edda;cursor:default;animation:matchPulse .5s ease-out}@keyframes matchPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.card-front,.card-back{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:9px;font-size:2.5rem;font-weight:700}.card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-back{background:#fff;color:var(--text-primary, #333);transform:rotateY(180deg)}.memory-card.flipped .card-front{transform:rotateY(180deg)}.memory-card.flipped .card-back{transform:rotateY(0)}.memory-match[data-difficulty=easy] .cards-grid,.memory-match[data-difficulty=medium] .cards-grid,.memory-match[data-difficulty=hard] .cards-grid{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.cards-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.card-front,.card-back{font-size:2rem}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.connect-four{padding:2rem;max-width:700px;margin:0 auto}.btn-difficulty{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:120px}.score,.wins,.losses{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.wins{color:#28a745}.losses{color:#dc3545}.current-player{background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.player-indicator{font-size:1.2rem;font-weight:600;padding:.5rem 1rem;border-radius:8px}.player-indicator.red{color:#dc3545;background:#f8d7da}.player-indicator.yellow{color:#ffc107;background:#fff3cd}.winner-announcement{font-size:1.5rem;font-weight:700;padding:1rem;border-radius:8px;animation:celebrate .5s ease-in-out}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;align-items:center}.connect-four-board{display:flex;flex-direction:column;background:#1e88e5;border-radius:12px;padding:1rem;gap:.5rem}.board-row{display:flex;gap:.5rem}.board-cell{width:60px;height:60px;background:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.board-cell:hover:not(.empty){transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.board-cell.empty{cursor:pointer;background:#fffc}.board-cell.empty:hover{background:#fffffff2;transform:scale(1.05)}.piece{width:50px;height:50px;border-radius:50%;box-shadow:inset 0 -5px #0003;animation:drop .3s ease-out}@keyframes drop{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}.piece.red{background:linear-gradient(135deg,#dc3545,#c82333)}.piece.yellow{background:linear-gradient(135deg,#ffc107,#e0a800)}.game-end-actions{margin-top:2rem}.btn-play-again{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}@media(max-width:768px){.board-cell{width:45px;height:45px}.piece{width:38px;height:38px}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.word-scramble{padding:2rem;max-width:900px;margin:0 auto}.score,.timer,.difficulty{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333)}.difficulty{color:#28a745;background:#d4edda;padding:.5rem 1rem;border-radius:6px}.hint-section{margin-bottom:2rem;text-align:center}.btn-hint{background:#ffc107;color:#000;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-bottom:1rem}.hint-box{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-top:1rem;animation:fadeIn .3s}.hint-box p{margin:0;color:#856404;font-size:1.1rem;font-style:italic}.word-display{margin:3rem 0;padding:2rem;background:#f8f9fa;border-radius:12px;min-height:120px;display:flex;align-items:center;justify-content:center}.selected-letters,.empty-slots{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}.letter-slot{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#ccc;border-bottom:3px solid #ccc}.letter-btn{width:60px;height:60px;font-size:2rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.letter-btn.scrambled{background:#fff;border:3px solid var(--primary-color, #4a90e2);color:var(--primary-color, #4a90e2)}.letter-btn.scrambled:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1);box-shadow:0 4px 8px #4a90e266}.letter-btn.scrambled:disabled{opacity:.6;cursor:not-allowed}.letter-btn.selected{background:#28a745;color:#fff;border:3px solid #218838;animation:selectPulse .3s}.letter-btn.selected:hover{background:#dc3545;border-color:#c82333;transform:scale(1.1)}@keyframes selectPulse{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.feedback{margin:2rem 0;padding:1rem;border-radius:8px;font-size:1.3rem;font-weight:600;text-align:center;animation:fadeIn .3s}.scrambled-letters{margin-top:3rem}.instruction-text{text-align:center;font-size:1.2rem;color:var(--text-primary, #333);font-weight:500;margin-bottom:1.5rem}.letters-grid{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.rhyme-time{padding:2rem;max-width:900px;margin:0 auto}.game-info{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.score,.accuracy,.timer{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.accuracy{color:#28a745}.progress-info{display:flex;gap:1.5rem;background:#fff;padding:.75rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.95rem;color:var(--text-secondary, #666)}.question-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.question-header{text-align:center}.question-header h3{font-size:1.5rem;color:var(--text-primary, #333);margin:0 0 1rem}.target-word{font-size:3rem;font-weight:700;color:var(--primary-color, #4a90e2);padding:1.5rem 3rem;background:var(--primary-light, #e8f4f8);border-radius:12px;display:inline-block;margin-top:1rem;box-shadow:0 2px 8px #0000001a}.answers-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;max-width:600px}.answer-button{padding:1.5rem 2rem;font-size:1.5rem;font-weight:600;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;background:#fff;color:var(--text-primary, #333);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.answer-button:hover:not(:disabled){background:var(--primary-light, #e8f4f8);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e24d}.answer-button:disabled{cursor:not-allowed}.answer-button.selected{background:var(--primary-color, #4a90e2);color:#fff}.answer-button.correct{background:#d4edda;border-color:#28a745;color:#155724}.answer-button.wrong{background:#f8d7da;border-color:#dc3545;color:#721c24}.result-icon{font-size:1.5rem;font-weight:700}.result-feedback{padding:1rem 2rem;border-radius:8px;text-align:center;font-size:1.2rem;font-weight:600;animation:fadeIn .3s ease-in}.result-feedback.correct{background:#d4edda;color:#155724;border:2px solid #28a745}.result-feedback.wrong{background:#f8d7da;color:#721c24;border:2px solid #dc3545}@media(max-width:768px){.target-word{font-size:2rem;padding:1rem 2rem}.answers-container{grid-template-columns:1fr}.answer-button{font-size:1.2rem;padding:1.25rem 1.5rem}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.word-search{padding:2rem;max-width:1000px;margin:0 auto}.game-start-screen{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.game-start-screen h2{font-size:2rem;color:var(--primary-color, #4a90e2);margin-bottom:1rem}.difficulty-selection{margin:2rem 0}.difficulty-selection h3{font-size:1.2rem;color:var(--text-primary, #333);margin-bottom:1rem}.difficulty-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-difficulty{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:200px}.btn-difficulty:hover{background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.game-info{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:1rem}.score,.timer,.found{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.found{color:#28a745}.game-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;position:relative;min-height:500px}.word-search-container{display:flex;gap:2rem;align-items:flex-start}.word-list{flex:0 0 250px;background:var(--primary-light, #e8f4f8);padding:1.5rem;border-radius:12px}.word-list h3{font-size:1.2rem;color:var(--text-primary, #333);margin-bottom:1rem}.words-grid{display:flex;flex-direction:column;gap:.75rem}.word-item{padding:.75rem 1rem;background:#fff;border-radius:8px;font-size:1.1rem;font-weight:600;color:var(--text-primary, #333);border:2px solid transparent;transition:all .2s}.word-item.found{background:#d4edda;color:#155724;border-color:#28a745;text-decoration:line-through;opacity:.7}.grid-container{flex:1;display:flex;justify-content:center;align-items:center}.word-search-grid{display:grid;gap:2px;background:var(--text-primary, #333);padding:2px;border-radius:8px;max-width:100%}.grid-cell{aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-primary, #333);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.grid-cell:hover{background:var(--primary-light, #e8f4f8);transform:scale(1.05)}.grid-cell.selected{background:var(--primary-color, #4a90e2);color:#fff}.grid-cell.found{background:#d4edda;color:#155724}.game-end-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:10}.game-end-message{text-align:center;padding:2rem}.game-end-message h2{font-size:2rem;color:var(--primary-color, #4a90e2);margin-bottom:1.5rem}.final-stats{display:flex;flex-direction:column;gap:1rem;margin:2rem 0;max-width:300px;margin-left:auto;margin-right:auto}.btn-play-again{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:1.5rem}.btn-play-again:hover{background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}@media(max-width:768px){.word-search-container{flex-direction:column}.word-list{flex:1;width:100%}.grid-cell{font-size:1.2rem}.game-info{flex-direction:column;align-items:flex-start}.difficulty-buttons{flex-direction:column;width:100%}.btn-difficulty{width:100%}}.hangman{padding:2rem;max-width:900px;margin:0 auto}.game-info{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;gap:1rem;flex-wrap:wrap}.score,.category,.wrong-guesses{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333)}.category{color:#28a745;background:#d4edda;padding:.5rem 1rem;border-radius:6px}.wrong-guesses{color:#dc3545}.game-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:500px}.hangman-drawing{display:flex;justify-content:center;margin-bottom:2rem}.hangman-svg{width:200px;height:250px}.hangman-part{animation:drawPart .3s ease-out}@keyframes drawPart{0%{opacity:0;stroke-dasharray:1000;stroke-dashoffset:1000}to{opacity:1;stroke-dashoffset:0}}.word-section{margin:2rem 0}.hint-section{text-align:center;margin-bottom:1rem}.btn-hint{background:#ffc107;color:#000;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-hint:hover{background:#e0a800}.hint-box{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-top:1rem;display:inline-block;animation:fadeIn .3s}.hint-box p{margin:0;color:#856404;font-size:1rem;font-style:italic}.word-display{text-align:center;margin:2rem 0;padding:2rem;background:#f8f9fa;border-radius:12px;min-height:80px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem}.word-letter{font-size:2.5rem;font-weight:700;color:var(--primary-color, #4a90e2);min-width:40px;text-align:center;font-family:monospace}.feedback{text-align:center;margin:1.5rem 0;padding:1rem;border-radius:8px;font-size:1.3rem;font-weight:600;animation:fadeIn .3s}.alphabet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(45px,1fr));gap:.5rem;margin-top:2rem;max-width:600px;margin-left:auto;margin-right:auto}.letter-btn{width:45px;height:45px;font-size:1.2rem;font-weight:700;border:2px solid var(--primary-color, #4a90e2);background:#fff;color:var(--primary-color, #4a90e2);border-radius:8px;cursor:pointer;transition:all .2s}.letter-btn:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1)}.letter-btn:disabled{cursor:not-allowed;opacity:.6}.letter-btn.correct{background:#28a745;border-color:#28a745;color:#fff}.letter-btn.wrong{background:#dc3545;border-color:#dc3545;color:#fff}@media(max-width:768px){.hangman{padding:1rem}.game-info{flex-direction:column;align-items:stretch}.alphabet-grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:.4rem}.letter-btn{width:40px;height:40px;font-size:1rem}}.word-match{padding:2rem;max-width:800px;margin:0 auto}.picture-section{margin-bottom:3rem}.picture-display{text-align:center;padding:3rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 15px #667eea66}.picture-emoji{font-size:8rem;margin-bottom:1rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.picture-hint{font-size:1.2rem;color:#ffffffe6;font-style:italic;margin:0}.instruction{text-align:center;font-size:1.2rem;color:var(--text-primary, #333);font-weight:500;margin-bottom:1.5rem}.word-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:500px;margin:0 auto}.word-option-btn{padding:1.5rem 2rem;font-size:1.5rem;font-weight:700;border:3px solid var(--primary-color, #4a90e2);background:#fff;color:var(--primary-color, #4a90e2);border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #0000001a}.word-option-btn:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #4a90e266}.word-option-btn:disabled{cursor:not-allowed}.word-option-btn.correct{background:#28a745;border-color:#28a745;color:#fff;animation:correctPulse .5s ease-out}.word-option-btn.wrong{background:#dc3545;border-color:#dc3545;color:#fff;animation:wrongShake .5s ease-out}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media(max-width:768px){.picture-emoji{font-size:6rem}.word-options{grid-template-columns:1fr}.word-option-btn{padding:1.25rem 1.5rem;font-size:1.3rem}}.word-builder{padding:2rem;max-width:800px;margin:0 auto}.hint-section{margin-bottom:2rem}.hint-box{background:#e7f3ff;border:2px solid var(--primary-color, #4a90e2);border-radius:12px;padding:1.5rem;text-align:center}.hint-label{font-weight:600;color:var(--primary-color, #4a90e2);margin:0 0 .5rem;font-size:.9rem}.hint-text{font-size:1.3rem;color:var(--text-primary, #333);margin:0;font-style:italic}.word-display{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:3rem 0;padding:2rem;background:#f8f9fa;border-radius:12px;min-height:100px}.word-letter{font-size:3rem;font-weight:700;color:var(--primary-color, #4a90e2);min-width:50px;text-align:center;font-family:monospace}.word-letter.empty{color:#ccc;border-bottom:3px solid #ccc}.letters-section{margin-top:2rem}.available-letters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.letter-btn{width:60px;height:60px;font-size:1.8rem;font-weight:700;border:3px solid var(--primary-color, #4a90e2);background:#fff;color:var(--primary-color, #4a90e2);border-radius:12px;cursor:pointer;transition:all .2s}.letter-btn:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4a90e266}.letter-btn:disabled{opacity:.6;cursor:not-allowed}.btn-undo{display:block;margin:0 auto;padding:.75rem 2rem;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-undo:hover:not(:disabled){background:#5a6268}.btn-undo:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.word-letter{font-size:2rem;min-width:40px}.letter-btn{width:50px;height:50px;font-size:1.5rem}}.whack-a-letter{padding:2rem;max-width:600px;margin:0 auto}.target-section{text-align:center;margin-bottom:3rem}.instruction{font-size:1.3rem;color:var(--text-secondary, #666);margin-bottom:1rem;font-weight:500}.target-letter-display{font-size:8rem;font-weight:700;color:var(--primary-color, #4a90e2);background:#e7f3ff;border-radius:20px;padding:2rem;display:inline-block;min-width:200px;animation:letterPulse 2s ease-in-out infinite}@keyframes letterPulse{0%,to{transform:scale(1);box-shadow:0 0 #4a90e266}50%{transform:scale(1.05);box-shadow:0 0 0 20px #4a90e200}}.feedback{text-align:center;margin:2rem 0;padding:1rem;border-radius:8px;font-size:1.3rem;font-weight:600;animation:fadeIn .3s}.letter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:400px;margin:0 auto}.letter-tile{aspect-ratio:1;font-size:3rem;font-weight:700;border:3px solid var(--primary-color, #4a90e2);background:#fff;color:var(--primary-color, #4a90e2);border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.letter-tile:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4a90e266}.letter-tile:disabled{cursor:not-allowed;opacity:.7}.letter-tile.correct{background:#28a745;border-color:#28a745;color:#fff;animation:correctPop .3s ease-out}.letter-tile.wrong{background:#dc3545;border-color:#dc3545;color:#fff;animation:wrongShake .3s ease-out}@keyframes correctPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media(max-width:768px){.target-letter-display{font-size:6rem;min-width:150px;padding:1.5rem}.letter-grid{gap:.75rem}.letter-tile{font-size:2.5rem}}.wordle-jr{padding:2rem;max-width:600px;margin:0 auto}.game-start-screen p{color:var(--text-secondary, #666);margin:.5rem 0;font-size:1rem;line-height:1.5}.game-over-message{font-size:1.2rem;margin:1rem 0;color:var(--text-primary, #333)}.score,.guesses-left{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333)}.guesses-left{color:var(--primary-color, #4a90e2)}.game-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.guesses-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.guess-row{display:flex;gap:.5rem;justify-content:center}.letter-box{width:60px;height:60px;border:2px solid #d3d6da;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:var(--text-primary, #333);background:#fff;transition:all .3s}.letter-box.empty{border-color:#d3d6da;background:#f8f9fa}.letter-box.correct{background:#6aaa64;color:#fff;border-color:#6aaa64}.letter-box.present{background:#c9b458;color:#fff;border-color:#c9b458}.letter-box.absent{background:#787c7e;color:#fff;border-color:#787c7e}.input-section{margin-top:2rem}.guess-form{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.guess-input{padding:.75rem;font-size:1.5rem;text-align:center;text-transform:uppercase;border:2px solid var(--primary-color, #4a90e2);border-radius:8px;width:200px;letter-spacing:.2em;font-weight:700}.guess-input:focus{outline:none;box-shadow:0 0 0 3px #4a90e233}.btn-submit{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit:hover:not(:disabled){background:var(--primary-dark, #357abd)}.keyboard{display:flex;flex-direction:column;gap:.5rem;align-items:center}.keyboard-row{display:flex;gap:.5rem}.key-btn{min-width:40px;height:50px;border:1px solid #d3d6da;background:#fff;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text-primary, #333)}.key-btn:hover{background:#f0f0f0;border-color:var(--primary-color, #4a90e2)}.key-btn.special{min-width:60px;font-size:1.2rem}@media(max-width:768px){.letter-box{width:50px;height:50px;font-size:1.5rem}.guess-input{width:150px;font-size:1.2rem}.key-btn{min-width:30px;height:40px;font-size:.9rem}}.vocabulary-quest{padding:2rem;max-width:800px;margin:0 auto}.question-section{text-align:center;margin-bottom:3rem}.vocab-word{font-size:3rem;font-weight:700;color:var(--primary-color, #4a90e2);margin:0 0 1rem;letter-spacing:.1em}.question-prompt{font-size:1.3rem;color:var(--text-secondary, #666);margin:0}.options-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.option-btn{padding:1.5rem;text-align:left;border:3px solid #e9ecef;background:#fff;border-radius:12px;font-size:1.1rem;cursor:pointer;transition:all .2s;color:var(--text-primary, #333);font-weight:500}.option-btn:hover:not(:disabled){border-color:var(--primary-color, #4a90e2);background:#f0f7ff;transform:translate(5px)}.option-btn.selected{border-color:var(--primary-color, #4a90e2);background:#e7f3ff;font-weight:600}.option-btn.correct{border-color:#28a745;background:#d4edda;color:#155724}.option-btn.wrong{border-color:#dc3545;background:#f8d7da;color:#721c24}.option-btn:disabled{cursor:not-allowed}.feedback{text-align:center;margin:2rem 0;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:600;animation:fadeIn .3s}.btn-submit{display:block;margin:0 auto;padding:1rem 3rem;background:var(--primary-color, #4a90e2);color:#fff;border:none;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit:hover{background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.spelling-bee{padding:2rem;max-width:700px;margin:0 auto}.game-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:400px}.word-section{margin-bottom:3rem}.word-display-box{text-align:center;padding:3rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 15px #667eea66}.word-hint{font-size:1.8rem;color:#fff;margin:0 0 1.5rem;font-weight:600}.btn-show-word{background:#ffffffe6;color:#667eea;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-show-word:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.spelling-form{display:flex;flex-direction:column;gap:1.5rem;max-width:500px;margin:0 auto}.spelling-label{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333);text-align:center}.spelling-input{padding:1.5rem;font-size:2rem;text-align:center;text-transform:uppercase;letter-spacing:.2em;border:3px solid var(--primary-color, #4a90e2);border-radius:12px;outline:none;font-weight:700;transition:border-color .2s}.spelling-input:focus{border-color:var(--primary-dark, #357abd);box-shadow:0 0 0 3px #4a90e233}.spelling-input:disabled{background:#f5f5f5;cursor:not-allowed}.btn-submit{padding:1rem 2rem;background:var(--primary-color, #4a90e2);color:#fff;border:none;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit:hover:not(:disabled){background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.btn-submit:disabled{background:#ccc;cursor:not-allowed}.feedback{text-align:center;margin-top:2rem;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:600;animation:fadeIn .3s}.sentence-builder{padding:2rem;max-width:800px;margin:0 auto}.game-start-screen,.game-end-screen{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.game-start-screen h2,.game-end-screen h2{font-size:2rem;color:var(--primary-color, #4a90e2);margin-bottom:1rem}.game-start-screen p{color:var(--text-secondary, #666);margin:.5rem 0;font-size:1.1rem}.btn-start,.btn-play-again{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.2rem;cursor:pointer;margin-top:2rem;transition:background .2s}.btn-start:hover,.btn-play-again:hover{background:var(--primary-dark, #357abd)}.game-stats{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--primary-light, #e8f4f8);border-radius:8px}.stat-label{font-weight:600;color:var(--text-primary, #333)}.stat-divider{height:2px;background:var(--primary-light, #e8f4f8);margin:1rem 0}.stat-item.highlight{background:#fff3cd;border:2px solid #ffc107;animation:pulse 1s ease-in-out}.stat-item.highlight .stat-label{color:#856404;font-size:1.2rem}.game-stats-preview{margin:1.5rem 0;padding:1rem;background:var(--primary-light, #e8f4f8);border-radius:8px}.game-stats-preview p{margin:.5rem 0;color:var(--text-primary, #333);font-weight:500}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.game-header{margin-bottom:2rem}.game-info{display:flex;justify-content:space-between;background:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.score,.timer{font-size:1.2rem;font-weight:600;color:var(--text-primary, #333)}.timer{color:var(--primary-color, #4a90e2)}.game-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;min-height:400px}.hint-section{background:#e7f3ff;border-left:4px solid var(--primary-color, #4a90e2);padding:1rem;border-radius:8px;margin-bottom:2rem}.hint-text{margin:0;color:var(--text-primary, #333);font-size:1.1rem;font-weight:500}.instruction{font-size:1.2rem;color:var(--text-secondary, #666);margin-bottom:1rem;font-weight:500}.sentence-display{margin-bottom:2rem;padding:2rem;background:#f8f9fa;border-radius:12px;min-height:120px}.selected-words{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-start;min-height:60px}.empty-sentence{color:var(--text-secondary, #999);font-style:italic;width:100%;text-align:center;padding:1rem}.selected-word{padding:.75rem 1.25rem;background:var(--primary-color, #4a90e2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.selected-word:hover:not(:disabled){background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 8px #4a90e24d}.selected-word:disabled{cursor:not-allowed;opacity:.7}.remove-icon{font-size:1.3rem;font-weight:700;line-height:1}.feedback{text-align:center;margin:1.5rem 0;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:600;animation:fadeIn .3s}.feedback.correct{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.feedback.incorrect{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.words-section{margin-top:2rem}.words-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.word-btn{padding:1rem 1.5rem;background:#fff;color:var(--primary-color, #4a90e2);border:2px solid var(--primary-color, #4a90e2);border-radius:8px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .2s}.word-btn:hover:not(:disabled){background:var(--primary-color, #4a90e2);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #4a90e24d}.word-btn:disabled{cursor:not-allowed;opacity:.6}@media(max-width:768px){.sentence-display{padding:1.5rem}.selected-word{padding:.6rem 1rem;font-size:1rem}.word-btn{padding:.75rem 1.25rem;font-size:1rem}.words-grid{gap:.5rem}}.game-player{padding:2rem;max-width:1000px;margin:0 auto}.game-player-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.game-title-section{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.btn-view-progress{padding:.5rem 1rem;background:#6c757d;color:#fff;border-radius:6px;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .2s}.btn-view-progress:hover{background:#5a6268}.difficulty-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#e7f3ff;border-radius:20px;font-size:.9rem}.difficulty-label{color:var(--color-text-secondary, #666);font-weight:500}.difficulty-value{color:var(--primary-color, #4a90e2);font-weight:600}.btn-back{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.btn-back:hover{background:var(--primary-dark, #357abd)}.game-player-header h1{font-size:2rem;color:var(--text-primary, #333);margin:0}.game-player-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a;min-height:400px;display:flex;align-items:center;justify-content:center}.game-placeholder{text-align:center}.game-placeholder p{font-size:1.2rem;color:var(--text-secondary, #666);margin:.5rem 0}.game-description{font-size:1rem;color:var(--text-secondary, #999)}.game-not-found{text-align:center;padding:3rem}.game-not-found h2{color:var(--text-primary, #333);margin-bottom:1rem}.game-not-found p{color:var(--text-secondary, #666);margin-bottom:2rem}.btn-primary{background:var(--primary-color, #4a90e2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.spinner{border:3px solid var(--primary-light, #e8f4f8);border-top:3px solid var(--primary-color, #4a90e2);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.game-progress{padding:2rem;max-width:1200px;margin:0 auto}.loading-state,.error-state,.no-progress{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #4a90e2);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.back-link{display:inline-block;color:var(--primary-color, #4a90e2);text-decoration:none;font-size:.95rem;margin-bottom:1rem;transition:color .2s}.back-link:hover{color:var(--primary-dark, #357abd)}.game-info-header{display:flex;align-items:center;gap:1.5rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.game-icon-large{font-size:4rem;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:16px}.game-info-header h1{margin:0 0 .5rem;font-size:2rem;color:var(--color-text-primary, #333)}.game-description{margin:0;color:var(--color-text-secondary, #666);font-size:1rem}.progress-content{display:flex;flex-direction:column;gap:2rem}.stats-section,.metrics-section,.level-progression-section{margin-top:2rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.level-progression-section h2{font-size:1.5rem;color:var(--text-primary, #333);margin-bottom:1.5rem}.levels-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.level-progress-card{padding:1.5rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;transition:all .3s}.level-progress-card.unlocked{border-color:var(--primary-color, #4a90e2);background:linear-gradient(135deg,#fff,#f0f7ff)}.level-progress-card.mastered{border-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.level-progress-card.locked{opacity:.6;background:#f5f5f5;border-color:#d0d0d0}.level-progress-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.level-progress-icon{font-size:2.5rem}.level-progress-info{flex:1}.level-progress-name{font-size:1.1rem;font-weight:600;color:var(--text-primary, #333);margin-bottom:.25rem}.mastered-indicator{font-size:.85rem;color:#28a745;font-weight:600}.locked-indicator{font-size:.85rem;color:#6c757d;font-weight:500}.level-progress-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.level-progress-bar{flex:1;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.level-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color, #4a90e2),var(--primary-dark, #357abd));transition:width .3s ease;border-radius:6px}.level-progress-card.mastered .level-progress-fill{background:linear-gradient(90deg,#28a745,#20c997)}.level-progress-percent{font-size:.9rem;font-weight:600;color:var(--text-primary, #333);min-width:45px;text-align:right}.level-stats-mini{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary, #666);flex-wrap:wrap}.level-stats-mini span{padding:.25rem .5rem;background:#0000000d;border-radius:4px}.difficulty-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.stats-section h2,.metrics-section h2,.difficulty-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--color-text-primary, #333)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px}.stat-info{flex:1}.stat-label{font-size:.9rem;color:var(--color-text-secondary, #666);margin-bottom:.25rem}.stat-value{font-size:1.8rem;font-weight:700;color:var(--primary-color, #4a90e2)}.metrics-list{display:flex;flex-direction:column;gap:1rem}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px}.metric-label{font-weight:600;color:var(--color-text-primary, #333)}.metric-value{font-size:1.2rem;font-weight:600;color:var(--primary-color, #4a90e2)}.difficulty-badge{display:inline-block;padding:.5rem 1rem;background:var(--primary-color, #4a90e2);color:#fff;border-radius:20px;font-size:.9rem}.difficulty-list{display:flex;flex-direction:column;gap:1rem}.difficulty-card{padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--primary-color, #4a90e2)}.difficulty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.difficulty-name{font-size:1.2rem;font-weight:600;color:var(--color-text-primary, #333)}.current-badge{padding:.25rem .75rem;background:#28a745;color:#fff;border-radius:12px;font-size:.85rem;font-weight:600}.difficulty-stats{display:flex;gap:2rem;flex-wrap:wrap}.difficulty-stat{font-size:.95rem;color:var(--color-text-secondary, #666)}.actions-section{display:flex;gap:1rem;justify-content:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.btn-primary,.btn-secondary,.btn-back,.btn-play{display:inline-block;padding:.75rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s;border:none;cursor:pointer}.btn-primary,.btn-play{background:var(--primary-color, #4a90e2);color:#fff}.btn-primary:hover,.btn-play:hover{background:var(--primary-dark, #357abd);transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.btn-secondary,.btn-back{background:#6c757d;color:#fff}.btn-secondary:hover,.btn-back:hover{background:#5a6268}.no-progress{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.no-progress p{font-size:1.2rem;color:var(--color-text-secondary, #666)}@media(max-width:768px){.game-progress{padding:1rem}.game-info-header{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:1fr}.difficulty-stats{flex-direction:column;gap:.5rem}.actions-section{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}}.family-game-progress{padding:2rem;max-width:1400px;margin:0 auto}.progress-header{margin-bottom:2rem}.back-link{color:var(--primary-color, #4a90e2);text-decoration:none;font-size:.9rem;margin-bottom:1rem;display:inline-block}.back-link:hover{text-decoration:underline}.header-content h1{font-size:2rem;color:var(--text-primary, #333);margin:.5rem 0}.header-content p{color:var(--text-secondary, #666);margin:0}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--primary-color, #4a90e2);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.filters-section{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:var(--text-primary, #333);font-size:.9rem}.filter-select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s;min-width:200px}.filter-select:hover{border-color:var(--primary-color, #4a90e2)}.filter-select:focus{outline:none;border-color:var(--primary-color, #4a90e2);box-shadow:0 0 0 3px #4a90e21a}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center}.summary-label{font-size:.9rem;color:var(--text-secondary, #666);margin-bottom:.5rem}.summary-value{font-size:2rem;font-weight:700;color:var(--primary-color, #4a90e2)}.children-progress{display:flex;flex-direction:column;gap:2rem}.child-progress-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.child-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.child-info{display:flex;align-items:center;gap:1rem}.child-avatar{width:60px;height:60px;border-radius:50%;background:var(--primary-light, #e8f4f8);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--primary-color, #4a90e2);overflow:hidden}.child-avatar img{width:100%;height:100%;object-fit:cover}.child-info h2{margin:0;font-size:1.5rem;color:var(--text-primary, #333)}.child-age{margin:.25rem 0 0;color:var(--text-secondary, #666);font-size:.9rem}.child-overall-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-item{background:var(--primary-light, #e8f4f8);padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem;color:var(--text-secondary, #666);font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color, #4a90e2)}.skill-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.skill-level-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2)}.skill-level-card.math{background:linear-gradient(135deg,#f093fb,#f5576c)}.skill-level-card.vocab{background:linear-gradient(135deg,#4facfe,#00f2fe)}.skill-icon{font-size:2.5rem}.skill-info{flex:1;color:#fff}.skill-label{font-size:.85rem;opacity:.9;margin-bottom:.25rem}.skill-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.skill-detail{font-size:.8rem;opacity:.8}.games-progress-list{margin-top:2rem}.games-progress-list h3{font-size:1.2rem;color:var(--text-primary, #333);margin-bottom:1rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.game-progress-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:2px solid transparent;transition:all .2s}.game-progress-item:hover{border-color:var(--primary-color, #4a90e2);box-shadow:0 2px 8px #4a90e233}.game-icon{font-size:2rem;flex-shrink:0}.game-details{flex:1;min-width:0}.game-name{font-weight:600;color:var(--text-primary, #333);margin-bottom:.25rem;font-size:.95rem}.game-stats{font-size:.85rem;color:var(--text-secondary, #666);display:flex;gap:.5rem;flex-wrap:wrap}.game-difficulty{font-size:.8rem;color:var(--primary-color, #4a90e2);font-weight:500;margin-top:.25rem}.view-progress-link{color:var(--primary-color, #4a90e2);text-decoration:none;font-weight:500;font-size:.9rem;white-space:nowrap}.view-progress-link:hover{text-decoration:underline}.no-progress{text-align:center;padding:3rem 2rem;background:#f8f9fa;border-radius:8px;margin-top:1rem}.no-progress p{color:var(--text-secondary, #666);margin-bottom:1rem}.btn-primary{display:inline-block;padding:.75rem 1.5rem;background:var(--primary-color, #4a90e2);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--primary-dark, #357abd)}@media(max-width:768px){.filters-section{flex-direction:column;gap:1rem}.filter-select{min-width:100%}.summary-stats,.child-overall-stats,.skill-levels,.games-grid{grid-template-columns:1fr}}.analytics-dashboard{padding:24px;background:#f9fafb;border-radius:12px}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.analytics-header h2{margin:0;color:#333;font-size:1.8em}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.export-button,.refresh-button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s;white-space:nowrap}.export-button{background:#28a745}.analytics-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:16px}.stat-icon{font-size:2.5em}.stat-content{flex:1}.stat-value{font-size:2em;font-weight:700;color:#333;line-height:1.2}.stat-label{font-size:.9em;color:#666;margin-top:4px}.stat-sublabel{font-size:.8em;color:#999;margin-top:2px}.analytics-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.analytics-section h3{margin:0 0 16px;color:#333;font-size:1.4em}.feedback-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.breakdown-item{display:flex;justify-content:space-between;padding:12px;background:#f5f7fa;border-radius:8px}.breakdown-label{color:#666;font-weight:500}.breakdown-value{color:#333;font-weight:700;font-size:1.1em}.feature-usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.feature-item{display:flex;justify-content:space-between;padding:16px;background:#f5f7fa;border-radius:8px;align-items:center}.feature-label{color:#666;font-weight:500}.feature-value{color:#667eea;font-weight:700;font-size:1.2em}.household-analytics-table{overflow-x:auto}.household-analytics-table table{width:100%;border-collapse:collapse}.household-analytics-table th,.household-analytics-table td{padding:12px;text-align:left;border-bottom:1px solid #e8e8e8}.household-analytics-table th{background:#f5f7fa;font-weight:600;color:#333;position:sticky;top:0}.household-analytics-table tr:hover{background:#f9fafb}.table-note{margin-top:12px;color:#666;font-size:.9em;text-align:center}.analytics-error{padding:24px;text-align:center;color:#e74c3c}.retry-button{margin-top:16px;padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer}.analytics-empty{padding:24px;text-align:center;color:#666}.chart-container{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:16px}.chart-wrapper{background:#f9fafb;padding:16px;border-radius:8px}.chart-wrapper h4{margin:0 0 16px;color:#333;font-size:1.1em;text-align:center}@media(max-width:768px){.analytics-dashboard{padding:16px}.analytics-overview{grid-template-columns:1fr}.household-analytics-table{font-size:.9em}.charts-row{grid-template-columns:1fr}}.household-management{padding:24px;background:#f9fafb;border-radius:12px}.search-box{flex:1;max-width:400px}.search-input{width:100%;padding:10px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}.households-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.households-table{width:100%;border-collapse:collapse}.households-table th,.households-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8e8}.households-table th{background:#f5f7fa;font-weight:600;color:#333;position:relative}.households-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:24px}.households-table th.sortable:hover{background:#e8e8e8}.households-table th.sortable:after{content:" ↕";position:absolute;right:8px;opacity:.3;font-size:.8em}.households-table tr:hover{background:#f9fafb}.btn-view,.btn-delete{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .2s}.members-list{display:flex;flex-direction:column;gap:8px}.member-item{padding:8px 12px;background:#f5f7fa;border-radius:6px;color:#333}@media(max-width:768px){.household-management{padding:16px}.households-table{font-size:.9em}.action-buttons{flex-direction:column}.pagination-controls{flex-direction:column;gap:12px;align-items:stretch}.load-more-button{width:100%}}.user-management{padding:24px;background:#f9fafb;border-radius:12px}.filters{display:flex;gap:12px;flex:1;max-width:500px}.search-input,.filter-select{padding:10px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;transition:border-color .2s}.search-input{flex:1}.search-input:focus,.filter-select:focus{outline:none;border-color:#667eea}.users-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8e8}.users-table th{background:#f5f7fa;font-weight:600;color:#333;position:relative}.users-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:24px}.users-table th.sortable:hover{background:#e8e8e8}.users-table th.sortable:after{content:" ↕";position:absolute;right:8px;opacity:.3;font-size:.8em}.users-table tr:hover{background:#f9fafb}.action-buttons{display:flex;gap:8px}.btn-view,.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .2s}.btn-view{background:#667eea;color:#fff}.btn-edit{background:#f39c12;color:#fff}.btn-edit:hover{background:#e67e22}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.form-group{margin-bottom:20px}.form-input{width:100%;padding:10px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;transition:border-color .2s}.form-input:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-save,.btn-cancel{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:1em;transition:all .2s}.btn-save{background:#667eea;color:#fff}.btn-save:hover{background:#5568d3}.btn-cancel{background:#e8e8e8;color:#333}.btn-cancel:hover{background:#d0d0d0}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:2px solid #e8e8e8}.bulk-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#e3f2fd;border-radius:8px;margin-bottom:16px;border:2px solid #2196f3}.bulk-action-buttons{display:flex;gap:12px}.btn-bulk-delete{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.btn-bulk-delete:hover{background:#c0392b}@media(max-width:768px){.user-management{padding:16px}.users-table{font-size:.9em}.action-buttons,.filters{flex-direction:column}.pagination-controls{flex-direction:column;gap:12px;align-items:stretch}.load-more-button{width:100%}}.feedback-management{padding:24px;background:#f9fafb;border-radius:12px}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.management-header h2{margin:0;color:#333;font-size:1.8em}.header-actions{display:flex;gap:12px;align-items:center;flex:1;justify-content:flex-end}.filters{display:flex;gap:12px}.export-button{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s;white-space:nowrap}.export-button:hover{background:#218838}.filter-select{padding:10px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#667eea}.feedback-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.feedback-items{display:flex;flex-direction:column;gap:16px}.feedback-item{padding:20px;border:2px solid #e8e8e8;border-radius:8px;transition:all .2s}.feedback-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.feedback-title{display:flex;align-items:center;gap:12px;flex:1}.feedback-title h4{margin:0;color:#333;font-size:1.1em}.type-badge{padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:capitalize}.type-feedback{background:#e3f2fd;color:#1976d2}.type-feature{background:#f3e5f5;color:#7b1fa2}.type-bug{background:#ffebee;color:#c62828}.badge-new{background:#fff3cd;color:#856404}.badge-reviewed{background:#d1ecf1;color:#0c5460}.badge-in-progress{background:#d4edda;color:#155724}.badge-implemented{background:#cce5ff;color:#004085}.badge-closed{background:#e2e3e5;color:#383d41}.feedback-body{margin-bottom:16px}.feedback-message{color:#666;line-height:1.6;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback-message-full{color:#333;line-height:1.6;padding:12px;background:#f5f7fa;border-radius:6px;white-space:pre-wrap}.feedback-meta{display:flex;justify-content:space-between;font-size:.9em;color:#999}.feedback-actions{display:flex;gap:12px;align-items:center}.btn-view{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .2s}.btn-view:hover{background:#5568d3}.status-select{padding:8px 12px;border:2px solid #e8e8e8;border-radius:6px;font-size:.9em;cursor:pointer;transition:border-color .2s}.status-select:focus{outline:none;border-color:#667eea}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #e8e8e8}.modal-header h3{margin:0;color:#333}.modal-close{background:none;border:none;font-size:2em;color:#666;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:24px}.detail-item{margin-bottom:20px}.detail-item label{display:block;font-weight:600;color:#666;margin-bottom:8px}.detail-item span{color:#333;display:block}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:2px solid #e8e8e8;margin-top:16px}.pagination-info{color:#666;font-size:.9em}.load-more-button{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.load-more-button:hover:not(:disabled){background:#5568d3}.load-more-button:disabled{background:#ccc;cursor:not-allowed}.bulk-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#e3f2fd;border-radius:8px;margin-bottom:16px;border:2px solid #2196f3;flex-wrap:wrap;gap:12px}.bulk-selection-count{font-weight:600;color:#1976d2}.bulk-action-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bulk-status-select{padding:8px 12px;border:2px solid #e8e8e8;border-radius:8px;font-size:.9em}.btn-bulk-update{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.btn-bulk-update:hover:not(:disabled){background:#5568d3}.btn-bulk-update:disabled{background:#ccc;cursor:not-allowed}.btn-clear-selection{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.btn-clear-selection:hover{background:#7f8c8d}.feedback-select-all{display:flex;align-items:center;gap:8px;padding:12px;background:#f5f7fa;border-radius:8px;margin-bottom:12px}.feedback-checkbox{position:absolute;top:12px;right:12px}.feedback-item{position:relative}@media(max-width:768px){.feedback-management{padding:16px}.feedback-actions{flex-direction:column;align-items:stretch}.status-select{width:100%}.pagination-controls{flex-direction:column;gap:12px;align-items:stretch}.load-more-button{width:100%}}.app-invitation-form{padding:24px;background:#f9fafb;border-radius:12px}.invitation-header{margin-bottom:32px}.invitation-header h2{margin:0 0 8px;color:#333;font-size:1.8em}.subtitle{color:#666;margin:0}.invitation-form-section,.invitation-history-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.invitation-form-section h3,.invitation-history-section h3{margin:0 0 20px;color:#333;font-size:1.4em}.invitation-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#666}.form-input,.form-textarea{padding:12px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;font-family:inherit;transition:border-color .2s}.submit-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background .2s;align-self:flex-start}.submit-button:hover:not(:disabled){background:#5568d3}.submit-button:disabled{background:#ccc;cursor:not-allowed}.invitations-list{display:flex;flex-direction:column;gap:16px}.invitation-item{padding:20px;border:2px solid #e8e8e8;border-radius:8px;transition:all .2s}.invitation-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.invitation-header-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.invitation-email{font-weight:600;color:#333;font-size:1.1em}.status-badge{padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:capitalize}.badge-pending{background:#fff3cd;color:#856404}.badge-sent{background:#d1ecf1;color:#0c5460}.badge-accepted{background:#d4edda;color:#155724}.badge-expired{background:#e2e3e5;color:#383d41}.invitation-message{color:#666;line-height:1.6;margin-bottom:12px;padding:12px;background:#f5f7fa;border-radius:6px}.invitation-meta{display:flex;gap:16px;font-size:.9em;color:#999;margin-bottom:12px}.invitation-link{padding-top:12px;border-top:1px solid #e8e8e8}.invitation-link label{display:block;font-weight:600;color:#666;margin-bottom:8px;font-size:.9em}.invitation-link code{display:block;padding:8px 12px;background:#f5f7fa;border-radius:6px;color:#667eea;font-size:.9em;word-break:break-all}@media(max-width:768px){.app-invitation-form{padding:16px}.invitation-header-item{flex-direction:column;align-items:flex-start;gap:8px}.invitation-meta{flex-direction:column;gap:8px}}.enhancement-manager{padding:24px;background:#f9fafb;border-radius:12px}.enhancement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.enhancement-header h2{margin:0;color:#333;font-size:1.8em}.save-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background .2s}.save-button:hover:not(:disabled){background:#5568d3}.save-button:disabled{background:#ccc;cursor:not-allowed}.settings-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#333;font-size:1.4em}.add-button{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:.9em;cursor:pointer;transition:background .2s}.add-button:hover{background:#218838}.feature-flags-list{display:flex;flex-direction:column;gap:12px}.feature-flag-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:2px solid #e8e8e8;border-radius:8px;transition:all .2s}.feature-flag-item:hover{border-color:#667eea}.flag-info{flex:1}.flag-name{font-weight:600;color:#333;font-size:1.1em}.flag-controls{display:flex;align-items:center;gap:16px}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch.large{width:60px;height:30px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch.large .toggle-slider:before{height:22px;width:22px;left:4px;bottom:4px}.toggle-switch input:checked+.toggle-slider{background-color:#667eea}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-switch.large input:checked+.toggle-slider:before{transform:translate(30px)}.remove-button{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:.9em;cursor:pointer;transition:background .2s}.remove-button:hover{background:#c0392b}.announcement-form{padding:20px;background:#f5f7fa;border-radius:8px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;color:#666;margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:10px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:1em;font-family:inherit;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#667eea}.form-textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:12px}.submit-button,.cancel-button{padding:10px 20px;border:none;border-radius:8px;font-size:1em;cursor:pointer;transition:all .2s}.submit-button{background:#667eea;color:#fff}.submit-button:hover{background:#5568d3}.cancel-button{background:#e8e8e8;color:#333}.cancel-button:hover{background:#d0d0d0}.announcements-list{display:flex;flex-direction:column;gap:16px}.announcement-item{padding:20px;border:2px solid #e8e8e8;border-radius:8px;transition:all .2s}.announcement-info{border-left:4px solid #2196f3}.announcement-warning{border-left:4px solid #ff9800}.announcement-success{border-left:4px solid #4caf50}.announcement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.announcement-header h4{margin:0;color:#333}.announcement-controls{display:flex;align-items:center;gap:12px}.announcement-message{color:#666;line-height:1.6;margin:0 0 12px}.announcement-meta{display:flex;gap:16px;font-size:.9em;color:#999}.maintenance-control{display:flex;align-items:center;gap:20px}.maintenance-info{flex:1}.maintenance-info label{display:block;font-weight:600;color:#333;margin-bottom:8px}.info-text{color:#666;font-size:.9em;margin:0}@media(max-width:768px){.enhancement-manager{padding:16px}.enhancement-header{flex-direction:column;align-items:flex-start;gap:16px}.feature-flag-item,.announcement-header{flex-direction:column;align-items:flex-start;gap:12px}}.system-health{padding:24px;background:#f9fafb;border-radius:12px}.health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.health-header h2{margin:0;color:#333;font-size:1.8em}.refresh-button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.refresh-button:hover{background:#5568d3}.health-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:32px}.health-stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:16px}.health-stat-icon{font-size:2.5em}.health-stat-content{flex:1}.health-stat-value{font-size:2em;font-weight:700;color:#333;line-height:1.2}.health-stat-label{font-size:.9em;color:#666;margin-top:4px}.health-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.health-section h3{margin:0 0 16px;color:#333;font-size:1.4em}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.collection-card{padding:16px;background:#f5f7fa;border-radius:8px;border-left:4px solid #667eea}.collection-name{font-size:.9em;color:#666;margin-bottom:8px;text-transform:capitalize;word-break:break-word}.collection-count{font-size:1.5em;font-weight:700;color:#333}.system-health-error{padding:24px;text-align:center;color:#e74c3c}@media(max-width:768px){.system-health{padding:16px}.collections-grid{grid-template-columns:1fr}}.audit-log{padding:24px;background:#f9fafb;border-radius:12px}.audit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.audit-header h2{margin:0;color:#333;font-size:1.8em}.audit-filters{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:.9em;color:#666;font-weight:500}.filter-group select,.filter-group input{padding:8px 12px;border:2px solid #e8e8e8;border-radius:8px;font-size:.9em;transition:border-color .2s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#667eea}.filter-actions{display:flex;gap:8px}.btn-apply{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.btn-apply:hover{background:#5568d3}.btn-clear{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.btn-clear:hover{background:#7f8c8d}.audit-logs-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.audit-logs-table table{width:100%;border-collapse:collapse}.audit-logs-table th,.audit-logs-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8e8}.audit-logs-table th{background:#f5f7fa;font-weight:600;color:#333;position:sticky;top:0}.audit-logs-table tr:hover{background:#f9fafb}.user-info{display:flex;flex-direction:column;gap:4px}.user-email{font-weight:500;color:#333}.user-id{font-size:.85em;color:#999}.action-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:500;text-transform:capitalize}.action-delete_household,.action-delete_user,.action-bulk_delete{background:#fee;color:#c33}.action-update_user,.action-update_feedback,.action-bulk_update,.action-update_settings{background:#eef;color:#339}.action-create_invitation{background:#efe;color:#393}.resource-info{display:flex;flex-direction:column;gap:4px}.resource-type{font-weight:500;color:#333;text-transform:capitalize}.resource-id{font-size:.85em;color:#999;font-family:monospace}.details-cell{max-width:300px}.details-cell details{cursor:pointer}.details-cell summary{color:#667eea;font-size:.9em;cursor:pointer}.details-cell pre{margin-top:8px;padding:8px;background:#f5f7fa;border-radius:4px;font-size:.85em;overflow-x:auto;max-height:200px;overflow-y:auto}.no-details{color:#999;font-style:italic;font-size:.9em}.empty-state{padding:48px;text-align:center;color:#666}@media(max-width:768px){.audit-log{padding:16px}.audit-filters{grid-template-columns:1fr}.audit-logs-table{font-size:.9em}}.data-cleanup{padding:24px;background:#f9fafb;border-radius:12px}.cleanup-header{margin-bottom:32px}.cleanup-header h2{margin:0 0 8px;color:#333;font-size:1.8em}.cleanup-subtitle{margin:0;color:#666;font-size:1em}.cleanup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:32px}.cleanup-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.cleanup-card-header{padding:20px;background:#f5f7fa;border-bottom:2px solid #e8e8e8}.cleanup-card-header h3{margin:0;color:#333;font-size:1.2em}.cleanup-card-content{padding:20px}.cleanup-card-content p{margin:0 0 16px;color:#666;font-size:.95em;line-height:1.5}.cleanup-button{width:100%;padding:12px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:500;transition:background .2s}.cleanup-button:hover:not(:disabled){background:#5568d3}.cleanup-button:disabled{background:#ccc;cursor:not-allowed}.cleanup-button.danger{background:#e74c3c}.cleanup-button.danger:hover:not(:disabled){background:#c0392b}.cleanup-results{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.cleanup-results h3{margin:0 0 20px;color:#333;font-size:1.4em}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f5f7fa;border-radius:8px}.result-label{color:#666;font-weight:500}.result-value{font-size:1.5em;font-weight:700;color:#333}@media(max-width:768px){.data-cleanup{padding:16px}.cleanup-actions,.results-grid{grid-template-columns:1fr}}.quick-actions-dashboard{padding:24px;background:#f9fafb;border-radius:12px}.quick-actions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.quick-actions-header h2{margin:0;color:#333;font-size:1.8em}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.insight-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px}.insight-card.alert{border-left:4px solid #f59e0b;background:#fffbeb}.insight-icon{font-size:2.5em;flex-shrink:0}.insight-content{flex:1}.insight-content h3{margin:0 0 12px;color:#333;font-size:1.2em}.insight-content p{margin:0 0 12px;color:#666;font-size:.95em}.insight-subtitle{font-size:.85em!important;color:#999!important;margin-bottom:16px!important}.insight-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.insight-list li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.insight-list li:last-child{border-bottom:none}.rank{font-weight:700;color:#667eea;min-width:30px}.name{flex:1;color:#333;font-weight:500}.value{color:#666;font-size:.9em}.status{padding:4px 8px;border-radius:12px;font-size:.85em;font-weight:500;text-transform:capitalize}.status-new{background:#dbeafe;color:#1e40af}.status-in-progress{background:#fef3c7;color:#92400e}.status-implemented{background:#d1fae5;color:#065f46}.action-link{display:inline-block;margin-top:12px;color:#667eea;text-decoration:none;font-weight:500;font-size:.9em;transition:color .2s}.action-link:hover{color:#5568d3;text-decoration:underline}.insight-more{margin-top:12px;color:#999;font-size:.9em;font-style:italic}.quick-actions-error{padding:24px;text-align:center;color:#e74c3c}@media(max-width:768px){.quick-actions-dashboard{padding:16px}.insights-grid{grid-template-columns:1fr}}.super-admin-console{padding:24px;max-width:1400px;margin:0 auto}.super-admin-header{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e8e8e8}.super-admin-header h1{font-size:2.5em;color:#333;margin:0 0 8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.super-admin-subtitle{color:#666;font-size:1.1em;margin:0}.super-admin-tabs{display:flex;gap:8px;margin-bottom:32px;border-bottom:2px solid #e8e8e8;flex-wrap:wrap}.super-admin-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1em;color:#666;transition:all .2s ease;font-weight:500}.super-admin-tab:hover{color:#667eea;background:#f5f7fa}.super-admin-tab.active{color:#667eea;border-bottom-color:#667eea;background:#f5f7fa}.tab-icon{font-size:1.2em}.tab-label{font-size:.95em}.super-admin-content{min-height:400px}@media(max-width:768px){.super-admin-console{padding:16px}.super-admin-header h1{font-size:2em}.super-admin-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.super-admin-tab{padding:10px 16px;white-space:nowrap}.tab-label{font-size:.9em}}.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;transition:transform .2s ease;outline:none;border:none;background:none;box-shadow:none}.logo-icon{font-size:1.5rem;display:inline-block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.logo-text{font-size:1.25rem;font-weight:700;color:#1f2937;letter-spacing:-.5px}.dashboard-header-compact{background:#fff;padding:16px 24px;margin-bottom:0;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 2px 8px #00000014;position:relative;overflow:visible;z-index:200;border-bottom:1px solid #E5E7EB;width:100%;max-width:100vw;box-sizing:border-box}.dashboard-header-compact:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header-compact .logo-text,.dashboard-header-compact .user-profile-name{color:#1f2937!important}.dashboard-header-compact .user-menu-email{color:#ffffffd9!important;-webkit-text-fill-color:rgba(255,255,255,.85)!important;background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important}.header-left,.header-center,.header-right-combined{position:relative;z-index:1;display:flex;align-items:center}.header-left{flex-shrink:0}.header-center{flex:1;display:flex;justify-content:center;align-items:center}.header-right-combined{flex-shrink:0;gap:12px}.new-task-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.new-task-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.new-task-button:active{transform:translateY(0)}.new-task-icon{font-size:1.25rem;font-weight:700;line-height:1}.new-task-text{font-weight:600}.welcome-text-header{display:flex;align-items:center;color:#fff;font-size:.95rem;font-weight:500}.welcome-message{color:#fff}.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;transition:transform .2s ease;outline:none;border:none;background:none}.logo-link:hover{transform:scale(1.05)}.logo-link:focus{outline:none;box-shadow:none}.logo-link:focus-visible{outline:none!important;box-shadow:none!important}.logo-link,.logo-link:link,.logo-link:visited,.logo-link:hover,.logo-link:active,.logo-link:focus,.logo-link:focus-visible,.logo-container,.logo-container *{outline:none!important;border:none!important;background:none!important;box-shadow:none!important;text-decoration:none!important}.logo-icon{font-size:1.8em;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));background:none!important;border:none!important}.logo-link .logo-container,.dashboard-header-compact .logo-container{background:none!important;border:none!important;outline:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.logo-text{font-size:1.4rem;font-weight:800;color:#1f2937!important;letter-spacing:-.02em;white-space:nowrap;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#1F2937!important;background-clip:unset!important}.household-info-combined{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.household-name{margin:0;font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.header-separator{color:#fff9;font-size:1.2rem;font-weight:300;margin:0 4px}.welcome-text-combined{display:flex;align-items:center;gap:6px}.welcome-icon{font-size:1.3em;line-height:1}.welcome-message{color:#fff;font-size:1rem;font-weight:500;white-space:nowrap}.header-points-display{display:flex;align-items:center;gap:6px;background:#fef3c7;padding:6px 12px;border-radius:20px;transition:all .2s ease}.header-points-display:hover{background:#fde68a}.points-icon{font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.points-value{color:#1f2937;font-size:1rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.notification-button{position:relative;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.2em;text-decoration:none;transition:all .2s ease;cursor:pointer;flex-shrink:0}.notification-button:hover{background:#e5e7eb;transform:scale(1.05)}.user-profile-header{position:relative;z-index:1002}.user-profile-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:8px;transition:transform .2s ease,opacity .2s ease}.user-profile-button:hover{transform:scale(1.02);opacity:.9}.user-profile-content{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f3f4f6;border-radius:20px;border:1px solid #E5E7EB;transition:all .2s ease}.user-profile-button:hover .user-profile-content{background:#e5e7eb}.user-profile-name{font-weight:600;font-size:.9rem;color:#1f2937!important;white-space:nowrap}.user-profile-picture{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #E5E7EB}.user-profile-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;border:2px solid rgba(255,255,255,.3)}.user-menu-container{position:relative;z-index:10002}.user-menu-button{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s ease,opacity .2s ease}.user-menu-button:hover{transform:scale(1.02);opacity:.9}.user-menu-content{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff26;border-radius:20px;border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.user-menu-button:hover .user-menu-content{background:#ffffff40;border-color:#ffffff4d}.user-menu-info{display:flex;flex-direction:column}.user-menu-name{font-weight:600;font-size:.85rem;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;line-height:1.2}.user-menu-email{font-size:.7rem;color:#ffffffd9!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;line-height:1.2}.user-menu-arrow{font-size:.6rem;color:#ffffffe6;transition:transform .2s ease;margin-left:4px}.user-menu-arrow.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:220px;padding:8px 0;z-index:10003;animation:slideDown .2s ease;border:1px solid #e8e8e8}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 20px;text-decoration:none;color:#333;transition:background-color .2s ease;border:none;background:none;width:100%;text-align:left;cursor:pointer;font-size:.95em}.menu-item:hover{background-color:#667eea1a}.menu-item-icon{font-size:1.2em;width:24px;text-align:center}.menu-item-text{flex:1;font-weight:500}.menu-item-badge{background:#f44;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75em;font-weight:600;min-width:20px;text-align:center}.menu-divider{height:1px;background:#e8e8e8;margin:8px 0}.menu-item-logout{color:#f44}.menu-item-logout:hover{background-color:#ff44441a}.notification-badge-compact{position:absolute;top:-4px;right:-4px;background:#f44336;color:#fff;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:700;min-width:18px;text-align:center;border:2px solid white;box-shadow:0 2px 4px #0003}@media(max-width:768px){.dashboard-header-compact{padding:12px 16px;gap:12px;flex-wrap:wrap}.header-left{order:1}.header-center-combined{order:3;width:100%;justify-content:flex-start;margin-top:8px}.header-right-combined{order:2;gap:8px}.logo-icon{font-size:1.5em}.logo-text{font-size:1.2rem}.household-info-combined{gap:6px;flex-wrap:wrap}.household-name{font-size:1.1rem}.header-separator{font-size:.9rem;margin:0 2px}.welcome-icon{font-size:1.1em}.welcome-message{font-size:.85rem}.notification-button{width:36px;height:36px;font-size:1.1em}.user-menu-content{padding:5px 10px;gap:6px}.user-menu-name{font-size:.8rem;max-width:100px}.user-menu-email{font-size:.65rem;max-width:100px}.user-menu-arrow{font-size:.55rem}.user-menu-dropdown{min-width:200px;right:0}@media(max-width:480px){.household-info-combined{flex-direction:column;gap:4px;align-items:flex-start}.header-separator{display:none}.household-name{font-size:1rem}.welcome-message{font-size:.8rem}.user-menu-info{display:none}.user-menu-content{padding:6px 10px;min-width:auto}}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:#fff;border-top:1px solid #E5E7EB;padding:8px 12px;z-index:1000;box-shadow:0 -2px 8px #00000014;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-base);position:relative;min-width:60px;border-radius:var(--radius-md);flex:1;max-width:100px}.mobile-nav-item:active{transform:scale(.95);background:var(--color-background-dark)}.mobile-nav-item.active{color:var(--color-primary)}.mobile-nav-item.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-icon{font-size:1.5rem;line-height:1;transition:transform var(--transition-base)}.mobile-nav-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1}.mobile-nav-badge{position:absolute;top:0;right:8px;background:var(--color-error);color:#fff;border-radius:var(--radius-full);padding:2px 6px;font-size:10px;font-weight:var(--font-weight-bold);min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-background-light);box-shadow:0 2px 4px #0003}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-nav{padding-bottom:calc(var(--spacing-xs) + env(safe-area-inset-bottom))}}main#main-content{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;min-height:calc(100vh - 120px);padding-top:0;padding-bottom:0}main#main-content>*{max-width:100%;box-sizing:border-box}html{overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;box-sizing:border-box}body{overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}img,video,iframe,object,embed{max-width:100%;height:auto}:root{--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #DBEAFE;--color-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-blue: #3B82F6;--color-green: #10B981;--color-orange: #F97316;--color-red: #EF4444;--color-success: #10B981;--color-success-dark: #059669;--color-error: #EF4444;--color-error-dark: #DC2626;--color-warning: #F97316;--color-warning-dark: #EA580C;--color-info: #3B82F6;--color-info-dark: #2563EB;--color-text-primary: #1F2937;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--color-text-inverse: #ffffff;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-border-dark: #D1D5DB;--color-background: #F7FAFC;--color-background-light: #FFFFFF;--color-background-dark: #EDF2F7;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 10px 20px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 9999}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}h1,.h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}h2,.h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}h3,.h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}h4,.h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}h5,.h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}h6,.h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}p,.body-text{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-inverse{color:var(--color-text-inverse)}@media(max-width:768px){h1,.h1{font-size:var(--font-size-3xl)}h2,.h2{font-size:var(--font-size-2xl)}h3,.h3{font-size:var(--font-size-xl)}h4,.h4{font-size:var(--font-size-lg)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:200px}.loading-message{margin-top:var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center}.spinner-large{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-medium{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-overlay .loading-message{margin-top:var(--spacing-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.loading-inline{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.loading-state{padding:var(--spacing-xl);min-height:150px}.spinner-large{width:40px;height:40px}.spinner-medium{width:28px;height:28px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-base) ease-in}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:slideDown .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn .2s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce .6s ease-in-out}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #667eea4d}.focus-ring{transition:box-shadow var(--transition-base)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}@keyframes loadingPulse{0%,to{opacity:.4}50%{opacity:1}}.loading-pulse{animation:loadingPulse 1.5s ease-in-out infinite}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.checkmark-animation{animation:checkmark .4s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px;animation:ripple .6s ease-out}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-primary);color:#fff;padding:var(--spacing-md);text-decoration:none;z-index:10000;border-radius:0 0 var(--radius-md) 0;opacity:0;pointer-events:none;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;transition:opacity .2s ease,top .2s ease}.skip-link:focus-visible{top:0;opacity:1;pointer-events:auto;clip:auto;width:auto;height:auto;overflow:visible}.skip-link:focus:not(:focus-visible){top:-100px;opacity:0;pointer-events:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.logo-link,.logo-link:focus,.logo-link:focus-visible,.logo-link:active,.logo-link:hover,.logo-link:visited,.logo-link:link,a.logo-link,a.logo-link:focus,a.logo-link:focus-visible,a.logo-link:active,a.logo-link:hover,a.logo-link:visited,a.logo-link:link,.logo-link *,.logo-link *:focus-visible,.logo-container,.logo-container *{outline:none!important;box-shadow:none!important;border:none!important;background:none!important}*:focus:not(:focus-visible){outline:none}@media(prefers-contrast:high){:root{--color-border: #000000;--color-text-primary: #000000;--color-text-secondary: #333333}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}[role=button]:not([disabled]),[tabindex]:not([tabindex="-1"]){cursor:pointer}[role=button]:not([disabled]):focus,[tabindex]:not([tabindex="-1"]):focus{outline:2px solid var(--color-primary);outline-offset:2px}[aria-live]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[aria-live=polite]{position:static;left:auto;width:auto;height:auto;overflow:visible}[aria-invalid=true]{border-color:var(--color-error)}[aria-invalid=true]:focus{outline-color:var(--color-error)}[aria-busy=true]{cursor:wait}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.6}@media(max-width:768px){body{font-size:16px}button,a,input,select{min-height:48px}}.page-title{font-size:2.5rem;font-weight:800;line-height:1.2;color:#1a202c;letter-spacing:-.02em;margin:0 0 1rem}@media(max-width:768px){.page-title{font-size:2rem}}.section-heading{font-size:1.75rem;font-weight:700;line-height:1.3;color:#2d3748;letter-spacing:-.01em;margin:0 0 .75rem}@media(max-width:768px){.section-heading{font-size:1.5rem}}.task-title{font-size:1.5rem;font-weight:600;line-height:1.4;color:#1a202c;margin:0}@media(max-width:768px){.task-title{font-size:1.25rem}}.card-title{font-size:1.125rem;font-weight:600;line-height:1.4;color:#2d3748;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.description-text{font-size:1rem;font-weight:400;line-height:1.7;color:#4a5568;margin:0 0 1.5rem}.secondary-text{font-size:.875rem;font-weight:500;line-height:1.6;color:#718096}.caption-text{font-size:.75rem;font-weight:400;line-height:1.5;color:#a0aec0}.note-text{font-size:.9375rem;font-weight:400;line-height:1.8;color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.875rem;font-family:inherit}.comment-text{font-size:.875rem;font-weight:400;line-height:1.7;color:#4a5568;margin:0}.text-input{width:100%;padding:.875rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;color:#1a202c;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease;font-family:inherit}.text-input::placeholder{color:#a0aec0;opacity:.7}.text-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.text-input:hover:not(:focus){border-color:#cbd5e0}.textarea{width:100%;min-height:120px;padding:.875rem 1rem;font-size:.9375rem;font-weight:400;line-height:1.8;color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:8px;resize:vertical;font-family:inherit;transition:all .2s ease}.textarea::placeholder{color:#a0aec0;opacity:.7}.textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.textarea:hover:not(:focus){border-color:#cbd5e0}.required-indicator{color:#c62828;margin-left:.25rem;font-weight:600}.error-message{color:#c62828;font-size:.875rem;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1rem}.input-error{border-color:#c62828!important;background-color:#fff5f5}.input-error:focus{border-color:#c62828;box-shadow:0 0 0 3px #c628281a}.input-success{border-color:#2e7d32}.input-success:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.character-counter{font-size:.75rem;color:#718096;text-align:right;margin-top:.5rem;transition:color .2s ease}.character-counter.warning{color:#ed8936;font-weight:500}.character-counter.error{color:#c62828;font-weight:600}.formatted-input-wrapper,.formatted-textarea-wrapper{position:relative}.formatted-input-wrapper .text-input,.formatted-textarea-wrapper .textarea{margin-bottom:0}.helper-text{font-size:.875rem;color:#718096;margin-top:.5rem;line-height:1.5}@media(max-width:768px){.text-input,.textarea{font-size:16px;padding:.9375rem 1rem}.character-counter{font-size:.6875rem}}.text-input:focus-visible,.textarea:focus-visible{outline:2px solid #667eea;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.Toastify__toast-container{z-index:9999}.Toastify__toast{border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.Toastify__toast--success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.Toastify__toast--error{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.Toastify__toast--info{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.Toastify__toast--warning{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.Toastify__progress-bar{background:#ffffff80}.Toastify__close-button{color:#fff;opacity:.8}.Toastify__close-button:hover{opacity:1}.app{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--color-primary-gradient)}.loading-card{background:var(--color-background-light);padding:var(--spacing-2xl);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.spinner-large{width:50px;height:50px;border:4px solid var(--color-background-dark);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}.loading-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
