@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-fadeInDown{animation:fadeInDown .6s ease-out}.animate-fadeInLeft{animation:fadeInLeft .6s ease-out}.animate-fadeInRight{animation:fadeInRight .6s ease-out}.animate-scaleIn{animation:scaleIn .4s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(79,140,255,.4)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}button:not(:disabled){transition:all .2s ease}button:not(:disabled):hover{transform:scale(1.02)}button:not(:disabled):active{transform:scale(.98)}.primaryBtn,button[type=submit]{transition:all .3s ease}.primaryBtn:not(:disabled):hover,button[type=submit]:not(:disabled):hover{transform:scale(1.05);filter:brightness(1.1);box-shadow:0 4px 16px rgba(0,0,0,.2)}.primaryBtn:not(:disabled):active,button[type=submit]:not(:disabled):active{transform:scale(.95)}button[style*="linear-gradient(90deg, #ffb347"]:not(:disabled):hover{box-shadow:0 4px 20px rgba(255,179,71,.4)!important}button[style*="linear-gradient(90deg, #f0a500"]:not(:disabled):hover{box-shadow:0 4px 20px rgba(240,165,0,.4)!important}button[style*="linear-gradient(90deg, #4f8cff"]:not(:disabled):hover, button[style*="linear-gradient(90deg, #6ed0fa"]:not(:disabled):hover{box-shadow:0 4px 20px rgba(79,140,255,.4)!important}@keyframes slideInMatch{0%{opacity:0;transform:translateX(-30px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes highlightWinner{0%{background-color:transparent}50%{background-color:rgba(76,175,80,.2)}to{background-color:transparent}}.match-enter{animation:slideInMatch .5s ease-out}.winner-highlight{animation:highlightWinner 1s ease-in-out}.loading-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.stagger-children>*{animation:fadeInUp .6s ease-out;animation-fill-mode:both}.stagger-children>:first-child{animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.2s}.stagger-children>:nth-child(4){animation-delay:.3s}.stagger-children>:nth-child(5){animation-delay:.4s}.stagger-children>:nth-child(6){animation-delay:.5s}@keyframes pageSlideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.page-enter{animation:pageSlideIn .4s ease-out}.modal-enter{animation:modalSlideUp .3s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-effect{position:absolute;border-radius:50%;background-color:hsla(0,0%,100%,.6);transform:scale(0);animation:ripple .6s linear}.btn-loading{position:relative;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}.btn-success{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important}.btn-error{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important}.glass-card{background:hsla(0,0%,100%,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(31,38,135,.15),0 2px 8px rgba(31,38,135,.1);transition:all .3s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(31,38,135,.2),0 4px 16px rgba(31,38,135,.15)}.glass-card-dark{background:rgba(35,43,54,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2)}.enhanced-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.8);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.enhanced-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(79,140,255,.4),transparent);opacity:0;transition:opacity .3s ease}.enhanced-card:hover:before{opacity:1}.enhanced-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(0,0,0,.12),0 4px 16px rgba(0,0,0,.08),inset 0 1px 0 #fff}.premium-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:32px;color:#fff;box-shadow:0 8px 32px rgba(102,126,234,.3),0 2px 8px rgba(102,126,234,.2);position:relative;overflow:hidden}.premium-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}.premium-card:hover:after{opacity:1}.card-sm{border-radius:8px;padding:12px}.card-md{border-radius:12px;padding:20px}.card-lg{border-radius:16px;padding:24px}.card-xl{border-radius:20px;padding:32px}.spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:24px;height:24px;border-width:3px}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:skeleton 1.5s linear infinite;border-radius:4px}.skeleton-text{height:16px;margin-bottom:8px;border-radius:8px}.skeleton-text:last-child{margin-bottom:0;width:60%}.input-valid{border-color:#10b981!important;box-shadow:0 0 0 3px rgba(16,185,129,.1)!important}.input-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.validation-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;pointer-events:none}.validation-icon.valid{color:#10b981}.validation-icon.invalid{color:#ef4444}.password-strength-meter{height:4px;background:#e5e7eb;border-radius:2px;margin-top:8px;overflow:hidden}.password-strength-bar{height:100%;transition:all .3s ease;border-radius:2px}.strength-weak{background:linear-gradient(90deg,#ef4444,#f87171);width:25%}.strength-fair{background:linear-gradient(90deg,#f59e0b,#fbbf24);width:50%}.strength-good{background:linear-gradient(90deg,#3b82f6,#60a5fa);width:75%}.strength-strong{background:linear-gradient(90deg,#10b981,#34d399);width:100%}@keyframes checkmark{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}.checkmark-circle{stroke-dasharray:50px;stroke-dashoffset:0;animation:checkmark .6s ease-in-out}.success-bounce{animation:bounce .6s ease-out}.success-scale{animation:scaleIn .4s ease-out}.form-step{opacity:.5;transition:opacity .3s ease}.form-step.active{opacity:1}.form-step.completed{opacity:.8}@keyframes wiggle{0%,7%{transform:rotate(0)}15%{transform:rotate(-15deg)}20%{transform:rotate(10deg)}25%{transform:rotate(-10deg)}30%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}40%,to{transform:rotate(0)}}.error-wiggle{animation:wiggle .6s ease-in-out}.progress-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#f0a500,#ff9800);border-radius:2px;transition:width .3s ease}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.toast-enter{animation:slideInRight .3s ease-out}.toast-exit{animation:slideOutRight .3s ease-in}@media (max-width:768px){.enhanced-card{margin:8px;padding:20px!important;border-radius:16px!important;min-width:auto!important;max-width:100%!important;width:calc(100% - 16px)!important}.glass-card,.glass-card-dark{margin:8px;padding:16px;border-radius:12px}input[type=email],input[type=password],input[type=text],textarea{font-size:16px!important;padding:14px 16px!important;min-height:48px;border-radius:12px!important}button{min-height:48px!important;font-size:16px!important;padding:12px 20px!important;border-radius:12px!important}h1{font-size:1.5rem!important}h2{font-size:1.3rem!important}.container{padding:16px!important}*{animation-duration:.2s!important;transition-duration:.2s!important}.hover-glow:hover,.hover-lift:hover,.hover-scale:hover{transform:none!important}}@media (max-width:480px){.enhanced-card{margin:4px;padding:16px!important;border-radius:12px!important}input[type=email],input[type=password],input[type=text],textarea{padding:12px 14px!important}button{padding:10px 16px!important}}@media (min-width:769px) and (max-width:1024px){.enhanced-card{max-width:500px;margin:20px auto}}@media (max-width:768px){.mobile-slide-up{animation:mobileSlideUp .3s ease-out}@keyframes mobileSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-sidebar-enter{animation:mobileSidebarSlide .3s ease-out}@keyframes mobileSidebarSlide{0%{transform:translateX(-100%)}to{transform:translateX(0)}}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px) and (prefers-color-scheme:dark){.enhanced-card{background:rgba(35,43,54,.95)!important;border-color:hsla(0,0%,100%,.1)!important}}:root{--color-primary:#4f8cff;--color-primary-light:#6ed0fa;--color-primary-hover:#2563eb;--color-accent:#ffd580;--color-background:#f8f9fb;--color-surface:#fff;--color-surface-hover:#f9fafb;--color-text-primary:#1a1f2e;--color-text-secondary:#6b7280;--color-text-muted:#888;--color-text-light:#aaa;--color-border:#e5e7eb;--color-border-light:rgba(240,165,0,.2);--color-border-hover:#9ca3af;--color-orange:#f0a500;--color-orange-hover:#e6941a;--color-orange-dark:#d9831f;--color-success:#10b981;--color-success-hover:#059669;--color-warning:#f59e0b;--color-warning-light:#ff9800;--color-error:#ef4444;--color-error-light:#e74c3c;--color-info:#3b82f6;--color-bg-error:#fef2f2;--color-bg-error-border:#fecaca;--color-bg-success:#f0fdf4;--color-bg-warning:#fef3c7;--color-bg-info:#f0f9ff;--color-bg-primary:#dbeafe;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-family-primary:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.75rem;--font-size-4xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 4px rgba(35,43,54,.08);--shadow-md:0 2px 8px rgba(35,43,54,.08);--shadow-lg:0 4px 16px rgba(79,140,255,.2);--shadow-xl:0 4px 20px rgba(0,0,0,.1);--container-max-width:1200px;--content-max-width:1200px;--touch-target-min:44px;--touch-target-comfortable:48px;--mobile-safe-area-top:env(safe-area-inset-top,0px);--mobile-safe-area-bottom:env(safe-area-inset-bottom,0px);--mobile-safe-area-left:env(safe-area-inset-left,0px);--mobile-safe-area-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:100%;height:100%;overflow-y:auto;overscroll-behavior-y:none;-webkit-overscroll-behavior-y:none}body,html{overflow-x:hidden}body{margin:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:visible;line-height:1.6;min-height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:var(--mobile-safe-area-top) var(--mobile-safe-area-right) var(--mobile-safe-area-bottom) var(--mobile-safe-area-left)}[contenteditable],div,h1,h2,h3,h4,h5,h6,input,p,span,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}#__next{min-height:100%}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--spacing-md) 0;line-height:1.6;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}nav a{text-decoration:none}.container{padding:var(--spacing-xl);max-width:var(--container-max-width);margin:0 auto;box-sizing:border-box}.content{max-width:var(--content-max-width);margin:0 auto}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-md) 0;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.table tbody,.table thead,.table tr{display:table;table-layout:fixed;width:100%}.table td,.table th{border-bottom:1px solid var(--color-border);padding:var(--spacing-sm);text-align:left;min-width:90px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table th{background:var(--color-background);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:rgba(79,140,255,.04)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;min-height:var(--touch-target-comfortable);touch-action:manipulation;transition:all .2s ease;text-decoration:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.btn:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn:hover{background:var(--color-background);color:var(--color-primary)}.btn-primary,.btn:hover{border-color:var(--color-primary)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#3b7df8;border-color:#3b7df8;color:#fff}.btn-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-primary)}.btn-accent:hover{background:#ffca4a;border-color:#ffca4a}.input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);width:100%;max-width:340px;min-height:var(--touch-target-comfortable);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(79,140,255,.1)}.input::placeholder{color:var(--color-text-secondary)}.row{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.col{flex:1 1;min-width:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.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-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}@media (max-width:1024px){.container{padding:var(--spacing-lg)}}@media (max-width:768px){:root{--font-size-4xl:2rem;--font-size-3xl:1.6rem;--font-size-2xl:1.3rem}.container{padding:var(--spacing-md)}.card{margin:var(--spacing-sm) 0;padding:var(--spacing-lg);border-radius:var(--radius-lg)}.table{font-size:var(--font-size-sm);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table tbody,.table thead,.table tr{display:table;table-layout:fixed;width:100%;min-width:600px}.table td,.table th{padding:var(--spacing-sm) var(--spacing-xs);min-width:70px;font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.btn{padding:var(--spacing-md) var(--spacing-lg);width:100%}.btn,.input{font-size:var(--font-size-base);min-height:var(--touch-target-comfortable);max-width:none}.input{padding:var(--spacing-md)}}@media (max-width:640px){.card,.container{padding:var(--spacing-md)}.card{margin:var(--spacing-xs) 0;border-radius:var(--radius-md)}.table,.table td,.table th{font-size:var(--font-size-xs)}.table td,.table th{padding:var(--spacing-xs);min-width:70px}.btn{padding:var(--spacing-md);font-size:var(--font-size-sm);min-height:var(--touch-target-min)}}@media (max-width:480px){.container{padding:var(--spacing-sm)}.card{padding:var(--spacing-md);margin:var(--spacing-xs) 0;border-radius:var(--radius-md)}.table{font-size:var(--font-size-xs)}.table tbody,.table thead,.table tr{min-width:500px}.table td,.table th{padding:var(--spacing-xs) 2px;min-width:50px;font-size:var(--font-size-xs)}.btn{font-size:var(--font-size-sm)}.btn,.input{padding:var(--spacing-sm) var(--spacing-md);min-height:var(--touch-target-min)}}@media (hover:none) and (pointer:coarse){.btn:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.btn-primary:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn:active{background:var(--color-background);transform:scale(.98)}.card:active{transform:scale(.99)}.btn{min-height:var(--touch-target-comfortable);padding:var(--spacing-md) var(--spacing-lg)}}.mobile-only{display:none}.desktop-only{display:block}.mobile-scroll-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.mobile-scroll-container::-webkit-scrollbar{height:8px}.mobile-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.mobile-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.mobile-scroll-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.tap-area{min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}@media (max-width:768px){.mobile-only{display:block}.desktop-only{display:none}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(30,34,44,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-content{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);min-width:420px;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;transition:color .15s;width:var(--touch-target-min);height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--color-error)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-xl);gap:var(--spacing-xl)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-input,.form-label{color:var(--color-text-primary)}.form-input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-family-primary);font-size:var(--font-size-base);width:100%;min-height:var(--touch-target-min);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(79,140,255,.1)}.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .2s ease}.form-select:focus{outline:none;border-color:var(--color-primary)}.squad-day{margin-bottom:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.squad-day-label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-sm)}.squad-time-row{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.btn-remove,.squad-time-row{display:flex;align-items:center}.btn-remove{color:var(--color-error);background:none;border:none;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);cursor:pointer;padding:0;transition:color .15s;width:var(--touch-target-min);height:var(--touch-target-min);justify-content:center}.btn-remove:hover{color:#c0392b}.btn-add-time{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm)}.page-main{min-height:100vh;background:var(--color-background);font-family:var(--font-family-primary)}.page-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) 0}.page-content{padding:var(--spacing-xl) 0}.error-message{color:var(--color-error);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);background:rgba(239,68,68,.1);border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2)}.action-group{margin-top:var(--spacing-xl);display:flex;gap:var(--spacing-md);justify-content:flex-end}@media (max-width:768px){.modal-content{min-width:auto;width:calc(100vw - var(--spacing-xl));margin:var(--spacing-lg)}.form-grid{grid-template-columns:1fr}}.suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto}.suggestion{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.suggestion:last-child{border-bottom:none}.entry-form,.suggestion-active,.suggestion:hover{background:var(--color-background)}.entry-form{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);justify-content:center;align-items:center;flex-wrap:wrap;border-radius:var(--radius-lg);padding:var(--spacing-lg)}.entry-input{flex:1 1;min-width:120px;max-width:200px}.entry-input-group{position:relative;display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-controls{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);justify-content:space-between}.filter-controls,.filter-group{display:flex;flex-wrap:wrap;align-items:center}.filter-group{gap:var(--spacing-sm)}.filter-toggle{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.players-table-container{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.players-table{width:100%;min-width:1200px;border-collapse:collapse;background:var(--color-surface)}.players-table th{background:var(--color-background);padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.players-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);vertical-align:middle}.players-table tbody tr:hover{background:rgba(79,140,255,.04)}.players-table input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);transition:all .2s ease}.players-table input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(79,140,255,.1)}.players-table select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);cursor:pointer}.players-table select:focus{background:var(--color-surface);border-color:var(--color-primary)}.cell-editing{background:var(--color-surface)!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 2px rgba(79,140,255,.2)!important}.cell-saving{background:rgba(16,185,129,.1)!important}.cell-error{background:rgba(239,68,68,.1)!important;border-color:var(--color-error)!important}.notification{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid}.notification-success{background:rgba(16,185,129,.1);border-color:var(--color-success);color:#065f46}.notification-error{background:rgba(239,68,68,.1);border-color:var(--color-error);color:#991b1b}.notification-warning{background:rgba(245,158,11,.1);border-color:var(--color-warning);color:#92400e}.notification-warning,.offline-indicator{display:flex;align-items:center;gap:var(--spacing-sm)}.pending-count{background:var(--color-warning);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);margin-left:auto}.scores-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--color-surface)}.scores-table{width:100%;min-width:1100px;border-collapse:separate;border-spacing:0 var(--spacing-sm);background:transparent;font-size:var(--font-size-sm)}.scores-table th{background:var(--color-background);padding:var(--spacing-md);text-align:center;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.scores-table th:first-child{border-left:1px solid var(--color-border);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.scores-table th:last-child{border-right:1px solid var(--color-border);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.scores-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:center;background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);vertical-align:middle}.scores-table td:first-child{border-left:1px solid var(--color-border);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);text-align:left;font-weight:var(--font-weight-medium)}.scores-table td:last-child{border-right:1px solid var(--color-border);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.scores-table tbody tr:hover td{background:rgba(79,140,255,.04)}.scores-table input{width:60px;padding:var(--spacing-xs);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:center;font-size:var(--font-size-sm);transition:all .2s ease}.scores-table input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(79,140,255,.2)}.scratch-input{background:rgba(79,140,255,.05)!important}.total-score{background:rgba(79,140,255,.1)!important;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.mobile-scroll-hint{display:none;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:var(--color-background);border:1px dashed var(--color-border);border-radius:var(--radius-md)}@media (max-width:768px){.mobile-scroll-hint{display:block}.scores-table-container{margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.scores-table td,.scores-table th{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-size-xs)}.scores-table input{width:50px;padding:var(--spacing-xs);font-size:var(--font-size-xs)}}.instructions{padding:var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.loading{opacity:.7;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:block}@media (min-width:768px){.mobile-only{display:none}}.mobile-pull-to-refresh{overscroll-behavior-y:contain}.interactive-element{cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.interactive-element:active{transform:scale(.98)}.swipe-indicator{position:relative}.swipe-indicator:before{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:2px;background:linear-gradient(90deg,transparent,#cbd5e1);border-radius:1px;pointer-events:none}@media (max-width:768px){input[type=date],input[type=time],select{font-size:16px;min-height:var(--touch-target-comfortable)}}@media (hover:none) and (pointer:coarse){button:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(79,140,255,.5);outline-offset:2px}}@media (prefers-reduced-motion:no-preference) and (max-width:768px){.mobile-fade-in{animation:mobileSlideUp .3s ease-out}@keyframes mobileSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}button[class*=relative]{border-radius:12px!important;font-weight:600!important;border:none!important;outline:none!important;transition:all .3s ease!important}button[class*=relative]:hover{transform:scale(1.05)!important;box-shadow:0 8px 25px rgba(0,0,0,.15)!important}button[class*=relative]:active{transform:scale(.95)!important}button[class*=relative]:hover[style*="240, 165, 0"]{background:linear-gradient(135deg,#f0a500,#e6941a)!important;border:2px solid #f0a500!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.4)!important;box-shadow:0 8px 25px rgba(240,165,0,.5),0 4px 8px rgba(0,0,0,.3)!important}button[class*=relative]:focus{outline:2px solid rgba(240,165,0,.5)!important;outline-offset:2px!important}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}@keyframes loading-dots{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}